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
8 answers
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.
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/
Mickael’s Answer
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.
Hanish’s Answer
Chen’s Answer
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.
Atul’s Answer
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.
Gilberto’s Answer
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