Have you seen that one of those movie scenes where a villain forces his victim to dig his own grave, leaving him alive just until the hole is dug?
There are two big ongoing IT hypes: development of AI (Artificial Intelligence) and teaching more kids how to code.
There are a few issues with both.
First, once the AI is good enough, it will take the jobs of all those people who spent 20+ years preparing for it. With recent developments, without any doubts, I can say that AI takeover will happen in the next 20 years, probably sooner.
So, knowing your jobs will disappear, do you really want to be a coder? And what about all those things no one is mentioning?
You’ve heard that coders have above-average salaries, so you are thinking about learning what is necessary to achieve the same. That is true. The IT workforce has above average salaries, at least in comparison to an average, middle class salary. However, it is worth mentioning that inflation-adjusted IT salaries pretty much correspond to those average salaries from mid-70s, so it is not that developers are earning more, it just happens that everyone else is earning less. Or, to be precise other salaries have not followed inflation for the last 40+ years.
The only reason why IT salaries are not following the same salary stagnation is skill shortage.
The current government sponsorship of coding schools has little to do with making good and empowering people.
The main driver of this trend is cost reduction. The more programmers become available, their salaries will drop significantly. If we consider that there are 18.2 million programmers in the world, and that the projection is 26.4 million , it is obvious that just a $1000 salary reduction on an annual level will save ~$26 billion. Now, just imagine if current world IT salaries would reduce by half. Such dramatic reduction would “save” trillions each year for investors.
Although it would be good news for businesses and shareholders, it is definitely bad news for coders.
Why else would you become a coder?
You would like to make a better world, is that it?
Create new technologies and improve quality of life?
You are maybe young and ambitious, excited by technology and fantastic futuristic stories promising a phenomenal future... and that is all fine, but all that is actually blinding us from seeing the real picture.
Today, we possess all the technology to fix almost all the problems we have and live in abundance, yet, again, all the money goes to the top 1% — which usually spends that money to gain even more money. In this process, they are spending significant amounts on luxurious homes, private jet, yachts, political influence, longevity drugs, and similar.
So, no, you will not make a better world, at least not for everyone; you will just help the current aristocracy to become even more powerful and long lasting.
Next is age. Ask someone who is going for a job interview at a tech company to ask them the average age in the company — or you can simply Google it.
The probable answer will be around 30 or bellow. Also, ask how many developers above 40 they have. Then ask yourself what will you do when you are past that age? Face it, brain power, same as beauty, is temporary. Maybe newer “models” are inexperienced, but, almost as a rule, they are faster thinkers with better memory.
Next: What does a working day of a programmer look like?
Imagine that you really like assembling puzzles. You love it, you adore it, you feel you could do it all day long... Superb!
Now, imagine that you have to do it 8+ hours every day, for the next 10-20 years—each day, puzzles. Puzzles in, puzzles out, and more puzzles, same puzzles, simple puzzles, complex puzzles, already done puzzles... And that is not all! As if puzzles are not hard enough on their own, there is pressure.
You will be forced in many tasks to meet a deadline, to assemble the puzzle by beating your previous record. Sometimes, you will be asked to assemble pieces that do not go together; sometimes, you will be asked to do things that are wrong, and, despite your knowledge, healthy logic, best practices, and advices, you will do it—just to be blamed for those same changes after a few months, when everyone forgets who was forcing them in the first place, as they caused the issues you anticipated at the beginning.
So, before you jump into the field, try to find statistics on how many people in IT burn out, how many of them have premature signs of aging, how stressed and overworked they are.
It is interesting to mention that, when things work as planned, all the fame goes to those on the top; when things start falling apart, you (“coders”), as a rule, will be in the front line getting all the heat.
You will get your salary alright, but, face it, you are doing it because you must.
Otherwise, why would you spend countless overtime hours doing the job that makes you miserable?
I have not even mentioned occasional issues with colleagues, but, again, that is part of any workplace, so you will learn to deal with it.
What is the way to succeed?
Like in any job, be compliant, obey the rules, do what they ask you; otherwise, you may end up with a bad recommendation letter, just as it happens you stumbled upon a tyrant boss.
There are many other things, scams, hacks, recruiter agents that earns 25% off you, lack of social life. Constantly learning and relearning things that are the same but someone made them look different just because. To stay in the game, you will sacrifice huge amounts of hours learning new things, and yet you will often work with people who have less knowledge but higher salaries than you.
So, to work as a coder, you really, really must love it and be prepared to give most of your life to it. Despite everything I just said, if you are still thinking of pursuing a coding job, do me a favour: don’t work for someone for long, 3-4 years tops, just to get a bit of experience, save money, and try working on your own ideas. Try to be your own fisherman and try catching your own fish.
Coding is very much like reading and writing: it is an extremely useful skill, it can give you a different, new perspective and the ability to think differently, so I would recommend it to everyone. But, doing the job of a programmer is a completely different subject, so make sure you really want it before you even start.