Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you're developer (Senior or Lead Developer) and you'd rather stay with code/design than pursue a management career, what are the available career paths at your company, or any you've heard of? How far can you go?

Is it possible to continue being a geek until you bite the dust or is that too naive?

Are people like Uncle Bob for example still considered developers, as they claim?

share|improve this question
3  
Good question. Imagine if cientists investigating a cure for Alzheimer, or space travel, stop doing geek-scientist things in order to advance his career through management, bacause there's no career path for them. Sad. –  user61852 Jun 20 '13 at 12:55
3  
@user61852 But they mostly do stop doing geek-scientist things as they advance, this is not a problem specific to software. One of my friends got her PhD in microbiology at one of the German Max Planck institutes. Her boss loved doing research, but once he was at "the top", admin/management took over his life. Personally, I would avoid going into management as much as possible, even if this means taking paycuts. –  Cristina Jun 20 '13 at 14:01
1  
Perhaps, I was having a same query in Mind. How about having a dual skills set/experience? I reckon, technical guys can jump from Software/Senior Software Engineer to Team Lead then Architect position. Moving further, should start getting management experience. This path can lead to IT Director - CTO. then Further lead to CEO. Though It takes more time to reach there but just my opinion.. Share your views? Cheers. –  user95990 Jul 8 '13 at 7:48
2  
Being a geek is a state of mind, so as long you still have that you'll be ok:) As for career, it's tricky, not every one can be an IT director or CEO, some companies (not many admittedly but I've been fortunate enough to find one) will try to take in to account what you want to do as well as what you can do, they have perhaps wider salary bands than some other companies which allows me for example to stay as senior dev and not feel the need to seek out "promotion". –  Chris Lee Sep 10 '13 at 20:55
    
One thing to bear in mind is that if you stay in a job long enough, you may end up slowly taking on managerial responsibilities. If you have 10 years experience and the only people left are graduates, you will be expected to lead them - no need to be scared, it is probably rewarding and refreshing to help fledglings and before you know it, you've gained management experience. –  Heatwave Jan 25 at 23:32

15 Answers 15

up vote 75 down vote accepted

I am going to go out on a limb here and say something that is not likely to be the answer you want to hear, but if you don't like management, your career path is going to be very limited. If what you like to do is code, and if you are really good at it, and you don't want to stop, then your career path is on a single trajectory: software engineer and then senior software engineer.

If others recognize how good you are then their inclination will tend towards putting you in a position where you can transmit your experience to others. In other words, they will want you to manage and/or direct. It is hard to take on that added responsibility without taking on some form of management. If you are an architect and responsible for a system's design, and if you want that design to be successfully implemented, you will need to lead and manage others. If you become a founder of a start-up and you become successful, then chances are at some point you will need to hire someone to help, and then you will need to manage them. If you become a CTO then there is no way in hell you will be able to not manage.

That being said, I don't think this question can be answered without understanding what it is about management you don't like. Do you not like managing personnel? Do you not like the idea of coding not being your primary responsibility? Do you not like the burden of responsibility for something's success?

The answer to that underlying question will help point you in the right direction. Or to put in another way, a way we should all be thinking about the work we do, is this: what does your ideal job look like? Forget about titles for a second, forget about the company you work for, just focus on your day-to-day life, and those things that will make you truly happy and thrive. Then work to create that position at the place you work, or at a company you build yourself.

share|improve this answer
1  
Wow, Truly Clear Answer. –  Md. Mahbubur R. Aaman Jun 20 '13 at 4:33
3  
Imagine if cientists investigating the cure of Alzheimer, or space travel, stop doing geek-scientist things in order to advance his career through management, bacause there's no career path for them. Sad. –  user61852 Jun 20 '13 at 12:55
1  
I know of at least 1 company where engineers make much more than managers (more than double in some cases). –  mike30 Jul 8 '13 at 14:25
1  
+1 what does your ideal job look like? And it's not always about the money, I asked myself how much is not coming home everyday disenchanted with my job worth per year? Turned out for me, it was worth a fair bit! –  Chris Lee Sep 10 '13 at 20:59
2  
"your career path is going to be very limited" -- that's based on the notion that "management" is somehow better than "software engineering". IMHO it trully depends on what you want to achieve, for yourself. If someone is happier engineering systems as opposed to managing others doing so, then I say stay in engineering and do geek things. –  miraculixx Jan 26 at 1:18

Depends on the sort of company you work for.

Many companies don't value talented, experienced developers as highly as managers, and will never reward them to the same level <- This is not the sort of company people like you should be working for.

Other (usually more tech-focused) companies will value their developers more, and staying in technology should not limit your career in terms of reward and status <- you probably want to work for this sort of company.

If you have a bit of entrepreneurial spirit you could also start your own company - then you'd be the boss.

share|improve this answer
    
It's company's management that decides who's valued and it's pretty weird to say: "we're not valuable". –  m3th0dman Jan 25 at 23:08
    
@m3th0dman it wouldn't be "not valuable" be more "not as valuable", something that is often true but rarely admitted. –  Evicatos Apr 23 at 19:08

At my company, the management and individual contributor tracks are separate and mostly parallel. Individual contributors can rise very high in the company (up to Technical Fellow) without being a people manager. It helps to partially avoid the Peter Principle, though never completely.

share|improve this answer

Although Architect seems to have negative connotations, I think that's the technical equivalent of moving to management.

share|improve this answer
4  
An architect doesn't necessary manage people or a project, so it's not always a management move. Our software architects are the people who are very good at working out the best architectures for our projects. –  JBRWilkinson Oct 28 '10 at 13:28
    
@JBRWilkinson I'm not exactly looking for a management path (as a matter of fact I looking for anything but it :D).. I'm just asking for a reasonable "appreciation" for one's experience (financially & else), a career path not another way to be "technical" management :) –  Shady M. Najib Nov 7 '10 at 7:50
    
@John Macintyre why does the Architect have negative connotations? He is at the top of all the developers? Is an architect considered a bad position? –  iOsBoy Aug 28 '13 at 12:59
2  
@iOsBoy Personally, I think Architect is an awesome position, however many devs associate the title architect with ivory tower architects who ignore the details of moving an abstract design into the reality of code and architects who think coding is beneath them and they've either forgotten how or never could in the first place. Google "software architect can't code" or "software architects suck". –  John MacIntyre Aug 28 '13 at 14:30
1  
@JohnMacIntyre from everything I've seen Architect is, as you suggest, the technical equivalent to manager. However, the negative connotations only seem to come into play when an architect loses his or her ability to implement their own designs; simply pointing to a technology and saying "use that" isn't an architect. –  Ryan Dec 30 '13 at 0:09

FWIW, Microsoft (like other large companies, I'm sure) has career paths for non-managers that go to VP equivalent levels (Distinghished Engineer and Technical Fellow). MS is really big on showing a career path for non-managers.

share|improve this answer
7  
so far, all large companies I've been with don't have a career path for engineers unless you a) have been with them for the vast majority of your career or b) want to go into management. MS is just a pipe dream for the overwhelming majority of us –  geocoin Oct 26 '10 at 9:28

