Past few years I have had this realization:
- I need to use a lot more of my non-technical skills (60%) than my technical skills as my interaction role expands.
- Role expansion is dealing with less of hardcore programming activities and more of problem resolution at various levels.
I still think that a great architect+designer+programmer is far superior to any good project manager - for he can make or break the quality of the project. However, the sad aspect is in most organizations the tech lead is not half as well paid as a project mgr.
Also, negotiation and communication skills needed for handling aggressive non-realistic deadlines also need to be learnt to survive to move forward in this domain.
The question I ask is this:
What is ladder that programmers are expecting to climb - in the coming years? You want to explore every nitty gritty of features in X technology or learn 10 more technologies in the coming years or grow the managerial ladder (ah that's boring but so well paying....) - considering the job market and existing hierarchy in organizations.