We're introducing Titles for programmers forked from basecamp handbook. These titles will help us specify a salary grid and normalize salaries at Les-Tilleuls.
We use the following criteria to assess the level and title of programmers of Les-Tilleuls.coop. These criteria aren't exhaustive, and they aren't mere checklists. They're a guidance to having an individualized discussion about career progression.
It should also be noted that these criteria chiefly examine the scope of work someone is capable of tackling independently. In addition to that assessment, we also look at the quality of the execution itself.
- Work is thoroughly reviewed with substantial back'n'forth frequently needed before merging.
- Basic language features are mastered, but some advanced structures may still be unfamiliar.
- Occasional issues following patterns and approaches within existing code bases.
- Works primarily on tightly scoped, routine problems.
- Usually less than 2 years of experience being a professional programmer in the specific domain, as this status is considered as transitory.
- Work is reviewed with the occasional need for material direction or implementation changes.
- Follows established patterns and approaches within existing code bases with ease.
- Works mostly on clearly defined and scoped individual features or problems.
- Usually at least 2-5 years of experience being a professional programmer in the specific domain or if you had a Master's Degree.
- Work doesn't necessarily need to be reviewed, but general approach may be.
- Fully capable of taking substantial features from concept to shipping as the sole programmer (alongside a designer).
- Can provide material feedback on the work of junior programmers and programmers.
- Deep expertise within at least one programming environment.
- Basic proficiency in at least one additional programming environment.
- Usually at least 5-8 years of experience being a professional programmer in the specific domain.
- Work happens completely autonomously with no regular need for review.
- Fully capable of owning and running entire subsystems of work (API Platform expert, Mercure implementation).
- Helps set and maintain professional standards for the entire organization.
- Deep expertise within at least one programming environment. Has interests with other programming languages.
- Capable of running and directing small teams for substantial projects.
- Is a referent for code review or to help coworkers.
- Usually at least 8-12 years of experience being a professional programmer in the specific domain.
- Gives training courses in full autonomy.
- Analyst and consulting adviser on at least one topic.
- Can lead an architecture mission leading technical decisions on a projet.
- Deep, substantial expertise in multiple programming environments.
- Capable of running and directing teams for substantial projects.
- Capable of executing projects across multiple domains (say, native app that needs API backend).
- Usually at least 12-15 years of experience being a professional programmer in the specific domain.
- Can set and direct an entire department, like e-commerce or Click'N'Collect.
- Fully capable of designing, owning, and running entirely new, novel systems (design billing systems, Active Record from scratch)
- Capable of running and directing larger teams for large, long-running projects.
- 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 15+ years of experience being a professional programmer in the specific domain.