A friend of mine once said that the reason he loves software development so much is that it is the only existing industry where one person can build a cathedral. I agreed, but I also pondered what use there is for “yet another tool.” I had never had a proper idea for a complex program that someone else didn’t get at the same time, or which hadn’t been previously solved with an ironclad solution, supported by a legion of programmers. I was still fairly wet behind the ears and didn’t see the inherent value in developing programs when it seemed like the rest of mankind was constantly pushing the next big things at an accelerating rate, without stopping to think if there was a need for them. I had always held the thought that building tangible things with your hands, instead of digital ones, was far more precious. It didn’t need to be a cathedral; it could have been just a brick. Despite this, back then, my enjoyment was in solving puzzles, and the situations where I could spend countless hours solving a complex problem were the aspects that pulled me into this field instead of all the other endeavors that I had held an interest in.
Fast forward a decade or so. I was feverishly tapping on my laptop keyboard on a late summer morning. I hadn’t even put any clothes on yet, and I was already at full speed. My girlfriend was drinking coffee next to me, curiously watching me do my thing. “Do you enjoy the work you do?” she asked. I was stunned by the question. I couldn’t answer her until I had reflected on my life choices for a minute. Then I went on a tirade about the downsides of the vocation, which I ended with, "…but I’m an engineer. I like building things."
The fact that I couldn’t immediately think of an answer wasn’t the only thing that perplexed me about the situation. I was transported back to a simpler time when it could be generalized that every person working with software had an unconditional love for it. I had never heard of someone asking such a thing, as the assumption had always been that when a software developer leaves their job, they go home to write more software. I had been conditioned to think that the correct answer was simply, “Yes, I absolutely love it! Why else would I be doing it?”
The image of the stereotypical software engineer used to be a robot who could only master a single aspect of their life, and that was the machine of loving grace. Nothing else quite fit, and that has been the reason why the stereotypical engineer tends to bore people who don’t work with technology. However, with the modern era came inflated salaries, increased job opportunities, and a hypemachine that brought a lot of different kinds of people into technology-related fields. Now, it could be assumed that a computer isn’t an all-consuming entity for most tech workers, and asking someone if they like their job is a completely innocuous question.
When you work for a number of years, the raison d’être dissipates like childhood innocence. The cause could be monotony from doing the same things over and over again, office politics, lack of career advancement, crunch hours, shifts in the industry, lack of resources, or just plain old burnout that closes the dopamine valve in your brain. Or maybe you were in it for money and never particularly loved it to begin with. After all, it is just a job, and not the center of Ikigai like it used to be for a lot of people who gravitated toward it. For that reason, I believe it’s important to occasionally stop and reflect on why you are doing what you are doing, as I was forced to do with that simple question.
These past years have been turbulent in the industry, with shifts in the way people work and massive layoffs. At some point, I pulled the short (only) straw as well. However, because of the previous reflection, it didn’t feel like jumping from a cliff and falling down, but instead like I could drop the weights and start to fly. I didn’t spend a second wondering what I should do next. I closed my work laptop, made some tea, switched to my personal laptop, and started writing this site. Once I was done with that, I began working on a project idea that I had been itching to do for a while. I’m planning to open-source it before the end of the year.
The job market is difficult, which isn’t a surprise to anyone who has been following the news. I didn’t expect anything less. At times, I have felt defeated by some opportunities passing by and occasionally wondered if I’m cut out to play the interview game. But when it comes to software, I know I am more than capable of building the cathedral if I want to. Despite this rough patch, I’ve still loved every minute of writing code and solving problems. I’m currently working on one personal and two commissioned projects. All of them are from varying fields, using different technologies, and some of them even explore novel problems that haven’t been researched yet. It feels good not to be constrained by rigid software processes for a chance, but I know that I’ll miss it as well when quality becomes an issue. Even if I never found another job, I know I would still be doing this, because I believe that the projects I work on can bring value to people.
However, the most important thing is that they are valuable to me. At the end of the day, I like building things.
- Asikaim