I would like to know what kind of jobs/roles one could expect on their career path if they start as a developer.

I also want to know how many years you'll be expected to stay in the same role until you progress to the next level.

The career path is of course, based on how good you do your job, the company etc. but assume a normal person who balances life and family with career.

Some examples of roles that I have in may head: developer, senior developer, architect, project manager etc.


Broadly speaking I've seen people take the following routes:

1) Stay as a developer. There's no reason to actually move on at all, developing is just fine and there are a lot of people I know into their 30s and 40s who have no intention of moving from something they enjoy into something they won't just for the sake of "progression".

2) Technical Architect. Potentially still hands on to a degree but also involving higher level technical design and analysis, platform selection and so on. Generally speaking a Technical Architect will have spent 5 - 10 years as a developer before moving into this sort of role.

3) Project Management. The first of the hands-off options (a proper Project Manager won't code except maybe for the odd little tool to make their own life easier). A Project Manager runs the project as a whole from start to finish, liaising with the business and the developers, ensuring the business case is valid, planning and managing the plan, monitoring risks and so on. In terms of when you can move into Project Management, it can happen at any point, though the earlier you do it the smaller the projects you're given to manage are likely to be.

4) Business Analysis / General Consultancy. Writing specifications, discussing what's needed with users and clients, documenting it, working with the developers and testers to make sure it's understood. Again, a move into this sort of role can happen at any time, though more experience as a developer will tend to afford you better opportunities as an analyst.

5) Development Management. Distinct from Project Manager though in some instances (particularly in smaller organisations) they'll be rolled into one. The simplest distinction is that a Project Manager is responsible for the project, the development manager is responsible for the team. A Development Manager will almost always have a technical background, may still be hands on, and will have a good understanding of development process and the associated tools. Most of their time will be spent keeping the team productive and keeping the development work moving forward. Generally speaking someone will have worked for 5 - 10 years as a developer before moving into this sort of role.

If you want to move beyond these into more senior management then Project Manager and Development Manager are the most likely routes out.

Which is best for you is entirely down to what you want to do and what your skills are and none of them should be seen as right or better than the others. It's entirely possible to try them out and move back or move on again. From my experience the only thing that stops that sort of move being possible is when you become senior enough that you won't take the salary drop which comes as part of moving into an area where you're less experienced.

| improve this answer | |
  • +1 can you also add income graph here just want to know it globally. – Jigar Joshi Nov 11 '10 at 16:34
  • @org.life.java - that's different city to city, skill to skill, project to project and day to day. I don't think there's any hard or fast rule about which role will earn more than the others and in particular what a particular individual might earn in each role (for instance a great programmer might be a very poor project manager so be able to earn more hand-on where for someone else it would be the other way round). – Jon Hopkins Nov 11 '10 at 16:37
  • thats true,I agree, but I was expecting some standard graph. considering standard situations – Jigar Joshi Nov 11 '10 at 16:42
  • @org.life.java - The best thing to do is to look at the job boards for where you live. Any general study I've seen is out of date before it's published. – Jon Hopkins Nov 28 '10 at 13:21

What do you expect? Money? Underlings? Self-fulfillment? Freedom? Power? Whenever I hear someone wants to make a career, I get a feeling that this someone has no clear goals.

| improve this answer | |
  • 3
    This would be better as a comment asking for clarification about his goals and expectations. – Jon Hopkins Nov 11 '10 at 9:53

Developer, Senior Developer, Architect, Project Manager (possibly also Principal Engineer, Program Manager, CTO, and God forbid, CEO). That's pretty much it, the only question is at which point you'd entirely switch from your editor/IDE to Microsoft Project/Word/Powerpoint.

| improve this answer | |
  • How many year of experience is it expect between these step? – Amir Rezaei Nov 11 '10 at 8:56
  • 1
    @Amir Rezaei: it depends really. When I was 24 I was appointed a Department Head, managed 12 developers (many of whom were older than myself). A "normal" career in this industry implies from 3 to 10 years of coding before you jump into a non-coding managerial position, and then some people never stop coding until retirement. Obviously, it depends on your goals, priorities and preferences. – mojuba Nov 11 '10 at 9:40

The number of years at a role can be calculated only at a very junior level in the Organization. As you grow vertically this formula fails miserably. Some people become CEO's at 40 some become CEO's at 50 and some never reach to that level even though they want to.

| improve this answer | |

Well, I can't tell you for certain, but I can show you my "career" (outside uni studies) so far, and what I'd like to do (in brackets):

web admin -> volunteer research assistant -> cinema worker -> software tester -> call center worker (selling wine) -> developer in financial services -> self employed developer (financial services) -> developer in scientific instruments [-> get a doctorate in something CS related -> get a lecturing position -> get tenure -> retire]

I guess you're only interested in the steps where I'm a developer, the rest is there for completeness. The amount of money I earn in each step depends on who I'm working for more than my job title.

I've not stayed in the same role for more than 2 years, so far. A doctorate would obviously take longer, and I hope to be in my current role for a while. Getting to be a lecturer and getting tenured, well that could take forever.

| improve this answer | |

Hai Amir Rezaei,

I would like to suggest you, that A programmer can start the career as Junior level Developer after finishing the couple of projects in a fine style and also got one year experienced[ie some reasonable experience], then the he/she may promoted to Senior Level developer if the firm feels that he/she has both technical skills and management skills such as leadership qualities etc., By the Similar way he/she can switch to the next levels such as

Senior level Developer -> Team Lead Team Lead -> Architect Architect -> Project Manager

| improve this answer | |
  • A year to be a senior developer? Seriously? – Jon Hopkins Nov 11 '10 at 16:21
  • @Jon Hopkins: Actually it is depends upon the how you improved your technical and management skills. I donot think without these skills, he/she cannot became an Senior Developer having so much years of Experience? – Sankar Ganesh PMP Nov 11 '10 at 16:46
  • 2
    I absolutely disagree. I've never seen anyone who in a year got any further than basic competence, let alone close to Senior Developer level. – Jon Hopkins Nov 12 '10 at 11:09

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