Bugfixing my career
Tags: career, yearinreview, reflection, webdev
Published: 2020-12-31 09:31:33

This may be a different kind of year in review post than the ones you've read before.
I'm sharing my story of this year, hoping that you'll learn something from it, so that won't happen to you.

---

This year, I lost my love for coding.

Can you imagine I had a job where I didn't had the desire to start side projects? I was doing what I love (mainly Laravel Development with a huge bit of software and database architecture as well as caring about good UI and UX) on a daily basis, 40+ hours a week. I thrived, I learned, and damn, I was *good at my job* (haters coming in 3, 2, 1 ...).
Of course there were bad days, difficult customers and situations, but overall - all was good. The team, the work, the company.

Then I was assigned to a project of a new customer. Taking care of a huge software monolith, grown over two decades, together with an internal team of theirs. It was *bad*, you know.  PHP, without any framework, with oldfashioned HTML and CSS and lots of jQuery. MVC? No. Composer or Autoloading? Nope. Consistent code style, clean code? One hell of a *nope*.

First, it was a challenge, so I throwed myself completely at it. I'm doing PHP for several years now and ironically it reminded me of my first projects, so I got into it quite fast (I started coding eleven years old, PHP 4 was still around, no theoretical knowledge at all, but it _worked_ and *it was so fun*!).
I fixed bugs, added new features, everything that had to be done. Still, the codebase was horrible. It screamed »please rewrite me!« painfully, every day I opened up my IDE.
I always had a desire to improve software, so I introduced my knowledge and opinions of modern (web) development to the customer and the team. Small steps first. Consistent code style, add proper documentation, maybe put a Laravel under it to make it at least a bit more secure. Split it into microservices. Inevitable, rebuild it from scratch. 
Summarized: The default suggestions you make for transfering a huge monolith that was virtually un-maintainable, breaking apart every hour and being incredible slow to something  better, nicer to work with.
*I know that this is a difficult, tedious task.* But there wasn't even the intention to do this. »It works, so why change it?« Yeah, you've got clearly a different definition of »it works« than me.

So, if you can't change the circumstances, change yourself, right?
I requested to be withdrawed from that particular project, at least for some of my weekly work time. I'm totally fine with maintaining legacy systems, as I mentioned before, it's a challenge and a constant reminder of being grateful for something like Laravel. But if you're doing it every f*cking hour of every f*cking workday, no. Just no.

Well, to make it short: It didn't work out. That's the problem at being good in your job: You're getting so important for something that you can't be removed from the equation (yeaah hello haters). My bosses promised to appoint me to other  projects the next month. The month after. Again the month after that... you get it.

I know that it's hard to make the split between making money and keeping your employees happy, not only for a software company, but in general. I don't blame anyone. But if you're postponing your commitments constantly, they wear of. They're not meaningful anymore.

As the time passed, showing up to work became a daily overcoming. I got up, had breakfast, commuted to work. I was in a bad mood at first, but after some time, not even this anymore. I got dull. I was resignated.
I didn't like coding anymore, I noticed that I got so used to that obscure legacy code that I lost my ability to write good, scalable systems.
This was the last warning sign for me.

But I was not ready to leave this company. Not because of financial manners, but out of emotions, simple loyalty. I was still attached to my team, I didn't want to let them down with that huge amount of work.

So I started side projects for compensation. I learned a whole new part of software development, did no web development, but rather mobile development (Flutter) to get as far away from my daily job as possible. I even purchased a $ 3,000 MacBook in a different color to cut off all connotations. Hell, I was *desperate*.

The joy came back. The delight of clean and structured code. I coded a few evenings during the week and often full weekends. It didn't feel like work, it felt like playing and having fun again.

But there was an implicit problem with this: The hurdle to get back to my day job after the weekends grow bigger. Good thing is, the atmosphere in the company changed, so my loyality faded as well.
I made one last attempt. One last stand up to try to get my daily job back to what it was once.

Nope, did not work again.

So I resigned - without having something new in sight. I didn't care.

I allowed myself to just exist for a few weeks and I know this is a privilige not everybody has. I really appreciated that because it gave me the chance to recalibrate. To ask myself, what should my life as a developer look like?
I released my app, got back to freelancing and found a few solid clients. 
Do I earn more than before? Hell, no. But to be honest, I don't have the need for unnecessary luxury stuff and I never got into coding because of the money. I got into coding because it feels like my vocation, not like work.  

But, oh dear, the contentment. The silence in my mind, the serenity. The feeling of doing meaningful work, of expressing myself, contributing to a bigger thing. That's... invaluable. Nothing you can express in a salary.

---

I don't claim that when you have side projects you need to leave your job. But sometimes you should pause for a moment. Ask yourself, why do you start your side projects? Pure joy, can't get enough of coding next to your day job? Go for it! 
But if there is even a little doubt in this, dig deeper. Is it compensation for your employment like I described? Then maybe you should change your situation.

Finding meaning and joy in development again was the main storyline of my 2020, on top of all that pandemic and other weird stuff that happened.
It was an interesting year. I had a lot of lows, but I also have the feeling that I grown a lot in different parts of myself. 

Have a nice day and an even nicer 2021.