Madhab Dhakal

Senior Software Engineer

ColdFusion Technical Architect

IT Trainer

GDG Perth Organizer

Digital Consultant

Madhab Dhakal

Senior Software Engineer

ColdFusion Technical Architect

IT Trainer

GDG Perth Organizer

Digital Consultant

Blog Post

A day in the life of a Software Developer

June 12, 2021 Experience
A day in the life of a Software Developer

Every profession has a sense of discovery about it. As we pass by the throngs of commuters in the morning, we wonder, “What do those people do all day?” Is the money they make worth it? What happens at their workplace?

As a relatively new field, software development is cloaked in more secrecy than many other fields. So we went behind the scenes to see what a regular day for a software developer looks like.

Before we begin, two disclaimers should be made: Obviously, the job changes from day to day. Furthermore, each organisation has its own culture and quirks. We’ll begin by providing some context for project work.

Sprints and the Mornings

If you’re working as part of an Agile development team, you’ll be part of a group of at least five people and possibly as many as ten. (Among other disciplines, Agile development comprises Extreme Programming [XP], Scrum, Crystal, Dynamic Systems Development Method [DSDM], Lean Development, and Feature-Driven Development [FDD].)

In general, you’ll work in “sprints”: The notion is that rather of working on a major project all at once, it is divided into two-week sprints. Everyone on the development team would take on a task that was appropriate for them (either chosen by the developer or assigned by their manager/supervisor).

Then, every morning, a shorter session is held to assess progress. These would normally consist of 10-15 minute stand-up meetings in which everyone states what they’ve accomplished, what they’re struggling or blocked with (if anything), and what they’re going to do that day.

Daily Routine

So here’s how your day might go:

9 am: Come in, check your emails, prepare short, medium, and long-term to-do lists, and schedule meetings.

10 am: Set up a stand-up meeting to schedule the day and organise teamwork (if any)

Then there’s project work: Perform coding, problem-solving, and development tasks. You will seek advice at various points (or give advice). Depending on the situation, you could talk or send a message via Slack or IRC (a form of chat popular among software devs). If members of your team are available, you may go to a whiteboard or sit together to diagram and hash out a solution. (You might then go back to struggling!) 

Depending on the organization, you’d normally create a “change request” or “pull request” summarising proposed modifications, which someone else would review. They may have their own ideas or solutions. This would most likely get you to lunch. Meetings and longer-term initiatives are frequently held in the afternoon.

Afternoon and Project Launches

When starting a new project, you are given a list of requirements, after which you must prepare a design document. Typically, this is a 2-3 page document detailing the problem and recommended remedy. 

Typically, you would explain your approach to the problem and explore other possibilities you examined and why you rejected them. You would present it to your boss and the rest of the team. For these larger challenges or projects, you’d gain approval before you begin, and you’d know you’re adopting an approved approach and that people are on board with your ideas/plans.

Depending on the organization, you would normally (alone or with a coworker) deploy the project to production after changing your features. Even if you’ve thoroughly tested everything, make sure it works on your own work computer at this point: You may uncover issues after deployment, and you will need to solve bugs based on feedback from colleagues and users/customers.

End of Day

Your employer determines when and how your working day ends: It is normally after the typical 8-hour workday, although during “crunch time” for projects, you may be expected to stay until a specific task is completed.

Consider a software developer’s everyday activity to involve problem-solving: The challenges to be addressed are minor and cumulative, culminating in the development of a feasible (and satisfying) solution when the project is completed and the team has collaborated.

Write a comment