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?