Job titles are MetaphorsWeLiveBy. Our designated role in a software development effects the way we work. This is a start on a canonical list of Job titles, what they mean or should mean and which are equivalent.
My current job has me (and all my peers) titled as a SoftwareDeveloper. The theory is we're all professionals here and don't need to be ranked. My previous job tacked on "Associate" to the front of that title for folks who had less experience and "Senior" for folks who had more, creating the whole hierarchy thing that big companies like. I guess "Developer" sounds more more prestigious than "Programmer." And it's less contentious than "Engineer." But I suspect that, when it all boils down, it's really JustaProgrammer. --GregCohoon
I suspect there are cultural as well as technical difference in job titles.
My title is Doer, though like GeorgeCarlin, I often prefer Foole.
moved from ChiefArchitect
Two related factors:
TheTroubleWithTitles? - Since most software building occurs inside commercial enterprises, the oddities of that milieu make a strong impression on our field. In the business world, compensation and respect and freedom all flow from title. That is not an absolute, just the typical situation. In any knowledge-work endeavor the person at the top of any selected hierarchy rarely produces as much positive influence on the outcome as those at the tips of the hierarchy, yet they nearly always garner the greatest rewards. This makes us all gravitate towards title when seeking those deeper desires.
TheProgrammerSalaryCap? - Being JustAProgrammer usually severely limits one's earning potential and influence. And there exists an absurd notion throughout the more dysfunctional regions of the the business world that says that a manager should make more than that manager's "direct reports." Star NBA players earn multiples of the salaries of NBA coaches and executives, yet the stars of the programming field routinely earn less than even the most mediocre DirectorOfThisOrThat?. Titles like ChiefArchitect often help our stars gain salaries more commensurate with their contribution to the organization, and bust through the cap.
Moved from TechnologyArchitect
another example for JobTitles, used for example at Tritus.com.
I imagine such role becoming more and more important in large projects. A while ago our design organization had a crisis situation where several design teams had opted to use the same technology, but where all unable to interoperate. CORBA implementations didn't talk to one another, C++ libraries that wouldn't link using other compilers, SNMP stacks that couldn't sit on the same machine. The situation didn't improve until someone was given overall control of technology use throughout the project.
I always thought "Guru" would be a good title for a senior, non-management tech person who has such extensive experience about a given technology, platform, OS, language, subject, etc., that it's not that much of an exaggeration to say that they know "everything there is to know" about it. The Guru is the person you go to for Answers. Examples: SQL Guru. C# Guru (probably no one qualifies for this yet). Design Patterns Guru. Etc. I've seen "irreverant" titles before (like Jeff Bezos') but this is one I'd almost be willing to put on my business card, if I qualified for it, since it actually communicates something about you rather than (or in addition to?) indicating that you're a smartass.
There's also the matter of official job titles and unofficial ones. Many offices have someone who isn't on the IT staff who is nevertheless "the guy you go to when you have a PC problem." Indeed, some projects have a TechnicalLead who is not the official TechnicalLead.
Rather than specific titles per person, being a SetWeenie?, below I will attempt to provide a list of typical IT functions. In most cases, especially in smaller companies, a given person will perform more than one of these, and often several.
-top