Software Development is the Most Disappointing Job Ever
By: Alexey Balchunas
Tags: Testing, Startup, Quality Assurance, Health, Software Development

Don’t get me wrong, I love my job. I have always had a passion to create things, build something that just works.

However, there are aspects of it that have been bugging me for many years. These little thoughts are so annoying that you eventually think about changing your profession sooner or later.

It boils down to one single issue: it’s impossible to build the perfect software. Period.

Before going any further, you should know that almost every single software developer is a perfectionist. Now, you probably know where this post is going, and it might sound that I’m overthinking.

Nope, it is a big deal. I’ve seen and heard many-many times how developers quit their jobs, because of that. They get sick of the bad code their colleagues write, they cannot stand this framework or that approach, and so on and so forth.

I’m the same, except I know that quitting your job will not help. Your next job is going to be as “bad” as this one because all the software around us is a piece of… Sorry, for my language, but it’s true. And here is why.

Quality of the Code does not Matter

Exactly. No one (except you) cares if the code behind a software product is beautiful or not. Your clients don’t give a heck which best practices you’re using.

You develop software for the business, which in turn is founded to make money (and make the world better, of course).

There are many other metrics that are much more important than just the product’s code quality, especially when the company is a startup, which just strives to survive and start covering expenses as soon as possible.

Time-to-Market is Crucial

As I mentioned above, time is the key. Companies who get to the market faster win, or have a big advantage at least.

Now, in this situation, the most reasonable business move is to quickly create a minimum viable product (MVP).

This means that engineers are asked to develop the smallest possible product as soon as possible. It’s needless to say, but this leads to low code quality.

You know, fast/cheap/good — choose two. Fast and cheap will always win in the early stages of a startup.

Even 1 Developer cannot Make it Perfect

Do you know what most software developers do in their spare time? They develop.

It sounds funny, but it’s true. Developers got into this industry because they are able to build things, to express their creativity. It turns out that creating some kind of a side project, contributing to open source projects, solving an algorithm task is such fun! Not sure why exactly, but I think all the joy comes from the fact that you simply switch the context, even though you do a similar thing. You know, working on a regular software development position restricts you, but when you do your own thing, your imagination cannot be limited anyhow, this is exactly what such people need.

Now, the frustrating quality of your main job’s code will definitely make you think that your side project will have to perfect because there is no-one who can mess it up. It’s just you, alone, you can handle it.

Actually, you cannot.

Look, if a single developer wants to create something, to build till it’s alive and maybe even try to sell it, the person will have to sacrifice the quality. Otherwise, the developer will not be able to finish anything, not even a small project.

Unfortunately, it only seems like you can build the great personal expenses tracker in a few days. However, in real life, a sellable product is built through hard work in many-many developer-days.

I’ve learned it through my personal experience on several projects on my main daily job, and many small side projects. If you want to make a viable competitive product, act like other companies, start with MVP, then make it better quality over time.

Summary

Everything in life is about trade-offs. You always have to choose what is important right now in your particular situation. Same with the job, you often have to sacrifice quality in order to make your project to succeed.

Hey, don’t stress out, just embrace that nothing actually can be perfect. However, you can always make everything a lot better by switching to a remote job! If you’re into working from home, check out these:

Comments, likes, and shares are highly appreciated. Cheers!