The world is changing at a rapid pace. Many jobs get automated away. AI is gradually taking over. Because of this, there are many professions that thrive today that will not exist tomorrow.
As a software developer, you shouldn’t worry about technology replacing your job. You are contributing towards creation of the said technologies. And the demand for software is only increasing.
Nevertheless, you can’t just sit idly either. Even though the software development profession will not disappear, it will definitely keep evolving. And even though the profession itself will not be automated away in the perceivable future, certain tasks that developers do will be automated away.
So, even though your profession is unlikely to disappear, it may transform itself into a low-skill role. And this will, of course, negatively effect the salaries. The lower barrier to entry there is – the lower are the salaries.
But fear not. By applying four simple principles, you can stay ahead of the game and protect your career from any potentially negative future changes.
1. Keep yourself up to date on new technologies
Keeping yourself up to date on the languages, frameworks and other technologies you work with is what every developer must do. It’s one of necessary evils of the profession.
There is an axiom that technology completely changes over a two year period. So, the stuff you will be working with in two years from now will be completely different from what you are working with now. Of course, it’s not always the case. But often it is.
If you just carry on working with the same technologies and on the same application types for years and years, you may still be able to keep your position maintaining the legacy code, but you will be extremely unattractive to any potential employers. Also, the longer you ignore new technologies, the harder it will be to learn them once you really have to.
But the good news is that keeping up with the new technologies is not really difficult. All you have to do is spend an hour or so per week. You can easily incorporate it into your normal routine.
All you’ll need to do is visit some reputable tech news website (to get to know the general trends) and some website related to a specific technology or vendor (to know your specialist field). For general tech news, you can use Wired, The Verge or The Register. I personally prefer The Register. And then find a good source of news related to the area of your specialism.
If you are a .NET developer, Visual Studio Magazine could be a good choice. Or Java Magazine if you are Java developer. You will easily find the source related to your specific area.
2. Make sure your work is “above the API”
For those who are new to programming, API stands for “application programming interface”. It’s what allows different software apps to communicate with each other.
“Working below the API” refers to a job that can be performed by software or that is controlled by software. For example, Uber drivers work below the API. What they do is entirely controlled by an app. Plus, even their job itself can theoretically be performed by a computer. Self driving cars are already a thing.
A plumber, on the other hand, works above the API. Each task is unique and it’s impossible to automate it. At least, not until the AI matches the intelligence level of a human being with an average IQ. And this, despite some popular misconceptions, is not likely to happen at any point in the near future.
Any job that is below the API is at risk of being automated away. This is a good news for plumbers, but a bad news for Uber drivers.
But how does that relate to software development? Well, it is quite relevant. There are many tasks in programming that are extremely easy to automate. Those include developing web pages with basic layout, writing boilerplate code, writing basic CRUD functionality and so on. Some of these tasks can be automated even without the AI. People write libraries for these things all the time.
But the problem is that there are many developers out there whose job consist almost entirely of doing these tasks. If this applies to you, you are actually at risk of becoming redundant. Why should your employer keep you and pay you an above average salary, when it’s possible to do all these things with a press of a button?
On the other hand, designing and building large-scale distributed applications cannot be fully automated, even with the most advanced AI. Neither can be Internet of Things development.
So challenge yourself. Get out of your comfort zone. Keep studying technologies. And keep volunteering for more complex tasks. Even change your employer if necessary.
3. Work on your soft skills
Soft skills is an all-encompassing term that refers to all types of skills that aren’t directly related to your ability to do specific technical work. These include communication skills, emotional intelligence, team working and time-management among many others.
Soft skills are things that AI cannot do and won’t be able to do any time in the near future. Therefore if you possess them and if they are important to the job you do, you won’t be easily replaced by the AI.
But making your job future-proof is not the only reason why you should develop your soft skills. Soft skills provide you with many other benefits. For example, you will get along with people better. Or your career will grow much faster.
I get it. Many programmers are introverts and they would like to believe that it’s only the ability to code well that drives their career success. But this is not true. Your salary depends on your ability to negotiate as much as it depends on your technical skills. Likewise, you may land your dream job just because you are a good communicator and you have met a director of some company at some conference who liked you.
You may think that this is unfair and that your technical skills should be the only factor that should determine your career progress. But the reality doesn’t agree with you. Plus, it doesn’t matter if you are the best coder in the world. If you can’t get along with anyone in your team, nobody would want to employ you.
4. Think of yourself as a problem-solver rather than a programmer
Even though it is extremely unlikely that software development will become a low skill and low pay activity, it’s not entirely implausible. It may happen, however unlikely it is. To protect yourself from this, you can start thinking of yourself as a problem-solver rather than a programmer.
This technique will trick your mind. If you think of yourself primarily as a software developer, then it will be hard to transition to a different career once software development no longer pays off. Your subconscious mind will perceive it as a massive change. It will automatically bring up the amount of studying and work you did to get to your current position. It will perceive it as starting from the square one.
If you, however, think of yourself primarily as a problem-solver, then you will train yourself to remember that you have tons of transferrable skills that you have built over the years. The change of career will not be perceived as dropping everything and starting from zero. It will be perceived as embarking on a new project within the same professional field.
This is precisely how I transitioned into the software development career after completing a masters degree in a completely unrelated subject. I was able to teach myself how to code. And I never regretted spending several years doing the degree and working in a different profession before that.
My degree was science-related and scientific thinking happens to be very helpful in the field of software development. So are many other transferrable skills that you learn as a trained scientist. Plus, in my career prior to becoming a programmer, I was building hydraulic models. The process is very similar to building software. The hardest part was to learn syntax, but I still perceived it to be relatively easy.
I don’t perceive that what I do now is not what I went to university for. I went to university to learn to become a problem-solver. It’s just that the case studies and exercises were different from what I do now. But that’s exactly what I work as.
So, if you see that software development is no longer viable, find out what else you could be potentially good at that is not too different. You already have transferrable skills. And your experience is still relevant. You are not starting from zero.
You are a problem-solver. Only that the problems you will be solving will now be in a different domain.
It is very unlikely that increased automation will negatively affect the IT sector. But even if it does, you are now fully equipped to deal with it.
The principles are simple, but they are not necessarily easy. But if you start now and make them your habit, they will become easy.
All the best and have a prosperous career!