![]() |
The Longevity of Information Technology (IT) Skills |
![]() |
![]() |
In the early 1990s I spent a lot of time mentoring and training people in object technology. In the late 1990s and early 2000s my focus shifted to mentoring people in agile software development techniques and the Unified Process. Now my focus is on mentoring and coaching people in disciplined agile delivery and in strategies to scale agile. 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. Now, in December 2012, C++ and Java are considered mature, C# is a commodity skill, and Big Data skills are in the ascendancy. |
|
Figure 1. The longevity of skills.

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. Now in 2012 light weight agile modeling is 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 and PMP-ACP is in great demand (given time this will also dwindle in popularity).
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.
![]() |
The Object Primer 3rd Edition: Agile Model Driven Development with UML 2 is an important reference book for agile modelers, describing how to develop 35 types of agile models including all 13 UML 2 diagrams. Furthermore, this book describes the techniques of the Full Lifecycle Object Oriented Testing (FLOOT) methodology to give you the fundamental testing skills which you require to succeed at agile software development. The book also shows how to move from your agile models to source code (Java examples are provided) as well as how to succeed at implementation techniques such as refactoring and test-driven development (TDD). The Object Primer also includes a chapter overviewing the critical database development techniques (database refactoring, object/relational mapping, legacy analysis, and database access coding) from my award-winning Agile Database Techniques book. |
We actively work with clients around the world to improve their information technology (IT) practices, typically in the role of mentor/coach, team lead, or trainer. A full description of what we do, and how to contact us, can be found at Scott W. Ambler + Associates.
|
Copyright © 2005-2012 Scott W. Ambler |
This site owned by Ambysoft Inc. |