A first job after college. The engineer needs to
- learn the software development lifecycle from design to responding to production errors
- coding conventions and best practices
- teamwork
- efficiency and balance among correct code, deadlines, good quality
An engineer who knows how to work independently and produce good quality output on time
An engineer who
- helps junior and mid-level engineers grow
- who can resolve any challenge within the team's area of responsibility
- can lead other engineers
Engineers above Senior perform various duties:
- architect systems developed or used by multiple teams
- serve as Technical Leads for a team. A Technical Lead is responsible for the architecture, standards, best practices. Therefore they may be called Lead Engineers or Architects.
- serve as Team Leads without people management responsibility.
A specific number of levels depends on the scope of work. Companies with deeper trees of engineering teams naturally have more levels.
The levels are named Staff, Principal or Lead Engineer/Architect in various order. Sub-levels such as as Senior Engineer II, Staff Engineer I, Staff Engineer II etc. or Senior Staff Engineer etc. are also used.
Lead is often reserved for an engineer serving as a Tech Lead or a Team Lead.
Architect may be used for engineers whose primary duty is architecture.
What matters is what you do.
[TBC]