Career Progression in Software Engineering

Posted 2 years, 9 months ago | Originally written on 28 Jun 2021

Programmer

A programmer knows how to turn user requirements into code. The programmer should have adequate experience but still need to accrue experience in producing high quality code.

Software Developer

A software developer is a programmer who has learned additional professional skills to turn user requirements into code with a view of writing sustainable code.

Lead Software Developer

A lead software developer is a software developer who takes a prominent role in developing a code base. She will typically lead a group of software developers by ensuring adherence to good practice while leading by example. She will have several year's experience but open to learn new technologies in line with requirements.

Systems Architect

A system architect is a seasoned software developer who now has responsiblity to define how one or more significant components of a software system work. He will also be well versed with configuring underlying infrastructure as well as decide the best tools for the job.

Lead Systems Architect

A lead systems architect leads a team of system architects in defining how the overall system works. She will lead a team of system architects each of whom are responsible for one or more components of the overall system.