Career ladder
Junior Engineer
Section titled “Junior Engineer”- Completes clearly-defined tasks and communicates when something is blocking.
- Works to learn the relevant technologies and systems in place, actively maintains and extends the system.
- Communicates internally and externally in a respectful manner.
- Makes an impact by delivering features, refactoring existing code, or updating systems enable other developers to be successful.
- Helps debug technical problems. Submits issues so that we can document and improve our service.
*Experience: No previous experience required.*
Software Engineer
Section titled “Software Engineer”- Works on engineering initiatives that drive a larger featureset, while being careful to not create technical debt in the process.
- Preemptively scans issue backlogs. Actions include but are not limited to: familiarizing themselves with pain points in the system, applying relevant labels and triaging, closing them via pull request or other means.
- Is considerate of others on the team and tries to support other people in their work.
- Works to become proficient in giving great reviews of their peers work. This includes being respectful, thorough, thoughtful, flexible, and not pedantic.
- Listens to the priorities and concerns of others, and acknowledges differing perspectives. Anticipates others’ reactions.
*Experience: Typically requires a minimum of 2 years of professional experience.*
Senior Engineer
Section titled “Senior Engineer”At this point, a person is mastering how effective they can be as an individual contributor.
- Defines and executes on an execution plan for specific features or internal system maintenance/upgrade.
- Actively participates in Engineering efforts that help streamline the experience of our Product.
- Helps support the work of their peers by pair programming, reviewing, and providing mentoring.
- Adjusts well to shifting priorities when necessary.
- Strives to reduce technical debt, while communicating with teammates about any larger refactor.
- Works to understand the purpose of the features the team is working on, and helps communicate that purpose to team members. Asks clarifying questions when expectations are unclear.
- When tasks are large, works on scoping work down into smaller, actionable parts.
- Demonstrates openness to others’ ideas. Adapts their communication style to most effectively communicate. Effectively and accurately shares credit for ideas and collaborative efforts.
- Structures code in a manner that anticipates the type of scale and maintenance required for the scope of the work. Considers legibility both in authoring and reviewing pull requests.
*Experience: Typically requires a minimum of 5 years of professional experience.*
Engineering Manager
Section titled “Engineering Manager”At this point, one is helping others be the best that they can be, removing themselves and meeting others where they are.
- Develops proven processes. Replicates those systems and approaches across the team so that others may learn from and improve on them.
- Deep industry knowledge and awareness of the technical landscape. Incorporates this analysis as appropriate into strategy.
- Not only leads, but ideates new engineering efforts. Provides guidance and vision.
- Mentors and actively drives the technical skills of the immediate or extended team with consideration of their career stage and personal trajectory.
- Removes barriers by working with others around a shared need or customer benefit. Creates strategies that cross organisational boundaries to achieve broad business goals or influence.
- Anticipates issues or implications that their ideas would have on others, and pursues mutually beneficial strategies.
- Beyond participating in meetings, thoughtfully creates and leads meetings where helpful.
- Sets clear and challenging goals for a portfolio of work, and pursues them with enthusiasm and passion. Understands business objectives and incorporates these into this body of work. Critically reviews multiple plans and adjusts as needed.
- Drives measurable growth by scaling/mentoring teams, affecting engineering roadmaps positively, managing key metrics, creating research and/or programs.
- Partners with other teams to improve the effectiveness of our internal tooling.
- Anticipates the needs of those around them. Is respectful in terms of async hygiene, exhibiting care that their teammates can get in touch with them or knows their status during working hours. Fills out process docs without having to be asked.
*Experience: Typically requires a minimum of 10 years of professional experience.*
Sourced from https://career-ladders.dev/engineering