Bidding Farewell to Software Engineering


It was a really nice enviable (and well paying) ride but I have to move on.

I’ve been a professional software developer for about 12 years now. I worked in essentially every industry and got exposed to different worlds every time I moved to a new company. It was really exciting and refreshing but sometimes what I did in certain fields didn't necessarily line up with my moral values.

I liked writing software because it allowed me to express my creativity and build things from my ingenuity. I was mostly a backend developer something that most developers found boring but I enjoyed architecting reliable and performant systems. Everyone relied on my work whether it was REST APIs or the availability of RMI or caching or multi-tenancy. Lest we forget building microservices to improve performance and reliability of every component of the system.

However, I realized that I started to get disillusioned about writing software. What I used to love as a hobby starting at nine years old became a hatred in the professional world. I can’t pinpoint exactly why, it was just happening slowly in the back of my mind.

It was the culture surrounding the whole thing that really bothered me. I felt like a pawn in a sweatshop. I was given JIRA after JIRA ticket with no choice but to do what it said. Few companies let me have a say on what the task should be like no matter my seniority level.

I saw decisions made based on emotional aspects say someone preferring a certain programming language or framework based on their taste rather than the actual merits of said technology. It threw everyone off and they suddenly had to relearn everything all over again. The baggage was costly offsetting any advantage of the new hot trend.

When I was at smaller companies making less money, I had more freedom but as I claimed the ladder of seniority I was boxed and boxed even more. I just did tasks and had to shut up. I don't know why that happen but it was certainly a trend. As a result, in the past two years as a 'senior' developer, I couldn't stand staying for more than a year at the company ending the contract early.

I really believed that being ‘senior’ meant you had more input on the design of the software but some reason even when I had the title of ‘consultant’; I couldn’t do any consulting. This is most obvious when almost everyone on your team is senior, architects and leads become Gods and can override any decision on a whim.

I started associating software development with boredom and the inability to work on interesting personal projects burning out from my employment. My skills started to rust a bit because I often found myself in positions where I wasn't doing any development at all because I was lied to in the statement of work. I was stuck in QA, DevOps and server administration. These are all things I can do, but hate with a passion.

With terms like "full-stack developer", employers except that their employees can do everything masterfully and have unlimited flexibility. However, most of us are specialized and focused on finding jobs in a certain field or area. It's really unrealistic and many get thrown out because they're not the dream worker.

What happened to me? Well honestly the whole culture surrounding the corporate world really got to me. No one could define what a 'well-rounded' developer is and I’m guilty of putting that in my resume. The honeymoon phase was over and I couldn't find enjoyment in that kind of work. Sometimes, I considered working on an intermediate level to reduce expectations and have more freedom, but my constant obsession with money got in of the way. Some people would ask me why I’m not happy with my job despite making a six figure salary. As they say, money doesn’t bring happiness; this is obvious.

In my earlier jobs, I used to bring together departments in a single room and discuss the future and flaws in the product. The director was within reach and my team lead made my job more comfortable. However, as my career progression moved forward, my field of view shrunk considerably. I felt like I was looking at things through a straw and honestly, you had no idea what the company hierarchy was. It didn't matter if it was a ten employee startup or a company with 200 000 employees worldwide.

The reason why things were like that was never really clear to me. Some say it’s the company cultures while others blame politics. Maybe I was just in the wrong places, but the truth is, the more my experience grew, the less I could make use of it. Some will say I was unlucky. Also, I’ve had good times at some companies with an office temped with a bad attitude and bad times at companies that ran like a well oiled machine.

It was so isolating that you didn’t talk to anyone for the entire day. The only interaction were occasional emails where you had to fight a difference of opinion and your weekly reminder to submit your timesheet. The only time I opened my mouth, was for the 30 second status update in the standup. Although, I’m for the most part, introverted, I still enjoy the company of others and mingling with them.

However, one constant was the praise of my copious documentation at every position I worked in. Unlike most developers who find writing documentation boring, it was my favourite part of development. I didn’t see it as a passion or anything, it was just part of my job.

My writing was also lauded in high school and University. It didn't mean anything for me because I was focused on getting accepted for software engineering. I continued writing mostly in the form of a journal and saw my skills grow. It wasn't until I started this blog that writing became a passion, essentially falling in love with it.

Though, how hard is it to change careers? I decided to go for the Technical Writing route because I enjoyed writing non-fiction and expressing technical subjects the most. I mean I freelanced for Upwork as a Technical Writer. The freedom was refreshing. The more work I did there, the more I realized that this was my home.

Most of my writing techniques are self-taught mostly from my software development career writing documentation. I’ve done my share of Middle English texts and poetry. However, my blog is where I did most of my practice.

I had trouble getting accepted by companies because my entire 21 page resume is "Software Developer", how can I present my portfolio. Better yet, where is it?

I’ve talked with others who made the same shift as me expressing the freedom they had often regretting not switching earlier. It was described to me the social aspect talking to managers, owners and SMEs. This really got me lit up and this is what was mentioned in the job descriptions.

It wasn't until a certain company thought that my technical background would be an asset and useful for writing things clearly. The company worked with many technologies and your average writer wouldn't understand all the jargon. They skimmed through my blog and really enjoyed my writing style. I'm really curious what they read because some things are really controversial and personal!

I hope to be somewhere where no one can tell me how to write things and I'm left alone, independent to express my creativity. I’m honestly pretty optimistic and almost certain that I will have a good time. It feels like I’m going to take a plunge into the ocean but my gut feeling is that I will stay there for a while.

Honestly, I’ve always enjoyed other jobs that aren't related to software including doing ten hour-shifts as an Uber driver despite it being really tiring. Just demonstrates how I find software no longer exciting. Shows how much I started to hate IT. I will probably return to programming as a hobby. I need to do some Project Euler exercises!

Despite all of this, I will keep close touch with technology and how things unfold. Being a technical writer doesn’t mean you abandon the technical aspects of the world. Companies work with a lot of technologies and I need to be cognizant of them. Of course, I will continue educating myself about authoring tools and other platforms for writing documentation. Leaving software doesn’t mean I’m leaving software.

I will admit I had plenty of good times as a software developer. For the most part, my peers were friendly and a pleasure to work with .There are some works that I’m really proud of and definitely gave me a dopamine rush. I’ve explored projects that are so big it would take me thirty years to build the same thing on my own. We’re moving to a world where really complicated architectures are possible. It’s just too bad that they’re not well documented. That’s where I come in, I guess.

At work, I suffered from a lot of avolition. I thought it was psychiatric symptom but it turned out to be psychological. It's not that complicated, I didn't enjoy work and that sucked the energy out of me. I noticed when I finished a shift that I enjoyed, I still had energy to do more at home.

I’ve read stories of people start clubs and bars after quitting the software industry while others becoming police officers. Some even moved to carpentry and started working more with their hands. I’d like to hear what you moved to in the comments.

My current job pays no way as near as much as my previous career but I don't care. I'd rather enjoy my obligatory 8 hours of work and get paid less than chase money like everyone is.

Please, for people picking careers, don't be lured by the money, it's not worth it. Only sign up for this career if you enjoy it.

Good bye software development, it will be painful to move on. But don’t worry though, it’s not a riddance.