# A day in the life of a Software Developer

By Madhab Dhakal. Published 2021-06-12, updated 2021-06-12.

Source: https://madhabdhakal.com.np/a-day-in-the-life-of-a-software-developer/

> What a typical day looks like for a software developer, from morning stand-ups and two-week sprints to code reviews, design documents and deployments.

## In short

- Agile teams usually work in two-week sprints, with a short stand-up meeting each morning.
- Most of the day is coding and problem-solving, with changes reviewed through pull requests.
- New projects often begin with a short design document that explains the problem and the recommended approach.
- The day normally ends after about eight hours, though crunch periods can run longer.

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](https://www.atlassian.com/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](https://madhabdhakal.com.np/about/) 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.