I'm currently thinking about job titles for my team of programmers. Historically it's been pretty flat, with most people just "Programmer", and a very few people "Senior Programmer". But both those titles cover a wide diversity of experience and salary.
I was thinking of replacing this with a progression of five levels -
- Senior Developer
- Principal Developer
- Senior Architect
I'd be interested to hear what people think are the pros and cons of such a scheme. On the positive side, I've found that programmers actually covet good titles. On the negative side, it's been suggested to me that such a hierarchy can create resentment. I'd welcome your thoughts.
Update: Thanks for all the great answers! It's certainly changed my thinking on this subject, and I will probably retain the flater structure at this point.