Why I Am Done With My Software Engineering Career
Last week was my last active week on the job. Officially my employment ends August 10th, but I already feel the stress backing away.
Almost every person that heard about me leaving my job asked when and where I’m planning to work next. Their expectations are usually along the lines of “I’ll look for a new position after I relocate” – sometimes to the point that instead of asking me about my next steps, they ask “Are there any big tech companies in Prague?”.
I understand their train of thought. I’m pretty good at what I do, I work in a high-demand field with great salaries (although often not as great as people seem to think), and I’m known as a logical thinker among my peers so that career path is pretty much in my blood. Hell, I’ve worked as a software engineer for a third of my life now, this must mean I found my thing, right?


The Weight of Expectations
Well, this is what I thought, too. This is why leaving this career behind is not an easy decision – nor is it final. This is still my best option if I decide to sell my skill for money. It will be my first choice if I have to look for a job again.
But I’m tired of my career defining me.
At this point, everyone (including myself) expects me to be an engineer. Not just work as one, actually be one. As much as I enjoy coding and building architectures and coming up with technical solutions, this is not me. It’s just one of the things I do.
It also seems to “cancel out” other interests and hobbies. I have a lot of hobbies and interests, but because “I’m an engineer” I don’t even dare thinking that I might actually be just as good at something else. Even when others compliment my work in another area, I still don’t believe them, no matter how much I want to.


Frustration And Euphoria
Unlike other jobs, in which you do the work, and encounter problems from time to time, software engineering is the exact opposite: you solve problems and fix stuff that don’t work, and from time to time you do some work.
Actually writing the code often takes less of a third of your time.
The rest of the time is spent on planning the fix or feature, and later testing and debugging it, which can be pretty frustrating.
In the beginning of my career, the euphoria of finally solving a hard problem was enough to negate the effects of the frustration I felt while I was solving it. However, by now, I’m exhausted. I hate that some days I work for 12 hours, and still have nothing to show for it, because all the solutions I tried that day didn’t work. Not to mention that even if I do make a commit and close a ticked (meaning, I finish my task) – 90% of the time this is not something that the end user even sees.
Most of the work in software engineering is behind the scenes (unless you’re specifically a front-end developer, but even then, it’s not a 100%). This is not even about personal fame and recognition (although, I have to admit, I would like to experience that too someday), it’s about my team working for months on improving the software, and the end users still complaining about something that we just didn’t get to.
Priorities are there for a reason, and a bug that crashes the software 0.1% of the time will usually be more important than something that causes a mild inconvenience a 100% of the time.


Linear Progression
I cannot be sure that this is a common occurrence in every company, but it was in the places I worked at.
The engineer is expected (and understandably so) to work about the same hours every day, producing the same output volume over time. Granted, the hours are flexible and there’s much more freedom than in other industries.
I, however, cannot work like this. It might be an issue with me – well, actually, it definitely is an issue on my side – but I am unable to do that. I have peak days in which I work for 16 hours straight and resolve multiple tasks – and then I barely function for a week. It’s not even about skipping work or getting distracted – I can be staring at my code all day trying to force myself to “just do it”, but I fail.
Recently, my therapist said to me, “You are aware that there are other work modes, right? That not every job requires that linear progression, and there are jobs out there that fit your style of work.”. To say I was confused would be an understatement.
It’s not that I don’t believe her, or that I think it’s impossible – my mind just refuses to accept this as something that could apply to me. I feel like I would be a failure in every field I choose because that’s how I feel in my current line of work (despite doing pretty well in the past 9 years working in this industry).
No matter how I look at it – I’m long overdue for a change of direction. It might be temporary, as I understand that I do prefer working in software engineering and learn to manage the things that seem to get in my way right now. It might be permanent, as I find another career that makes me feel more fulfilled and less stressed.
It’s an exciting new journey, and I can’t wait to see what’s next.