I hope you got a chance to play around with the spreadsheet that I posted last week. I finally got the embedded spreadsheet to work, so you can make changes and see the outcomes right there on the blog post. Isn’t that just a thing of beauty?
The model in the spreadsheet is quite simple, but it can explain a few things – for example, why in India ‘experienced developer’ has become an oxymoron. You simply don’t find developers with more than 5 years of experience. The Valley stands on the broad shoulders of seasoned developers who can weave magic with their keyboards and relish being individual contributors. Try finding these guys in Bangalore.
Why is this so? Is it because the Indian techie hates coding and quickly wants to become a project manager? Or because the leaders of Indian companies don’t care about deep technical skills? Not at all. It’s all in the tea leaves of the model. In one word – it’s about growth.
Growth, span of control and years of experience at which a developer transitions to become a project manager, are tightly linked. (Here PM is tightly defined as the first level of supervision, not the PM grade that many companies has). A realistic staffing model of PMs with 5-7 years of experience with a span of control of 7, cannot support a growth rate of more than 40%. And this is at the industry level. At the company level, attrition will take the growth number even further down. Most companies lose more experienced people than they are able to recruit and try to make up by recruiting more at entry level and stretching the staffing model.
Take an IT Services company with a staffing model where developers become PMs at say 6 years experience and the average span of control is 7 developers to each PM. Let’s say the company wants to grow faster than the pedestrian 25% it has been growing at. Where is it going to get the PMs to run the projects? Recruiting them at a faster pace is next to impossible – you can barely keep up with current requirements. The two levers that management has are:
1. Promote developers to PMs faster (at say 5 years)
2. Increase the span of control (to say 8 years)
Both these levers require management to ‘promote and incentivize’ project management. Developers are encouraged to develop the skills and move into project management, and are given no incentive to become senior developers. Salary hikes and other rewards and recognition are focused on project managers. As you grow in the company your badge of honour becomes the number of people in the pyramid below you.
Slowly, this starts creeping into how your success is seen in social circles. ‘Rahul is still a developer. His batchmates all became PMs last year. I wonder what’s wrong?’ Next thing you know Aman can’t get married because his back-channel reference checks all turn out to be ‘Nice guy, but not doing well in his career’. No matter that Aman is the best performance engineer the company has and prefers to stay an individual contributor.
Is this scenario going to change any time soon? Not likely. The software industry, which might value senior developers more, is small compared to the size of the IT Services industry and is going to stay that way. The IT Services industry continues to grow at a torrid pace. Growth rates would have to come down substantially and stay that way for years for things to change. And nobody wants that. If there are a few software companies who feel the dearth of senior developers, let them figure it out themselves.
This is a very broad-brush treatment of this issue. The IT Services industry in India is now huge and there are bound to be exceptions. Individuals that make their own choices regardless of what everyone else is doing. And companies that think differently, or that are large enough to nurture a small group of seasoned developers who prefer to remain individual contributors. But the big picture is that you can’t have your growth and eat it too.