4 answers
4 answers
Updated
Matt’s Answer
Hey there! Before diving into what a typical day looks like for a software engineer, I'd like to highlight the importance of good communication in this field. Being a software developer is about so much more than just coding – it's also about working well with others and sharing information clearly.
As a software engineer, you'll spend time collaborating with teammates like developers, designers, and project managers, making sure that everyone is on the same page in solving problems and exploring possible solutions. That's why it's essential to have strong verbal and written communication skills.
Another big part of software development is documentation, which might not be everyone's favorite task, but trust me – it's important (and I actually enjoy it 😄)! Sharing your thought process through well-written documentation helps your team (and even your future self) understand your work better.
Coding, of course, is at the heart of what software engineers do, but the goal is to write as little code as possible for the best outcome. Your ability to collaborate and create clear documentation directly contributes to the quality of your code. Plus, remember that the code itself is a kind of communication – it speaks to both the computer and your fellow engineers.
While there's no "typical day" in this field, these three skills – collaboration, documentation, and coding – are essential to software engineering. There are many other tasks you might do in your career, but they usually relate to these core concepts.
As for a degree – it's not always a must, since I know plenty of great engineers without one. However, degrees in computer science and computer engineering can be helpful. Just keep in mind that universities tend to focus more on theory, whereas software engineering is a practical discipline. You don't have to be a theory expert to succeed in this field!
I hope this gives you a better idea of what it's like to be a software engineer. Best of luck on your career journey! 😊
As a software engineer, you'll spend time collaborating with teammates like developers, designers, and project managers, making sure that everyone is on the same page in solving problems and exploring possible solutions. That's why it's essential to have strong verbal and written communication skills.
Another big part of software development is documentation, which might not be everyone's favorite task, but trust me – it's important (and I actually enjoy it 😄)! Sharing your thought process through well-written documentation helps your team (and even your future self) understand your work better.
Coding, of course, is at the heart of what software engineers do, but the goal is to write as little code as possible for the best outcome. Your ability to collaborate and create clear documentation directly contributes to the quality of your code. Plus, remember that the code itself is a kind of communication – it speaks to both the computer and your fellow engineers.
While there's no "typical day" in this field, these three skills – collaboration, documentation, and coding – are essential to software engineering. There are many other tasks you might do in your career, but they usually relate to these core concepts.
As for a degree – it's not always a must, since I know plenty of great engineers without one. However, degrees in computer science and computer engineering can be helpful. Just keep in mind that universities tend to focus more on theory, whereas software engineering is a practical discipline. You don't have to be a theory expert to succeed in this field!
I hope this gives you a better idea of what it's like to be a software engineer. Best of luck on your career journey! 😊
This was awesome!! Thank you so much!!
Julia
Updated
david’s Answer
Hi, Julia,
From my own experience, the degree needed varies significantly, as many employers are more concerned with your technical skills, such as programming languages and database experience. Whether an associate or bachelor or higher, if the degree relates to information studies or computer science, you're in the ballpark. I don't want to imply that the degrees are all the same; they're not, but for any specific entry-level position, anything that gets the interview can be the right one. As far as the day-to-day life, you will probably be working with a team, each having individual components, but meeting together regularly to share problems and issues. Initially, you may be given explicit coding assignments, working with another person who may assist in helping you learn any particular coding or documentation requirements. As you progress, you will be given assignments with just the design guidelines, leaving it to you to develop the code structure. You will also be part of a testing methodology that reviews and tests components to prevent bugs from reaching the final product. There is generally a lot of camaraderie among software developers because they work so closely together. Good luck to you.
From my own experience, the degree needed varies significantly, as many employers are more concerned with your technical skills, such as programming languages and database experience. Whether an associate or bachelor or higher, if the degree relates to information studies or computer science, you're in the ballpark. I don't want to imply that the degrees are all the same; they're not, but for any specific entry-level position, anything that gets the interview can be the right one. As far as the day-to-day life, you will probably be working with a team, each having individual components, but meeting together regularly to share problems and issues. Initially, you may be given explicit coding assignments, working with another person who may assist in helping you learn any particular coding or documentation requirements. As you progress, you will be given assignments with just the design guidelines, leaving it to you to develop the code structure. You will also be part of a testing methodology that reviews and tests components to prevent bugs from reaching the final product. There is generally a lot of camaraderie among software developers because they work so closely together. Good luck to you.
This was great, thank you so much!!
Julia
Updated
Artem’s Answer
Hey, Julia!
As others stated already, the day-to-day work varies significantly across the industry. I would say that the biggest activities for a software developer are coding, learning, and collaborating with others. Technology changes so fast, that you literally have to run forward just to stay relevant, so be prepared to keep learning something new basically every day. It is also interesting, that the more you grow in your career the less actual coding you do :) It gradually shifts toward leadership, mentoring, and providing technical guidance for the rest of the team, which further increases the focus on collaboration and makes soft skills a lot more important at this stage.
Regarding the degree, I would echo the sentiment that it is not required, but having one in math/computer science-related fields helps a lot, both with searching for a job and getting a higher salary as well. Problem solving is one of the critical skills for a software developer and math-related education helps a lot to learn it. Still, there would be usually a pretty big gap between what you have learned and what exact skills/knowledge would you need on your first job, so I would recommend finding some kind of relevant internship while still studying. It would be a lot easier to land your first job as an intern than looking for one after graduation. Another case for a degree is that it makes it a lot easier to get hired abroad in the future if you are interested in living in another country at some point in your life.
As others stated already, the day-to-day work varies significantly across the industry. I would say that the biggest activities for a software developer are coding, learning, and collaborating with others. Technology changes so fast, that you literally have to run forward just to stay relevant, so be prepared to keep learning something new basically every day. It is also interesting, that the more you grow in your career the less actual coding you do :) It gradually shifts toward leadership, mentoring, and providing technical guidance for the rest of the team, which further increases the focus on collaboration and makes soft skills a lot more important at this stage.
Regarding the degree, I would echo the sentiment that it is not required, but having one in math/computer science-related fields helps a lot, both with searching for a job and getting a higher salary as well. Problem solving is one of the critical skills for a software developer and math-related education helps a lot to learn it. Still, there would be usually a pretty big gap between what you have learned and what exact skills/knowledge would you need on your first job, so I would recommend finding some kind of relevant internship while still studying. It would be a lot easier to land your first job as an intern than looking for one after graduation. Another case for a degree is that it makes it a lot easier to get hired abroad in the future if you are interested in living in another country at some point in your life.
Thank you for the advice, Artem.
Julia
Updated
Ahmed’s Answer
Most companies use "Agile" to manage their development teams. This is what it looks like:
- Teams plan 2 weeks of work (a "sprint"), and divide them into tasks
- Every day you will work on a task
- Once the task is done, you will submit your code for review to your team
- Your team will suggest improvements
- Once your code looks good, it will be approved and merged into the rest of the codebase
- At the end of a sprint, the team will gather and have a discussion about what went right and wrong about the previous 2 weeks
- Teams plan 2 weeks of work (a "sprint"), and divide them into tasks
- Every day you will work on a task
- Once the task is done, you will submit your code for review to your team
- Your team will suggest improvements
- Once your code looks good, it will be approved and merged into the rest of the codebase
- At the end of a sprint, the team will gather and have a discussion about what went right and wrong about the previous 2 weeks