I've been working as a programmer for the last few years - different companies and freelancing, mostly developing internal-business web applications (well, that's the current model of development, it seems).

Besides simple coding I was working on specs, designing applications, and all those around-like things.

My question is, what's the career path I should be aiming for? Is it like working on code for the rest of my life? :) Or do programmers make a good manager-position people (I know, those require quite different set of skills) and I should try to improve myself to this direction?

I know it's very subjective. Thing is, lately I find myself much more into the designing/working on specs part of the development project then the coding itself.

How do you see it? Would you like to go from development to management? Would you like to work on a project with a manager that used to be a coder? Would you like to hire one? :)

27 accepted

There seem to be two advancement paths (manager and senior coder), and different people prefer each one. I would not say there's any downside to having managers who used to be coders; the best managers I have worked for/with were engineers (previously or current).

The one caution I'd say is that in general, the management path has more potential income associated with it, especially in larger companies. So if you're open to either equally, it's probably financially better to go the manager route.

Personally I have gone the lead developer route, but that's cause I like coding much more than I like dealing with inter-personal issues, but I have known people who have the opposite mindset. It's very individual.

  • Own business - You can think about your own startup too. If you got the real passion and idea - Of course we know that programming skills is not just enough for this.

  • Manager - Programing background is always a plus for the project manager especially if you are in a product development company. You can talk more closely to the context when managing people.

  • Technical Lead / Architect etc - I would recommend you to take the real technical path only if

    • you are not tired of learning new things everyday,(Technology is at its baby step, new things are coming everyday)
    • if you are confident to estimate the work, design it and divide the task for the team.
    • If you can spend a lot of your personal time thinking about solving problems.

I think an earlier poster said it best, however quckly, ?do what you like most? but finding that can be very difficult. At my company we realized that great developers don?t always make great managers, and great managers sometimes weren?t great developers. We have a ?Lead? Developer role to try to bridge that gap and let people make more money, and try their hand as leading a small team of developers. This is a very different job than a Development Manager, the Lead develops most of the time, instead of managing most of the time.

At my company these two roles make about the same amount of money, but there isn?t as much upward opportunity for the Lead without transitioning into a management role. The Dev Mgr can transition into managing larger and larger teams and if they lend themselves to architecting they could manage entire projects.

It also seems like you?re interested in the Program Management role. The PM focuses on designing the application and interfacing with the customer. This can be a very fun and exciting role in software development that can lead the person to manage large projects or even entire suites of applications.

The one piece of advice I can really give is: never stay at a company if you do not absolutely love your job. There is so much going on in Software that there is something out there for everybody, you just need to spend some time finding that.


You can be both manager and coder if you get yourself into the right company and then write yourself into your own schedules. I did this for many years and it gave me the career development of being a manager, kept me hands-on with the technology and meant I was in touch with the real day-to-day issues of the developers which can easily be missed (build environments, admin, work environment, equipment issues, relationships, factions, coding styles etc.). I have enjoyed it a great deal.

The management end of it can look like it is bad, especially if you have not done it. On reflection I have found it the most rewarding. If I think back to the moments in the last 10 years of my working life which have been hardest and most fulfilling they are all about people. There were some memorable technical events and some very nice moments when products launched and difficult things got solved elegantly, but they all come second to building a happy team of motivated people doing great work and enjoying coming to work.

If you are technical and have an inclination towards management then there's every chance you'll make a good technical manager. I say go for it.

And if you want to be totally selfish about it, the managers eventually get paid much more than the techies (with very few exceptions).

If you start your own business you will be manager and developer and designer and network engineer and web developer and janitor and...


At my company, they have two different "ladders" - the management ladder (the non-technical one) and the architect ladder (the technical one).

It seems to me that people who are drawn to highly technical work tend to be capable of intense focus and concentration on interesting problems. I've heard of a lot of developers who were unfortunately promoted to management and then resigned because they missed the work.

Personally, I fit this description. I wouldn't be interested in a management career path, and I'm not even interested in being a software architect unless I could reserve the right to work on the code I architect.


I would go for team-leader/lead developer . Beeing a manager doesn't appeal that much to me,because I like writing code , and working with other developers.


You should do what you like most, You can try something different but keep the option open to switch back. I did the management thingy a while back, I didn't like it and I switched back. Now I'm a happy programmer again.


I graduated from University in 1985, and I've been coding full time since then. I've tried leading teams, and I'm not good at it unless the other coders are as good as me (and face it, most people aren't as good as me, present company excepted). These days I get more of the design work, and often times I'll get to work on the overall design of the project instead of one little part of it. I've made a pretty good career out of this so far.


Given your description of what you've been doing and what you enjoy, it sounds like you might prefer to go the systems architect/analyst route if you stay on the technical side, provided you can find an organization that's large enough to have that as a separate role instead of expecting their developers to also handle the higher-level design.

But, no, I wouldn't want to switch to management. If you're interested in doing that, then more power to you - I believe that the best managers are those who have been in the trenches and are still willing to go back into them when called for - but I prefer to stay outside of those structures, neither managing nor being managed.


I would guess based on this limited set of information, that you are not really someone that loves coding. I know I do, and my boss does also. But he has three kids to support.

Without question you can make more money in management. Only exception is if you go independent, i.e. negotiating your own contracts. But then that would entail .... management activities to do that.

If you are not aware you are a hard-core developer/coder, you might as well go for the bigger bucks. Take a Dale Carnegie course and practice memorizing people's names and up the ladder of success you go! Seriously, there is a lot of stress involved in being a real programmer. You are going to get bad bosses and projects that should never exist, and only those who know they love coding would want to stay in that line of work.