Posts Tagged ‘disruption’

Evolution of a Coder, Developer, Technologist in a Given Technology or Coding Cycle!

Tuesday, December 11th, 2012

Inspired by a tweet by Vivek Wadhwa –

“What’s the shelf life of a techie? Just 15 years — Good advice from India. Applies here also”

and by drawing on Dr. Clayton Christensen‘s work on disruptive innovation for companies/businesses, here are my thoughts.

This is article is spot on – without really qualifying the “5 years” as the period, a techie/developer has to evolve to the next stage of their career or risk being “irrelevant” in tech industry completely.

Note: In this post I am treating Language & Technology as one and the same even they are not. Both languages and technologies go through similar cycles;

If you take a slice of the talent pool at starting of this 5+5+5 cycle, and study how their careers are evolving in the next 15 years, one will find many interesting trends that validate some of my assumptions I published in this post.

At the start of cycle, qualifications for entering and picking a new technology or programming language is much lower and new graduates are willing to jump in for few reasons. There is less competition, less compensation and less expectation of quality.

Forces impact Coder / Developer’s ability to enter, learn & thrive coding languages and technologies

During the middle of the cycle, once the technology/programming language starts to mature, more and more people enter the foray, comp inflation creeps in and higher barriers for new entrants to enter into the space as early adopters become incumbents and experts. This is the hardest phase/cycle for fresh graduates and inexperienced professionals to enter in the cycle. So, either they struggle to get into the current coding cycle or try to look out for a technology cycle that is just about to start or completely abandon the developer world and pursue managerial & other adjacent careers.

Professionals who are in the 3rd phase of their current cycle (10 to 15 years), will inadvertently become irrelevant to enter into the new cycle either in Phase 1 or Phase 2 for various reasons. To enter in Phase 1, its too beneath their compensation expectation or visibility. Also, their age, family and financial constraints create additional barriers for them. To enter Phase 2 of the new cycle, these people have to compete with incumbents who entered in Phase 1 of this new cycle. So the challenge for people who are in Phase 3 of their career is they either have to either be at Executive level who can leverage their financial and social capital to continue to generate value for themselves or fall of the cliff to go into other verticals like real estate investments, venture capital, advisory services, etc.

So, for each individual, the best choice to enter into a particular Tech Cycle is not only based on timing but also their individual constraints – age, financial expectations, burn rate, social/family pressures and fundamental aptitude to be good at programming/technology leadership. So, it is a very subjective decision for each of us to enter, stay, thrive or stay away in any particular tech cycle.

Entry Level Candidates:

While it is tempting to enter into maturing technologies (cycle 2/phase 2) as there are many opportunities and also attractive compensation trends, it is best for them to enter into brand new technology cycles/new entrants. This allows for them to dictate the future of the emerging technologies; also make them incumbents when these new entrant coding languages/technologies become mature/established technologies. There is also huge risk for new grads to bet on unproven technologies and coding languages. If they end up entering into unproven coding languages that don’t take off, they not only are stuck in their career path but also missed out on other proven & successful languages/technologies (Phase 1 technologies) but also current mature languages/opportunities (Phase 2 technologies) where despite competition and compensation pressure opportunities still exists.

Mid Level Candidates:

Ideal situation for coders/developers is to become incumbents in a coding language by the time that language is in its cycle 2/phase 2 of its existence. They are able to command higher compensation despite high competition from entry level candidates. People who have natural aptitude for coding and programmering could try to hedge in the current Cycle 2 programming language as well as keep a close eye on newer languages that are in their cycle 1. In the language that is in cycle 2, assuming they have gained expertise, mid level candidates can thrive and command higher compensation and visibility.

Experienced Level Candidates:

These candidates have the greatest potential or greatest risk based on their expertise, knowledge and visibility in a particular coding language or technology. If these individuals grew with the language from its cycle 1, their potential to thrive is huge. If not, there is a risk of these professionals becoming irrelevant.