Probably something like this:

Jr Developer -> Developer -> Sr Developer / Team Leader / Lead Developer -> Software Architect

share|improve this answer

Contracting. There's far more money in freelance work.

share|improve this answer
    
But can't you see any career path in the same place? –  Shady M. Najib Sep 9 '10 at 18:44
3  
Unless you are lucky enough to work for google, thoughtworks or a smaller company with similar values. No. All roads lead to non-programming architect, not somewhere I want to be –  Ryan Roberts Sep 12 '10 at 12:24
3  
Contractors can command a high salary for being very good at something very specific, unless their specialist technology is widespread, in which case their cost helps them absorb short notice periods. –  JBRWilkinson Oct 28 '10 at 13:26
    
Contracting is a good option because you move around and work on a wide variety of projects, you have the satisfaction of working for yourself, you can earn just as much money, if not more, than a manager, and avoid paying some tax. Some don't like the idea of contracting because of the perceived lack of job security. –  Netricity Sep 19 '13 at 19:55

There are several paths I've seen taken:

  1. Product Manager
  2. Requirements Analyst
  3. Architect
  4. Team Lead
  5. Configuration Manager
  6. Technical Writer
  7. Start-up Founder
  8. Grant Writer
share|improve this answer
    
Grant writer? What that supposed to be doing? –  Shady M. Najib Sep 9 '10 at 18:41
    
