Skill Longevity in Information Technology (IT)
In the early 1990s I spent a lot of time mentoring and training people in object technology. From the late 1990s onwards my focus shifted to teaching and coaching people in agile ways of thinking (WoT) and ways of working (WoT). One of the realizations that I’ve come to, depicted in Figure 1, is that any given skill has an expected period of time for which it is in demand. My experience is that platform-specific skills, such as C# or Java programming skills, will be in high demand over a period of five-to-ten years and then will dwindle in popularity as new platforms being to dominate. Of course some platforms, such as Ruby, are more volatile and as a result the skills required evolve dramatically every few years. This isn’t to say that you still won’t be gainfully employed as a Java programmer for more than 10 years, it’s just that you likely won’t be paid as much, or be in as much demand, as people who have skills developing on a newer platform. When I first wrote about this concept in 1997 in More Process Patterns C++ and Java were leading languages: C++ was declining in popularity and Java was clearly gaining. In 2005, C++ was an important but mature niche platform and Java programmers effectively had commodity skills. C# was in ascendancy and programmers with C# experience were clearly sought after. In December 2012, C++ and Java are considered mature, C# is a commodity skill, and Big Data skills were in the ascendancy.
Similarly, paradigm specific skills such as object-oriented modeling, agile testing, object programming (in general), and traditional project management have a lifespan of between 15-25 years. Paradigms such as structured development, object-oriented development, or agile software development, tend to run their course over this time frame. Structured analysis and design was overtaken by object-oriented modeling (in particular UML-based modeling) in the late 1990s and early 2000s and traditional project management is clearly being overtaken by agile project management techniques. In the 1990s structured modelers had a pretty good run but in 2005 were finding it difficult to find employment without at least object modeling skills, if not agile modeling skills. In 2012 streamlined agile modeling was the norm and UML rarely talked about. Similarly, in 2005 traditional project managers, particularly those with PMI certification, were in great demand. Now the PMP is considered base knowledge.
Finally, communication and collaboration skills, often referred to as “people skills”, will easily last you your entire career. This includes basic writing, presentation, and meeting facilitation skills. More importantly, it includes listening skills too. A very healthy aspect of agile software development is that they make the need for such skills very clear to practitioners.
I’d like to make several observations pertaining to Figure 1:
I believe that all IT professionals should strive to become a generalizing specialist, someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. Hopefully this article provides some insight into how to go about this. So should Strategies for Effective Training and Education in I.T.
This book, Choose Your WoW! A Disciplined Agile Approach to Optimizing Your Way of Working (WoW) – Second Edition, is an indispensable guide for agile coaches and practitioners. It overviews key aspects of the Disciplined Agile® (DA™) tool kit. Hundreds of organizations around the world have already benefited from DA, which is the only comprehensive tool kit available for guidance on building high-performance agile teams and optimizing your WoW. As a hybrid of the leading agile, lean, and traditional approaches, DA provides hundreds of strategies to help you make better decisions within your agile teams, balancing self-organization with the realities and constraints of your unique enterprise context.