The Evolution of IT Skills
Changing IT infrastructures require adaptability
How did those who worked with stone feel when the bronze age dawned? Did they toss their tools aside, go back to their caves and weep over their newfound redundancy? Of course not. They adapted their skills to make use of this substance and better yet, combined their knowledge to further innovate. Software and computation has developed at an even quicker pace, so it’s no surprise that the most in demand IT skill sets are changing. An ever growing list of languages, increased use of distributed systems and greater cyber threats are just some of the reasons that a developer needs to keep their skill base updated to set themselves aside. In fact, recently Deloitte carried out a survey where the majority of CIOs stated that at least one third of their IT staffs’ current skill sets would not be relevant in the next 3 years.
Consider when Steve Jobs released ‘Thoughts on Flash’, the open letter detailing his criticism of the Adobe Flash platform. After this announcement that Apple products would not be hosting this platform, the use of Flash began a steep decline and eventually Flash developers found themselves having to adapt to a new landscape. Companies and developers have to be ready for both unexpected moments as well following digital trends and directions.
Keeping up to date however goes beyond simply staying relevant. Most importantly, honing your developers’ skills is essential to achieving the coveted ‘agile’ development. Being agile means placing an emphasis on cross-domain skills, flexibility and continual improvement. With that in mind, maintaining a broad spectrum of knowledge in development while still possessing specialist knowledge is the first key part of this.
This ‘T-shaped developer’ will be the most valuable person to have in your company. It’s important that people have deep knowledge in certain areas, but ultimately if they’re not able to collaborate across disciplines then creating a finished product becomes very difficult. Being able to understand the significance and role that each part plays is essential to getting the higher level view of what you’re working towards. Someone who has deep knowledge of front end development, for example, might be limited in understanding the impact of their work in regard to something like DevOps. Acquiring just the basic knowledge of a system engineer could alleviate this and help them better grasp the impact of their work on the final overall function.
While being T shaped refers to a more general skill set, there’s also some more specific areas that you can call out as becoming more and more vital in today’s world. In terms of languages, an understanding of Python and Rust can offer you a host of benefits. Rust is particularly good for scalable and performant software, which are becoming increasingly common requirements for modern systems, including Distributed Computing. With the rise of cloud providers and services, an understanding of Cloud Administration is fast becoming an essential skill for building and operating modern applications. Rust in particular has been voted the most loved programming language for 5 years and its benefits in performance, reliability and security are quickly making it a must known language. Then there’s also the mountain of data that we create every day, which data science and machine learning are helping us make more use of. Python has quickly risen to the top as a the key language for developing these technologies.
Finally, there’s also system and software security. Cybersecurity is a booming industry, with threats to data becoming more and more dangerous. While the benefits of the cloud made its adoption inevitable, security concerns became a hot topic of discussion, with the same issues also being brought up around IoT and edge computing. Developing these softwares requires robust systems as their decentralised nature makes them somewhat more vulnerable to attacks. Understanding how to protect from this will be a highly valued skill and it points to the importance of security in programming languages, again making Rust a highly attractive language particularly for cloud native development.
Looking forward, developer teams will be greatly enhanced by both keeping up with current trends, such as cloud native development tools, and driving at broadening their skills. Maintaining specialisation is key, but ultimately as competition grows in technology, being able to understand the wider functions of IT will help set you aside.