Technical writer!! At my company technical writers are more or less those ppl who write user guides & similar stuff.. is that what you meant? –  Shady M. Najib Sep 9 '10 at 18:43
    
There are a ton of crazy ideas that are available for funding by the US government which are accessible to those who can write a semi-technical proposal. You still have to be somewhat technically proficient. –  wheaties Sep 9 '10 at 18:55
3  
@Shady - yes, they write documentation and technical reports, etc. It is a difficult task and requires a high skill level as you must understand all the languages and technologies to be able to extract the usage scenarios, error handling, etc.. which is all documented by the programmers, right? :-P –  JBRWilkinson Oct 28 '10 at 13:23

Depends on the company. A lot of companies offer two paths for advancing developers: technical and management. If you prefer technical, you move slowly up the pay grade, developing valuable dev skills, but sticking with development- you become a guru. It's less money than going management, but if you want to hack 'till you die, it's the way to go.

share|improve this answer
    
Still I wanna know what sort of titles/responsibilities/positions that might be available? –  Shady M. Najib Sep 9 '10 at 0:21
    
Where I worked, you would get the same Title i.e. "Manager", but your roles and responsibilities would be of an Architect rather than a people / project manager. Though I have seen this last only till Sr. Manager - never seen a Director or Vice President coding ! –  Preets Sep 9 '10 at 13:55
    
@Preets: I have :) –  talonx Sep 26 '10 at 17:26
    
@talonx, I was obviously working at the wrong firm then ;) –  Preets Sep 28 '10 at 14:42

If you work for a small company being a developer may be the highest role unless you start your own company. You will then become a Developer/Director. Don't worry too much about reaching the highest technical role in a company. Just do what makes you happy.

share|improve this answer

If you work for the right kind of company then there should be no limit to being a developer as long as you are really good at it. Management is actually one of the easiest ways to climb the career ladder if you are less technically proficient. I have seen this very often in the world of software development.

So I think that if you want to live in the code world but get to the top of the tree, you need to make sure you work for the right company - if you are good enough for long enough, they will make a position for you - ultimately you may end up being a decision maker (but not a manager) due to your vast experience. I have seen developers move into Senior Vice President roles without having anyone to manage, but due to their knowledge, experience and enthusiasm.

Also, it may sound obvious but you should speak to your boss about what your career advancement options are - you may be surprised. It helps if you think about some potential job titles that do not exist in your company and you can ask your boss if you can work towards changing to that - something like "Head of Code Quality" or essentially a title which hints at more than just a developer even though you may still just be a developer - this will make you stand out when it comes to future promotions or even pay reviews. You have to remember that there are less jobs at the top, so you need to stand out. A lot of people say a job title means very little, but that's not true - it can make your career if you choose your own - doing this simple act also shows some ambition.

share|improve this answer

Texas Instruments had a dual ladder when I was there.

  • Engineer Associate
  • Engineer
  • Senior Engineer
  • ---- from here on, you had to be nominated in by someone already higher up
  • Member of the Group Technical Staff
  • Senior Member of the Technical Staff
  • (maybe) Distinguished Member of the Technical Staff
  • TI Fellow
  • TI Senior Fellow
  • TI Principal Fellow (there was only one of these in the company, as far as I know)
share|improve this answer

there are many titles that are found in a programmers path if he stick to technical career, such as

  • Lead Developer / Lead Development Engineer.
  • Team Leader.
  • Solution Architect (focused on system design and integration, etc.).
  • CTO (Chief technology Officer) .. this is totally technical but with a spice of being top technical person in the Organization.
share|improve this answer
    
Not sure what CTOs you've met, but none of the few I've met actually do much of anything technical anymore... Seems to be the title that IT Managers who carry iPads end up with. If you're an IT Manager who's fighting against iPads, then you get the CIO title. ;-) –  Brian Knoblauch Mar 8 '12 at 16:54

Always remember that you can take another path and become a software consultant.. You can also work on other projects in parallel like writing some books or working in a blog...

share|improve this answer

If you don't like management you should get in to management to change things and make it acceptable to like-minded individuals.

share|improve this answer
2  
There are limits to do things you don't like, and when those things include managing people, it is really not recommended IMHO. –  Matthieu Dec 7 '11 at 19:50
4  
Life's too short for that. –  Brian Knoblauch Mar 8 '12 at 16:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.