Broadly, I've seen two different families of engineering job titles in the wild.<p>What I think of as the "startup" or "high tech" family typically just has levels of engineer: junior, mid, senior, staff, and principle. Engineering seems to be more of a core function at these companies.<p>On the other hand, I think of the "pre-web" job description cluster, where software engineering gradually budded off of an IT department that managed printers and phones. There are usually a variety of types of role (analyst, developer, programmer, architect, administrator, etc).<p>Is there any good writing about these, and their relative advantages/uses? I'm biased against the pre-web cluster based on my experience but I'm interested in getting more input.