You start as a coder, a sysadmin or a data analyst, working on small, well defined and isolated tasks. Then you immediately need to become an engineer that gets loosely defined problems/features and creates solutions for them. You need to do this because we are not a development agency and most of our work does not come from some outside specification, but from problems we and our customers discover day-to-day.
Since we are a software company, the base salary comes from the "Software Engineer" family of positions on Salary.com. But we don't differentiate between different engineering careers. In other words, a data scientist is paid the same as a frontend developer and the same as a DevOps engineer.
The top two positions are two branches of the engineering career:
- Lead Engineer means you start taking over managerial tasks and leading people.
- Principal Engineer means you take ownership of all of technical nitty-gritty details in the company.
- Work is thoroughly reviewed with substantial back and forth frequently needed before merging.
- Basic language/technology features are mastered, but some advanced approaches may still be unfamiliar.
- Occasional issues following patterns and approaches within existing code bases.
- Works mostly on clearly defined and scoped individual features or problems.
- Usually less than 2 years of technical experience.
- Salary.com role name for base salary:
Software Engineer I
- Work doesn't necessarily need to be reviewed, but general approach may be.
- Follows established patterns and approaches within existing code bases with ease.
- Is able to work on problems and features that are not clearly defined. Comes up with some specifications and API designs on their own.
- Is able to take a problem all the way from research, writing a User Story through implementation and deployment.
- Can keep production systems online while their colleagues are on vacation.
- Usually at least 2-5 years of engineering experience.
- Salary.com role name for base salary:
Software Engineer II
- Work happens completely autonomously with no regular need for review.
- Fully capable of taking substantial features from concept to shipping as the sole engineer.
- Can provide material feedback on the work of Junior Engineers.
- Helps with hiring and onboarding.
- Deep expertise within at least one programming environment.
- Proficiency in at least one additional programming environment.
- Usually at least 5-8 years of engineering experience.
- Salary.com role name for base salary:
Software Engineer III
- Basically a Software Engineer that takes on additional managerial work.
- Capable of running and directing whole teams for large, long-running projects.
- Sets and maintains professional standards for the entire organization.
- Deep, substantial expertise in multiple programming environments.
- Usually at least 8-12 years of engineering experience.
- Salary.com role name for base salary:
Software Engineer IV
- AKA Steve Wozniak at Apple.
- Can poke holes into any of our projects.
- Regularly saves our asses.
- Fully capable of designing, owning, and running entirely new, novel systems.
- Recognized widely in the industry for material contributions to the state of the art.
- Invents new concepts, pushes the whole organization forward regularly.
- Usually at least 12-15+ years of engineering experience.
- Salary.com role name for base salary:
Software Engineer V