6 answers
Asked
1336 views
What is the normal day as a software developer like?
Im 12 and was thinking about my future job in class as a project. My main one was to become a software bc its interesting and i already started coding
Login to comment
6 answers
Updated
Randy’s Answer
Yes! Software development is super fun, Ryan.
I've been working in software for 8 years now, and this is what my schedule looks like these days:
- Wake up and check GitHub and Slack. (GitHub is where our team keeps our code projects, and Slack is where we communicate and chat)
- Write code for about 30-40% of my day. This involves writing new features, fixing bugs, tracking any issues in our code, and admin tasks around managing our code base.
- Walk my dog and have breakfast with the family (I work from home and our kids homeschool)
- Join meetings with designers or product managers, where we discuss, strategize, and execute on how to improve our product
- I chat with my team (we have teammates in the US and Europe)... we laugh, tell stories, help each other, and continuously build our relationships
- I normally finish the day review my teammates' code or I spend some time doing personal learning
- In between there, I definitely enjoy my fair share of snacks and I always take breaks to have lunch
All in all, while coding new features or solving bugs can be complicated, I wouldn't trade it for the world. When I need to, I drive into the office to meet with team members face to face, which is also a great option.
I hope this helps give you an idea of what the schedule looks like.
Search on YouTube "day in the life of a software developer"
Read articles on Medium that deal with "daily routine of a software developer"
Keep studying code and have fun while you're at it.
I've been working in software for 8 years now, and this is what my schedule looks like these days:
- Wake up and check GitHub and Slack. (GitHub is where our team keeps our code projects, and Slack is where we communicate and chat)
- Write code for about 30-40% of my day. This involves writing new features, fixing bugs, tracking any issues in our code, and admin tasks around managing our code base.
- Walk my dog and have breakfast with the family (I work from home and our kids homeschool)
- Join meetings with designers or product managers, where we discuss, strategize, and execute on how to improve our product
- I chat with my team (we have teammates in the US and Europe)... we laugh, tell stories, help each other, and continuously build our relationships
- I normally finish the day review my teammates' code or I spend some time doing personal learning
- In between there, I definitely enjoy my fair share of snacks and I always take breaks to have lunch
All in all, while coding new features or solving bugs can be complicated, I wouldn't trade it for the world. When I need to, I drive into the office to meet with team members face to face, which is also a great option.
I hope this helps give you an idea of what the schedule looks like.
Randy recommends the following next steps:
Updated
Fred’s Answer
I've been in IT for a bit over 20 years, and the main thing I've learned is that there is no such thing as a "normal" day.
Thing happen all the time. A new project comes up. A bug is found. Someone forgets to invite you to a meeting until 5 minutes AFTER the meeting starts. Another dev has a question that leads into a long, interesting discussion.
Randy's answer is very good. A few other things he didn't mention...
1) At least at my company (a large, international company), we have lots of meetings not directly related to any project. Quarterly financial reports (i.e. what we are reporting to the shareholders). Major corporate initiatives. Speaker series. Division and departmental meetings. Education. We have groups devoted to various social causes that hold webinars. Social events for holidays around the world, as we have many immigrant workers who celebrate Diwali, Eid, Cinco De Mayo, Spring Festival, and many, many more. Many of these meetings/events are optional, but not all.
2) When Randy says "writing code", he doesn't mean (at lest, I HOPE he doesn't mean) typing away on a keyboard banging out Java or whatever. Coding is really more about THINKING, and less about TYPING. When I'm coding, I will spend as much as 50% of my time doodling through ideas, looking for holes in the specs, trying something and deleting it, testing it, revising it,...etc. The goal isn't to start typing in code as soon as possible, for as long as possible, but to write simple, neat, and elegant code that is easy for everyone to understand. I'd rather have a developer who on produces a little code a day that I can understand and that works, over someone who produces tons of buggy, incomplete, hard to follow code.
3) While we mostly work from home now, many of us go into the office two days a week. The nice thing about that is that while walking down the halls, I meet people on other teams, working on other projects. I may overhear something interesting, or see something on a screen and I'll stop and chat for a few minutes. Much of the time, I gain a casual office friend. Sometimes, I learn something really cool. Other times, I'm able to make a connection between what they are doing and what I am doing. I've found duplicated efforts, ways to combine unrelated things to make other things even better, or sometimes, just a contact that in 3 months comes in VERY handy.
One of my favorite things about this kind of work is it's never boring. There is always something to learn, some new path to forge, some project that I can dig deeper into than anyone has in years...and if I don't like what I'm doing now, I can always find something new and different.
Thing happen all the time. A new project comes up. A bug is found. Someone forgets to invite you to a meeting until 5 minutes AFTER the meeting starts. Another dev has a question that leads into a long, interesting discussion.
Randy's answer is very good. A few other things he didn't mention...
1) At least at my company (a large, international company), we have lots of meetings not directly related to any project. Quarterly financial reports (i.e. what we are reporting to the shareholders). Major corporate initiatives. Speaker series. Division and departmental meetings. Education. We have groups devoted to various social causes that hold webinars. Social events for holidays around the world, as we have many immigrant workers who celebrate Diwali, Eid, Cinco De Mayo, Spring Festival, and many, many more. Many of these meetings/events are optional, but not all.
2) When Randy says "writing code", he doesn't mean (at lest, I HOPE he doesn't mean) typing away on a keyboard banging out Java or whatever. Coding is really more about THINKING, and less about TYPING. When I'm coding, I will spend as much as 50% of my time doodling through ideas, looking for holes in the specs, trying something and deleting it, testing it, revising it,...etc. The goal isn't to start typing in code as soon as possible, for as long as possible, but to write simple, neat, and elegant code that is easy for everyone to understand. I'd rather have a developer who on produces a little code a day that I can understand and that works, over someone who produces tons of buggy, incomplete, hard to follow code.
3) While we mostly work from home now, many of us go into the office two days a week. The nice thing about that is that while walking down the halls, I meet people on other teams, working on other projects. I may overhear something interesting, or see something on a screen and I'll stop and chat for a few minutes. Much of the time, I gain a casual office friend. Sometimes, I learn something really cool. Other times, I'm able to make a connection between what they are doing and what I am doing. I've found duplicated efforts, ways to combine unrelated things to make other things even better, or sometimes, just a contact that in 3 months comes in VERY handy.
One of my favorite things about this kind of work is it's never boring. There is always something to learn, some new path to forge, some project that I can dig deeper into than anyone has in years...and if I don't like what I'm doing now, I can always find something new and different.
Great insights and clarifications, thank you 🙏
Randy Tolentino
Updated
Ying’s Answer
It's a group answer. We have two members who're working as software developers.
Here's the thing that we think you as a 12-year-old can do to jump into the software development area:
Answer from Vatsal Gujarati:
Hello Everyone,
1. The day of the software developer starts by first checking the mails, slack, and GitHub which we would get over the night and then schedule the day for being more productive.
2. The life of a software developer is not only about writing code or developing software. We have many meetings where we discuss the blockers where we are blocked on or try to get insights from others as well. 3. We have meetings with our team members where we chat and have fun to refresh ourselves.
4. We write code and also review our teammate's codes and also try to learn more.
5. After that for our fitness we go for a walk or do any physical exercise.
6. And at the end of the day, we work on our own personal projects and in that process, we also wait most of our time on YouTube followed by Netflix and prime video.
Other advice from our group members:
1. taking robotic courses: it can be an interesting hobby
2. learning to code for fun: for example, Python:
we have a book recommendation. It's free and you can read it on the website:
https://automatetheboringstuff.com/
Here's the thing that we think you as a 12-year-old can do to jump into the software development area:
Answer from Vatsal Gujarati:
Hello Everyone,
1. The day of the software developer starts by first checking the mails, slack, and GitHub which we would get over the night and then schedule the day for being more productive.
2. The life of a software developer is not only about writing code or developing software. We have many meetings where we discuss the blockers where we are blocked on or try to get insights from others as well. 3. We have meetings with our team members where we chat and have fun to refresh ourselves.
4. We write code and also review our teammate's codes and also try to learn more.
5. After that for our fitness we go for a walk or do any physical exercise.
6. And at the end of the day, we work on our own personal projects and in that process, we also wait most of our time on YouTube followed by Netflix and prime video.
Other advice from our group members:
1. taking robotic courses: it can be an interesting hobby
2. learning to code for fun: for example, Python:
we have a book recommendation. It's free and you can read it on the website:
https://automatetheboringstuff.com/
Updated
PRASANJIT’s Answer
Software engineers spend their day solving problems in web applications and programs, writing code, attending meetings, and collaborating with their peers.
Updated
Rebecca’s Answer
I am glad to hear that you would like to be a software engineer. Software engineering usually works on different projects. It is a team work.
At the beginning of the project, a project team would be formed with Subject Matter Experts , e.g. Project Manager, System Analyst, System Architect, a number of software engineer, etc. The project scope and timeline would be defined. Different people would take up different tasks with defined timeline.
The project team would have regular meetings from time to time to review the project status.
On the other hands, the team members may have close interaction from time to time. The software engineers may also discuss and work together to ensure the connectivity between the components they are building and also on testing.
Hope this helps! Good Luck!
At the beginning of the project, a project team would be formed with Subject Matter Experts , e.g. Project Manager, System Analyst, System Architect, a number of software engineer, etc. The project scope and timeline would be defined. Different people would take up different tasks with defined timeline.
The project team would have regular meetings from time to time to review the project status.
On the other hands, the team members may have close interaction from time to time. The software engineers may also discuss and work together to ensure the connectivity between the components they are building and also on testing.
Hope this helps! Good Luck!
I will use this advice as I prepare for my career.
Ryan
Updated
Dave’s Answer
Fred's answer is spot on. I've been in the industry for 22 years and concluded long ago that no two days will ever be the same. From meetings to writing code to putting out fires to mentoring others to design and backlog grooming sessions ... every day will be different. And from one day to the next you may find yourself touching on different languages in different projects or interfacing with a new team for tons of different reasons.
This was super helpful, thank you!
Ryan