views:

607

answers:

6

I'm a junior developer looking at possible career progressions. I generally see two career tracks, the technical and non-technical sides.

Technical Track:
Junior Developer -> Middle Developer -> Senior Developer -> Team Lead -> "Architect" role.

Non-Technical:
Middle/Senior Developer or Strong Business Background -> Project Manager -> ???

My question is, what are the possible positions attainable in most medium to large sized companies for the "non-technical" track after Project Manager? What are the salaries like for these positions? What roles do people serve in companies with a strong technical background but are now on the middle-management track?

To me, the technical side seems to stagnate some (in both terms of positions and salary) and the business/non-technical side interests me as well. I have a flair for writing and public speaking so I don't mind the human side of the equation even though I do enjoy programming.

If you can, try to be specific or give ancedotes of your own experience.

A: 

Actually if you really do have a flair for public speaking and writing then an "evangalistic" type role would possibly suit you if your tech skill are also up to the task.

Tech people who can do that are very thin on the ground and can command good salaries, the travel can be extreme though (in 2007 I did +300K air miles around asia pacific)

Tim Jarvis
Interesting. What kind of evangelizing were you doing? Agile? Or what?
Simucal
Delphi and other Borland / codegear products.
Tim Jarvis
+5  A: 

Having done both technical and management roles (in fact - I move between them all too often) I would say that while it's clearly possible (after all - I've managed!), it should not be granted that everyone can make that choice.

The two roles require very different skills, and I don't believe there's a true natural progression from a techie position to a project management position (team leading is a different question, of course).

It is very much possible that a developer would progressin his role, then decide to gain the skills required and become a very good manager, but it is just as likely to one would not. and - from personal experience at least - being able to do it does not mean you would enjoy doing it.

I have been leading teams and managing projects, but still what I like to do is development and architecture; so the question for me was- would I want to give up doing what I enjoy just to earn more money? could I not find a way to progress (what ever that means) staying in my field?

To me that meant - 1) continue to strive to be best at what I do (development) and keep learning and advancing my knowledge; 2) find ways to boost my income doing what I love to do, and as it was suggested there are ways to do that - become an independant consultant and/or an evangelist has it's benefits (and downsides, of course)

But most of all I think it's a state of mind - I do not consider development to be the first stage of anything; it's a career decision; you can then move to a team leading role, or an architect role, or to manage projects, but it is not necessary, and definitely not "natural progression" and I've worked with guys who have been developers for 20 years and still love it.

Yossi Dahan
A: 

The non-technical track is a bit more complex.

Middle/Senior Developer or Strong Business Background -> Project Manager -> Program Manager

A Program Manager runs a "program" of multiple projects.

Middle/Senior Developer or Strong Business Background -> Project Manager -> Product Owner

A Product Owner or Application Manager owns the application and works with program or project managers for enhancements or upgrades or bug fixes.

S.Lott
A: 

There is Program or Product Manager along with being the head of a Project Management Office on the non-technical track. There may also be some Planning department work that involves being a bit of a hybrid in terms of juggling what the business wants, what resources are available and what priorities do people want to place on things. The planner is the one who would map out an implementation of a new ERP or CRM system and try to provide a rough timeline of the 2-3 years it may take to get everything switched over and running properly.

There are also the consultant type of role that some companies have where you could work on various integrations where you'd come in as an expert in something that a company is implementing as a system. I suppose even in some big companies where the IT department could be viewed as its own company there is still the need for a hierarchy of escalating issues in terms of support and if that support requires additional support.

Last but not least there is also the business analyst or systems analyst position that some may find interesting where in the former there is some understanding of what the business wants and how they talk and the latter is more technical, e.g. what are the specs for a standard developer machine at company XYZ.

JB King
A: 

There are several fairly clear-cut career paths for a project manager, these are:

  • Programme (a series of interrelated projects) management

  • Product or product line management, i.e. carrying a responsibility for development of a product or a line of products

  • Functional management (heading a certain business function, i.e. software development or research and development etc)

And when all the way up straight to the board level. However, you've got the beginning of the "non-technical" ladder wrong, especially when talking of a business where information technology is not a core breadwinner, but rather an enabler (these make up for majority of software development jobs).

Within such a business non-technical ladder starts in the trenches, not at middle or senior developer level. Normally the first step is a very junior position that requires little or no formal training: call centre agent, sales person, general admin etc. Since the pay is low and the staff churn rates for these jobs are very high to motivate the troops management tries hard to create promotion opportunities.

The management very quickly runs out of call centre team leader and senior sales executive positions, since naturally there are not so many of these in comparison to the number of “soldiers” and once people get promoted to that stage from the trenches they tend to stay for longer, often for years in the hope of the further career advancement. Hence the cross-functional promotions begin with sales juniors spilling over into IT.

Here since they suck at the actual technical work they assume the positions of business support and test analysts. From there ex-sales junior can progress either onto the technical ladder (become a junior developer or start building some automated tests) or carry on into BA and PM. Many of them even give it a try, however since the technical work requires a lot of hard-skills, training and not regarded highly within non-IT organisation's hierarchy most of them move on into business analysis, then project management and so on with many of them eventually becoming “Head of IT” or taking responsibility for some other function within the business. They might even put a “programmer experience” on their CV, although they never delivered anything more complex than a VBA script.

Developers are completely different animals. Every business values their good developers (middle level up) since they are business technology experts. And the technology is meant in a very broad sense, starting with a domain expertise and ending with the deep knowledge of concrete systems that make the business tick. Good developers are very difficult and costly to replace, much more difficult than a project manager or business analyst.

Hence there is a chasm between a senior developer and any other non-coding roles (i.e. project manager, business analyst etc). There is always a shortage of good developers within a business (availability of good developers being the common limiting factor in speed of evolution of in-house software) and usually the organisation just cannot afford promoting people who can and actively code into non-coding positions. They can make you a team lead, but then eventually you’d be expected to do your coding norm anyway.

It is a paradox, but it is just so much easier to jump across to the non-technical ladder being a mediocre or junior dev, rather than a fully fledged techie. I guess that’s one of the top reasons why technically astute people from run-of-the-mill IT departments eventually move onto freelancing.

Totophil
+1  A: 

Middle/Senior Developer or Strong Business Background -> Project Manager -> Director of Software Development -> Vice President, Software -> CTO

(I believe CIO is a very different role, more focused on IT than software development)

David