Skip to main content
8 answers
8
Asked 3255 views

What is a normal day for a software developer?

I want to know a typical day as a software developer. #software #software-engineering #software-development

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

8

8 answers


6
Updated
Share a link to this answer
Share a link to this answer

Jinyoung’s Answer

Of course the makeup of a work day for software engineer varies by team and company. Here's what a day looks like for most engineers in most teams I've seen.


Of about the 8-9 hours you spend working, at the very least 15~60 minutes are spent in a meeting of some sort. A "standup" where your team (usually about 7-9 people) go over all the things that team is working on.


On average, probably 30~45 minutes are spent on adhoc whiteboard design sessions. This is where a few engineers get together to discuss how something should/could be engineered.


On average, probably 1~2 hours are spent on maintenance/support. In the lifecycle of anything built by most team, a large majority (possibly north of 80%) of the "work" is maintenance/support. Let's say you build a tool for the marketing team to do something. There will be bugs or the situation will change and so the software will have to be updated/fixed. Even if you may not have to actually change the code, you'll have to field questions about how things work and what's possible to change, etc.


On average, you'll probably spend 30~60 minutes with emails and other misc, some of this falls into support mentioned above. Some of this is one on one meetings with your manager, all staff meetings, researching new tools or potential vendors.


Hopefully, the majority of the day is spent on solid/continuous/uninterrupted blocks of engineering work. If you have a couple 2~3 hour blocks of this, you and your boss are doing a good job of providing for an environment conducive to engineering work as it requires focus.

Thank you comment icon Yes pretty much this. It will hugely depend on the circumstances, but a mix of writing or editing code to follow plans you've already made, making new plans, and sometimes trying to reproduce a bug, while working with the rest of the team. Eric Willisson
Thank you comment icon Agreed. As you get more senior, but staying as a developer, you'll write a lot more, review others code, talk to business people helping to translate business requirements into something "actionable". Lionel Silberman
Thank you comment icon Agree with Lionel on doing less and less actual code writing as you become more senior. And to elaborate a bit about what Lionel said, "but staying as a developer," engineering management is a different job/profession from being an engineer. Kinda sorta similar to basketball player vs a basketball coach. Jinyoung Kim
6
1
Updated
Share a link to this answer
Share a link to this answer

Bill’s Answer

Good day Earl,


In my position as a software licensing manager, I work with Software Development teams on a regular basis.


A very popular software development method is call Agile. I've found the below page to be quite helpful in understanding the process. I'm sure the nice people who have responded can expand on this. It is a great career and I know software development skills are highly desired by many companies. Good luck. http://agilemethodology.org/

1
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

Software Engineers must identify the core functionality that users need from software programs. software engineers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs. They design the program and then give instructions to programmers, who write computer code and test it. If the program does not work as expected or if testers find it too difficult to use, software engineers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a software engineer may perform upgrades and maintenance.
0
0
Updated
Share a link to this answer
Share a link to this answer

Chen’s Answer

Usually I spend 8 to 9 hours a day on working, from 9:30 to 18:00 during the pandemic, working remotely.

The first thing I would do every morning is going through all unread emails or messages, as some of my teammates are working all over the world, so it is essential to get updates from them.

Then I would spend most of time to do some creative work, like feature design or brainstorm with others, before lunch.

After the break, and if there is no more meetings I need to attend, I would focus on the technical work, including code review, debugging or lots of coding tasks.

Besides, I will take part in various meetings during the working period, sometimes weekly routine stand-up meeting or other design review/technology sharing meetings.

So far I'm experiencing a well work-life balance, and my project is processed smoothly. Have a strict plan and know how to manage your time is a good habit for a software engineer.
0
0
Updated
Share a link to this answer
Share a link to this answer

Gilberto’s Answer

This will be dependant on your experience and the level where are you at the moment.
But, basically, it can be narrow down to the following
1) Functional requirements like Design, QA, Testing.
2) Coding
3) Unit testing
4) Code Reviews
5) Software Debug
6) Software Documentation
7) Bug analysis and fixes
0
0
Updated
Share a link to this answer
Share a link to this answer

Neha’s Answer

The responsibilities varies with experience and interest . For starter if you are a junior application developer and you are working in an agile model you will be responsible for working on certain feature which will be around 70 % of your day and the rest will go in Standup , sprint planning and future discussions. However when you grow the responsibilities grow which changes the amount of time you spend in coding and feature discussions and meeting,
0
0
Updated
Share a link to this answer
Share a link to this answer

Atul’s Answer

Depending upon number of years of experience you will do one or all of the following:
1) Do programming (do coding) in Java, C, Python or any other language.
2) Unit test and integrate your code with others.
3) Assists the QA team to ensure everything is working flawlessly.
4) Write Functional Requirements, Design Specifications and/or QA/Testing plan for the software that is being developed.
5) Debug software either yours or someone’s module to resolve the issue quickly.
6) Help customer support team to resolve issues that is raised by the user.
0
0
Updated
Share a link to this answer
Share a link to this answer

Mickael’s Answer

First, you come a make sure there is not something special required from you. So, you usually start your day checking e-mails from your manager. Then check the results from the continuous testing framework if there is such a thing. In general errors need to be triaged so that they are either discarded as a wrong failure or fixed as a software defect.
Once you've done this, you go to your activities which highly depends on your seniority and your company. More experienced people tend to be included in architectural meetings and review, mentoring and analyzing but less coding. Younger are mostly going to be coding a lot, on features (new behavior) or defects that need to be fixed.
Then there are the support calls from other colleagues that you need your expertise. And there are the meetings with management to make the point on the progress of your work.
And then, .... well depends on the company. I've been working with various companies, various countries and all were different.
0