You are also familiar with the division into backend technologies (internal application logic) and frontend technologies (coding the graphic layer of the application). If you consciously manage your career and plan it for several years ahead, the question of which specialization to choose seems to be very important.
As I write these words in May 2021, there are several megatrends in the IT world that are changing the image of IT as we know it. Some of them have already been with us for about a decade, others for just a few years and are only just gaining momentum.
The first trend that really blurs the distinction between software development and infrastructure positions is the cloud. You're probably familiar with the concept. In a nutshell: today, a company does not need to have its own infrastructure, it can rent a piece of infrastructure on a giant "server farm". The main cloud providers are Amazon, Google and Microsoft. Thanks to the cloud, even small companies can afford computing power that was only available to tech giants 15 years ago.
The second trend is the huge growth of data science and machine learning algorithms (a bit exaggeratedly called artificial intelligence algorithms). Critics will say that data science is nothing more than "statistics on steroids". Proponents of data science would say that it is an interdisciplinary field combining statistics, mathematics and computer science, which allows us to make use of data that has so far remained hidden and unused. Machine learning/AI algorithms are algorithms that are able to read patterns hidden in data and thus, by learning themselves, further develop these patterns. ML has not been with us since yesterday. It is practically as old as computer science and computers, dating back to the late 1940s. However, it is only with the development of the cloud that ML has gained momentum. Previously, the lack of computing power of computers effectively limited the development of ML.
The third megatrend is the gigantic automation and universalisation of code development. It can be said that for decades two camps of IT practitioners and theorists have been arguing with each other. What is more important: hardware or software? Originally, the hardware camp had a dominant position - software was written for specific hardware, hence the key role of the person configuring the software for specific hardware. The cloud revolution has meant that configuration has become automated. The "Infrastructure as a Code" software (IaaC) made deployment of software to hardware is becoming more and more automatic. Currently, this is handled by the so-called DevOps, but what is gaining more and more ground is the so-called continuous deployment, where deploying the software on hardware happens completely automatically.
The fourth megatrend is the Internet of Things (IoT). This means connecting so-called embedded systems - the small computers you know from your fridge, dishwasher, or car parking sensors - to a cloud-based application that can manage them remotely. Thanks to new mobile phone technology called 5G, which provides cities with much faster data flows than ever before, embedded systems can communicate with each other through a cloud application. The times of so-called connected cities are ahead of us.
What does this mean for the recruiter in practice?
The language in which ML algorithms are mostly created is Python. Python programmers with knowledge of frameworks like Pytorch or TensorFlow will certainly be very much in demand. Taking into account that Python is one of the easiest programming languages and may displace Microsoft and perhaps Java technologies in the future, it is worth thinking about specialising in Python technologies.
A language that allows incredibly fast computing in the cloud, thanks to so-called built-in concurrency, and thus creating huge financial savings in cloud usage is Go (also known as Golang). It's a relative language, developed around 10 years ago in Google's labs. According to many well-known CIOs and IT commentators, Go is the absolute language of the future when it comes to writing backend code and creating so-called microservices. Go programmers are scarce and the demand for them has increased significantly in the last two years. Specialising in Golang recruitment seems to be a sure choice.
Is it worth to specialise in recruiting Java programmers? Java as a programming language has the most developed ecosystem of frameworks, libraries and a whole bunch of tools facilitating software development. There are also many languages based on the so-called Java Virtual Machine (JVM) such as Scala, Groovy or Kotlin. It is also a very stable language and therefore, for example, globally the most popular in banking, or in the creation of large applications (enterprise-class). Certainly, in 10 years the demand for Java programmers will not disappear. For more than twenty years, the question of what will replace Java and whether Java will survive remains a rather futuristic question. For now, Java is still doing well and the growth of IoT is only likely to help it survive.
In the context of IoT development, the importance of embedded systems programmers programming in C++ or even C will increase. Applications managing embedded systems located in the cloud will be mostly written in Java.
Certainly, traditional infrastructure positions such as system administrator or storage administrator are in retreat. Over the next few years, the role of DevOps - a combination of administrator, developer and tester - will grow. Specialisation in DevOps roles is a very interesting option.
In a connected world, the threat of hackers and cyber terrorism is growing. You can already see, as in the last year of Covid, a huge increase in demand for IT security specialists. Especially large corporations are expanding departments with these competencies. This trend will only increase.
We hope you find our content interesting and stay with us! If yes, don't forget to subscribe to our newsletter and follow MRE on social media.
If you want to learn more about technology concepts for non-tech people, check our training on Learn IT Recruitment