I started working in the programming world more than ten years ago and have often wondered if being a developer is a good job.
In my working life, I’ve changed many jobs, always by choice, fortunately. I haven’t experienced being laid off yet, at least not for the moment, one never knows…
My work history has been diverse, ranging from being a real estate agent to a teacher, but in the meantime, I have always been a developer.
Yes, because being a programmer allows you to work in a myriad of ways: from the classic office job to freelance work, you just need to find your own path.
And it took me a while to find it, but I finally think I’m on the right track.
But let’s not get lost in chatter and get to the point: is being a developer a good job?
I’ve received many emails from readers and listeners of my podcasts about it. Many young and not-so-young people wonder what it’s like to work as a developer and whether it’s a good job or not. Answering is never easy.
Work is a very subjective thing, depending on the type of personality one has, the mindset, and what one wants from life. But in this article, I’ll try to sum up and give you a rough idea of the developer’s job so you can understand if it’s suitable for you or not.
Being a Developer – Cons
Now let’s look at the negative aspects of this job. Like all things, there are downsides…
This word says a lot. From the Treccani encyclopedia, we read: “to weaken the nervous system and its related capabilities for action and reaction of an individual,” this definition fits perfectly.
Often working for hours staring at lines of code, studying algorithms, variables, matrices, and systems can put a strain on our poor brain. Working on complex projects is very demanding, and in the evening, you may find yourself not even remembering your own name…
This used to happen to me often when working on management systems. They were very important software that allowed companies to manage inventory, customers, suppliers, and invoices. You can understand that a small mistake could lead to financial losses or audits by the tax agency, and even though I was just a small employee, the responsibility for my code rested entirely on me. All for a truly meager salary…
Of course, it depends a lot on what you develop; if you’re building 5-page showcase websites, you can skip this paragraph and live happily. But if you intend to develop complex software, be aware that headaches will be a constant.
As mentioned earlier, responsibilities are often high. It also depends on the final project, but if you work on something significant, merit and blame are entirely yours.
Many draw parallels between the programming world and classic manual jobs. Of course, a bricklayer is responsible for the wall he builds; this wall must stand and not collapse, otherwise, it’s his fault. But the comparison is not correct because a wall can be built in a couple of ways, and it was built fifty years ago as it is built now (I’m not an expert, something might have changed, but not drastically).
In the programming world, variables are infinite. A process was done one way last year, and this year it needs to be done differently because bugs have emerged, and technologies have been updated. Moreover, that process may be called thousands or even millions of times by thousands of users, and predicting all possible cases is not easy.
It takes an open mind to identify potential issues and try not to get overwhelmed by anxiety.
Whether you work alone in your home or in an office with a hundred colleagues, the programmer’s job is still solitary. The main relationships are between two subjects: the programmer and the computer.
When you work, you are focused to the maximum; you enter the development mood. You can’t write code while chatting about the latest football match or the Formula 1 race; it’s a job you do with yourself and nothing else.
Certainly, comparisons with colleagues are useful, but it’s impossible to multitask while writing code.
This is the worst point and what has always made me very angry, or rather, it still makes me very angry.
In the world of developers, there is often great arrogance. Some think they are better than others, and maybe they really are, but there is a tendency to consider anything less than oneself as nothing.
The world of programming is truly vast! Web, Desktop, Mobile, Python, Java, PHP, .Net, then various frameworks, not to mention individual versions of frameworks and languages, an infinity of stuff.
Knowing everything about everything is impossible, at least for most of us, so we specialize. We learn what is most useful to us, what can bring us the maximum gain.
Well, often it happens to compare ourselves with other developers on issues where they are at a higher level than us, which is quite normal. However, these developers often tend to be very arrogant.
Oh, but you don't know this?
Do you really do it like that?
This is awful.
If you decide to become a programmer, you will surely hear these phrases, unfortunately. There is a desire to feel superior, to excel.
Fortunately, not everyone is like that, and I hope there are fewer and fewer in the future, but just browse forums or Facebook groups to see such phrases, and often they are also spoken in the real world.
I personally strongly disagree with this attitude. Having also worked as a teacher, I have seen firsthand how negative attitudes are not positive for anyone. Of course, it can inflate the ego of those who utter these phrases a bit, but nothing more.
I still have a lot to say on this topic, but maybe I’ll write a dedicated article.
Last negative note: salaries.
Here it depends a lot on the reality in which you work. My first job as a programmer was really underpaid, considering the effort and responsibilities it involved. However, there are realities that pay very well; you just need to know how to look for them and find the right one.
From my experience, you have to turn to big cities. I have never heard of Software Houses or Web Agencies in small towns paying high salaries to employees.
In my case, as a freelancer, I’ve seen it all. There are companies willing to pay because they recognize the value of the work, and others that just take and demand.
Being a Developer – Pros
Now that I’ve thoroughly discouraged you, it’s time to see the positive aspects too. Evil always stands out more, but there are also pretty good positive factors in the job of a programmer. If I have decided to make this my profession, it’s because these positive sides eventually outweighed the negatives.
There is never a day like the other. I’m not referring to physical activities; those are always the same: sitting at the computer and typing on the keyboard.
But the mind ranges in infinite places. One day you work on a showcase website, then you create an e-commerce
, then a management system to enter data for your representatives and calculate their statistics, then you build an app…
There is always something to do, and the only limit is imagination.
I always tell all my clients, “Everything is possible,” because it’s true; now everything we think of is feasible. Of course, it requires skills and budget, but really, anything can be created now. The world is becoming more and more digital, and we developers are the architects of this world.
I think this is very beautiful, and every morning it gives me the energy to create something new.
Our works are published, seen, and used by thousands if not millions of people.
Here, we get very close to artisans. We create something that will be used for its purpose. We can show our works to the world, and even better, we can create something positive for humanity, something that helps everyone, even if in a small way.
When I created the new website for bikeitalia.it, I was really satisfied. It’s the site of a business that sponsors ecology, environmentally friendly and neighborly mobility, the physical and mental health of people, and much more. Moreover, that site, built by me, is used by millions of people every month. These numbers are fantastic, truly high numbers.
This is really the coolest part of being a developer.
There are no typical restrictions of 9 to 5 jobs. Being a developer is a job that can be done wherever there is a computer and a connection. You mainly work alone, so a couple of organizational calls are enough to start working.
You can work day or night; the important thing is the finished product. If everything works, all is well.
Certainly, this mentality is not yet shared, especially in Italy… But there are already some realities that understand the great benefits of this.
If complete freedom is given to developers, they will work better. Working when you want is a great thing; you are more productive, you don’t waste time staring out the window, thinking about football or problems. When you are ready, you sit at the computer and code. In this way, two hours of focused work are worth 6/8 hours of sluggish work.
It’s not easy to find companies that understand this mindset, but if you read about how Google manages its employees, you can get an idea of the right mindset of employers.
I opted for the freelance path because it allows me to manage this aspect better, even though it hides a thousand other problems… But we’ll talk about that later.
At the end of the day, the answer for me is YES, being a developer is a good job. Of course, it has its negatives like everything else, but all in all, it’s not bad at all. If there is passion, then you can overlook the bad things and focus only on the positive ones.
Certainly, we are not in the best state for this job; it is undeniable that Italy has lagged behind in terms of information technology, but I don’t think that running away abroad is the only solution.
If there is a problem, running away is pointless; we must try to solve it. Let’s acknowledge that Italy still has an old-fashioned view of technology and let’s roll up our sleeves to improve the situation.
Let’s create projects, platforms, generate income through digital means, and attract business to invest in the field. I’m not an economist, but rather than running away, I prefer to face the situation and try, in my small way, to improve it!