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.

I'm currently a senior research software engineer at a large company and am being offered a "senior staff engineer" position somewhere else. I am not sure if the new position's title conveys a sideways move or an advancement.

So, all other things being roughly equal (salary, domain of expertise, etc.), what is the external difference between these software engineer titles (in general and regardless of any particular company, if possible):

  • senior engineer
  • senior research engineer
  • senior staff engineer
  • member of technical staff
  • principal engineer

Edit: Let me elaborate on "member of technical staff" since it's kind of uncommon. I think it's a high title, commonly associated with research. I know that Oracle, VMWare, and the old Bell Labs have these titles. See: Member of Technical Staff . I know what it means, but I don't know how it stacks up against the other titles, which is why I asked.

share|improve this question

closed as not constructive by Walter, maple_shaft Nov 7 '12 at 0:05

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

29  
The difference between them seems to be about 10 characters. The meaning of job titles is entirely dependent on the company in question. –  GrandmasterB Feb 10 '11 at 20:15
    
To clarify GrandmasterB's point here - I'm presently a Senior Software Engineer. I was in my last role too, but the actual job I'm doing couldn't be more different! It really does depend on the company. –  Stephen Orr Jan 14 '12 at 14:38
4  
The important word to look out for is "Junior". –  user1249 Mar 7 '12 at 23:18
    
there are many duplicates of this already stating there is no answer e.g. programmers.stackexchange.com/questions/135911/… –  jk. Jul 27 '12 at 6:52

7 Answers 7

"So all things being equal" They're not. These titles are not equivalent.

I would rank them like this, highest to lowest:

  • Principal Engineer
  • Senior Staff Engineer
  • Staff Engineer
  • Senior Engineer / Senior Research Engineer

In general, "senior" implies depth of experience and maturity to work independently with less direct guidance in day to day activities. An engineer can expect to receive assignments or tasks and external prioritization. A Senior Engineer should expect to identify and prioritize such tasks for themselves.

A Senior Engineer is typically someone with deep knowledge of a technology or product line and experience with multiple release cycles.

A Senior Research Engineer sounds like someone who is not as involved in production cycles but is more focused on algorithms or long term strategic work.

"Member of the Technical Staff" does not imply any seniority or programming experience. A receptionist can be a Member of the Technical Staff.

A Staff Engineer typically has deep experience with and contributes to multiple technologies and product lines across a company.

A Senior Staff Engineer does all the staff engineer stuff, plus works more in a leadership role across multiple product lines or technologies. Senior staff should also be thinking ahead for strategic planning and execution.

A Principal Engineer is often the top of the technical ladder in many companies, or just short of "Technical Fellow" or "Chief Scientist". Principals are also called architects in various fashions. Principal Engineers are responsible for macro scale architecture of a software technology or product line, and providing guidance and oversight to multiple development teams working on different products or technologies to ensure that the technologies interoperate or connect to each other appropriately.

These are my opinions not as an HR manager but as an engineer who as worked in (and helped define) all of these roles.

share|improve this answer
    
thanks for the feedback. Regarding "member of technical staff," my understanding (as the original poster of this question) is that it's used to represent a high position, usually in research. The problem is that I don't know how it ranks to the other titles, which is why I asked. See: en.wikipedia.org/wiki/Member_of_Technical_Staff –  stackoverflowuser2010 Feb 10 '11 at 21:09
    
Yes, "member of technical staff" could mean something lofty at some companies, but on its own its very generic and relatively meaningless, conveys no information about the person's role, responsibilities, or scope of influence. If I were hired into a "member of technical staff" situation I would immediately push to rename the group. It's an ambiguous designation, since every programmer is on staff and is technical. If you mean Research Fellow, then say it. –  dthorpe Feb 11 '11 at 3:10

The only way to know for sure is to get a job description (list of responsibilities, expected skills) for each position. The qualifiers on these titles seem arbitrary and will vary from company to company.

share|improve this answer

It depends on the company. At United Technologies, the progression is:

  • Associate Engineer
  • Engineer
  • Senior Engineer
  • Staff Engineer
  • Principal Engineer
  • Technical Fellow
  • Senior Technical Fellow

Although the Principal Engineer and Technical Fellow are roughly equivalent.

Outside of a specific company, though, the progression is just:

  • Engineer
  • Senior Engineer
  • Principal Engineer

with perhaps the addition of "Senior Principal Engineer" after that.

share|improve this answer
5  
I've heard someone refer to anyone in IT as "Those technical fellows..." –  FrustratedWithFormsDesigner Feb 10 '11 at 18:40
1  
I always wanted to sing "For he's a jolly good Fellow" whenever one of them was around... :-D –  Peter K. Feb 10 '11 at 20:10

The weird "member of technical staff" title actually has ranks in it as well (depending on company). It used to have only two ranks (mts, dmts - distinguished) and both implied you have a Ph.D (or masters with equivalent experience). There actually is a technical title committee (at least in AT&T Labs) that one has to go through to get approved to hold these titles. The sub ranks are: MTS - entry level (needs masters) SMTS(S for Senior) - entry level for Ph.D researchers, or MTS after about 2 years PMTS(P for Principal) - experienced researcher LMTS(L for Lead) - director level, MTS with at least 12 years of experience. DMTS(D for Distinguished) - executive director level - very few of these are given.

The highest you can get hired into is PMTS, the other two require promotions and both are rare. Engineer titles are given to non research, or people without masters/phd.

share|improve this answer

At one or two places I worked the order was:

  • member of technical staff (or engineer)
  • senior engineer
  • principal engineer
  • staff engineer (not in your list)
  • senior staff engineer

The key word in senior research engineer is "research". They aren't developing current products or services. Think of the people who develop "concept cars".

share|improve this answer

Senior Staff Engineer sounds very generic and broad, doesn't have the words "software" or "research" in there.

Be assured you know the domain of expertise is similar to yours, you could easily mistake that job title for someone high up in HR :)

share|improve this answer

AT&T uses member of technical staff titles. They are assigned to solutions architects that are doing research work, architecture solutions etc. senior research engineer and senior engineer will differ based on company, but obviously research will be primary focus for senior research engineer. senior staff engineer and principal engineer are meaningless titles that will very widely based on industry, company and type of work you will be engaged in. As far as how these titles stack up you will figure that from pay you are offered vs size of the company and what is excepted of you. If I was in your shoes and there is no diff in pay and you are happy where you are why change? risk is there and there is no extra gain? All of these will be paid from $80K to $130K depending on company and city you are in.

share|improve this answer

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