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.

Possible Duplicate:
What does the suffix after software engineer/developer job titles mean? (i.e. Software Developer III)
work advancement titles

I've been struggling to understand job hierarchy in software engineering.

The system is further complicated because of the lack of consistent naming conventions when assigning roles: for example, some companies just have a "senior software developer" position while others have Software Engineer I, Software Engineer II, Software Engineer III, and so on.

Even in the top level positions, we have things like "Principal Software Engineer" vs. "Staff Software Engineer".

What is the standard hierarchy for software engineers? Is there a generally accepted pecking order?

share|improve this question

migrated from stackoverflow.com Nov 1 '11 at 1:35

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Glenn Nelson, FrustratedWithFormsDesigner, Anna Lear Nov 1 '11 at 13:23

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
why was this moved to programmers? I see several similar questions posted on stackoverflow? –  tunafish24 Nov 1 '11 at 1:41
    
    
Your question was migrated because Stack Overflow is for questions about implementation: questions about the profession and conceptual issues are for Programmers. More info: What's the difference between Programmers and Stack Overflow? –  user8 Nov 1 '11 at 1:58
6  
If you care about this, rather than about your actual work, you are doing it wrong. –  rjmunro Nov 1 '11 at 10:39
3  
@rjmunro: It's always good to have an idea of where I'm standing and where I want to go..thats why I asked. –  tunafish24 Nov 2 '11 at 2:24

5 Answers 5

up vote 29 down vote accepted

Wikipedia gives a good overview of corporate titles and under the hierarchy for Information Technology companies you have the following:

  • Chief Executive Officer
    • Vice President
      • Senior Project Manager / Senior Product Manager / Senior Software Architect
        • Project Manager / Product Manager / Software Architect
          • Project Lead / Senior Team Lead / Senior Technical Lead
            • Module Lead / Team Lead / Technical Lead
              • Senior Software Engineer / Senior QA Engineer
                • Software Engineer / QA Engineer
While each company will have it's own naming convention and resposibilities for a role, they do seem to fall within this basic hierarchy.

Hope this helps you out some.

share|improve this answer
    
I concur there isn't a standard, but this answer comes closest to answering the question in my mind. –  neontapir Nov 1 '11 at 4:33
    
Wait, no juniors? –  Violet Giraffe Nov 1 '11 at 12:23
7  
I disagree with the notion that "managers" of any sort are somehow "senior to" engineers. This conflates reporting structure with seniority, and doesn't reflect actual practice in any company I've seen. –  TREE Nov 1 '11 at 13:56
    
I don't think that they're implying that 'managers' are senior to 'engineers' but that as you go up in the hierarchy they're on par with them on each level. As in a Senior Project Manager has equal responsibilities as a Senior Software Architect and equal ability to dictate specific things in their area of specialties. –  Chris Nov 1 '11 at 15:38
    
@chris: Your answer is exactly what I wanted to know. Just one more thing..I understand that Principal/Staff Software engineer is different from Software Architect. Does one have more seniority over the other? –  tunafish24 Nov 2 '11 at 2:27

There is no standard hierarchy of software job titles. Titles are peculiar to each company. If you have a question about a job title there's no point in asking anybody except that company.

share|improve this answer
3  
Job titles have the most impact on billing rates, and promotion/reviews. Even when "standardized," actual responsibilities vary substantially by company and by team within company, due to corporate cultural issues. –  Jeff Grigg Nov 1 '11 at 2:01
    
Peculiar? Surely you mean particular? ;) –  Kieran Senior Nov 1 '11 at 13:08
    
@Kezzer, from the "New Oxford American Dictionary":2 [ predic. ] (peculiar to) belonging exclusively to: the air hung with an antiseptic aroma peculiar to hospitals. • formal particular; special: any attempt to explicate the theme is bound to run into peculiar difficulties. I chose it deliberately because I also wanted the allusion to the first definition of peculiar, "odd or unusual" because I've seen some pretty odd job titles. –  Charles E. Grant Nov 1 '11 at 14:19

At Microsoft, the titles are:

  • Software Development Engineer (two internal levels, 59 and 60)
  • SDE II (61 and 62)
  • Senior SDE (63 and 64)
  • Principal SDE (65 and 66)

At Google, there are senior titles like Staff Software Engineer and Sr. Staff Software Engineer.

At Apple, there are titles like Software Engineer I to Software Engineer V.

See also: What is the difference between these senior software engineer titles?

share|improve this answer

Job titles only have meaning within a specific organization sometimes only within a small section of that organization. In general they are only useful in assessing the "Dilbert Co-efficient" of your current employer.

Also be careful with the title "Engineer" in some countries its illegal to use the title unless you are an accredited member of the local Civil/Electrical/Electronic professional body. "Software Engineer" doesn't count for much with "real" engineers.

share|improve this answer

There is no global standard for designations or i assume no one has made one till now. Its good to have guidelines for design, naming convention but the code has nothing much to do with the designation of the person writing it.

The one you have mentioned would be company specific and you can think of them as levels in a game where in you play at one level, gain experience and points/life and then qualify for the next level. This part pretty much is same all over, so the more you play the better you get and higher the chances of going up the levels but then as its is for all games the rules are different and so in this case its the company.

share|improve this answer

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