Overall, being a software engineer is great. I'm grateful for being a software engineer, and I encourage those who want to pursue a career in software engineering to continue doing so because it's rewarding. It can change your life for the better.
Every job comes with positive and not-so-positive aspects. Software engineering is not different.
This article will lay down some untold truths about being a software engineer.
I hope you can resonate with me.
#1. IT CAN BE MENTALLY EXHAUSTING
I've often heard of being a software engineer as a relaxed and chilled job. These feelings of relaxation vary from time to time, company to company, and team to team.
83% of Developers Suffer From Burnout, Haystack Analytics Study Finds.
Overall, yes, it can be a chilled job. However, it feels like a terrible job when things don't go in the right direction. Imposter syndrome kicks in, and you want to give up software engineering as a whole to dedicate your time to doing something else. It's easy to suffer from mental strain and weight gain as a software engineer.
Software engineering has a level of unpredictability which makes the field both fascinating and frustrating at the same time.
Things tend to go wrong when you least expect it.
No matter how much you plan your work, there is often a probability that something you didn't think about comes up.
It can be a stressful and frustrating job when there is external pressure to perform and produce outputs. When tests fail, when everything goes well, but something unexpected happens, delaying your work for some days, sudden changes of requirements, etc.
The list can go on.
#2. IT'S TOUGH TO UNWIND AFTER WORK
I'm trying to get better at this.
I've found that this usually happens when I end the day with something I haven't managed to solve.
Therefore, I start thinking about a possible solution after work.
You start thinking about why that test didn't pass, why you didn't get the output you wished, etc.
It has happened to me several times that a solution came to me after work when doing activities unrelated to programming.
#3. SOFTWARE ENGINEERING IS ABOUT BUSINESS
Software engineering is more about business and people than it is about coding, frameworks, algorithms, etc. These are just tools used to solve problems and achieve better business performance and outcomes.
#4. PRODUCTIVITY FLUCTUATES A LOT
Your level of productivity will fluctuate a lot based on external and/or internal factors.
Some days you will be proud of yourself for being super productive.
On other days, you'll feel sad for not being as productive as you wish, and you might be afraid of reporting your unproductiveness during daily scrum meetings.
Every day is not equally productive. Code takes time to be produced and reviewed by someone more senior than you.
#5. YOU MAY HAVE TO WORK AT NIGHT
This hasn't happened to me yet, but I've seen engineers having to do "on-call shifts".
An on-call engineer is an engineer who solves a production issue during unsociable hours (for example, 3 in the morning).
On-call engineers are vital in maintaining the applications available to users at all times.
I hope you've found this article relatable.
I still enjoy my job and am grateful to be a software engineer.
Still, we need to highlight all aspects of working as a software engineer to give realistic expectations, especially for those working hard to break into the field.
Do you agree with the points made above? Let me know in the comments.
Until next time! 🙋🏾♀️