This document describes the progression track for Web engineers at Canonical. There is a forking of responsibilities at stage 4, one leading to a focus on the management of reports and teams and the other leading to architectural excellence.
- Description: Builds features that are well defined. Communicates status and identifies blocking issues. Investigates and fixes bugs, reviews code and writes tests. Generally joins in with a lot of potential and with a lot of energy.
- Problem indicators: Poor code quality, doesn’t review code, inadequate testing. Not self-motivated. Easily distracted. Entirely dependent on others with a disregard for team process.
- Description: Breaks down large work into smaller tasks on their own. Plans how to implement the work. Writes specs, epics and issues and can own a functional area. Can estimate, set goals, and meet them. Consistently provides quality code review to others. Helps mentor new hires. Takes operational considerations (KPIs, monitoring, observability, life-cycle management) into account. Demonstrates an understanding of the definition of done. Can interact comfortably with stakeholders.
- Problem indicators: Fails to identify or communicate big roadblocks. Consistently underestimates. Over-designs and solutions are more complicated than necessary. Combative attitude.
- Description: Capable of owning the development of a large project. Encourages solid engineering process (kanban, scrum, etc). Writes specifications and understands risks. Works to reduce complexity. Is capable of taking on technical lead responsibilities to drive an initiative to completion. Follows industry trends and new technologies. Capable of representing their team with stakeholders. An exemplary engineer.
- Problem indicators: Arrogant. Doesn’t delegate. Never says no. Quick to code without consideration. Misses details. Doesn’t communicate higher-level risks (project and people risks). Ignorant of industry trends and new technologies.
Level: 4 (equivalent to Engineering Manager)
- Description: Everything a Senior Web Engineer is plus the ability to lead the architectural choices with consideration for the wider and solve larger technical challenges. They spend a significant amount of time mentoring others and managing effective cross team and cross squad relationships. They influence others and represent technical thought leadership to customers and other engineers. Capable of representing the team they report with stakeholders and with their own team. Seen as a trusted advisor for their area of expertise within Canonical. Has a solid understanding of work/life balance. Able to represent the team at sprints.
- Problem indicators: Focuses on scale and reliability far beyond business needs. Fails to understand the larger company picture. Spends too much time chasing the newest “shiny” technology. Condescending.
Level: 5 (equivalent to Engineering Director)
- Description: Everything a Senior Web Engineer II is plus they can provide comprehensive technical leadership and direction. Solve technically hard problems. Often someone the company cannot do without because they have such a key role in company technology. Sometimes have extensive industry accomplishments.
- Problem indicators: Not engaged by other teams, pushes opinions without solicitation. Silos on interesting but unimpactful topics. Disparaging of alternate views.
- Description: Demonstrates the qualities of a Senior Web Engineer plus manages expectations across teams and organisational boundaries. Understands that a healthy team is more valuable than being an individual rock star. Facilitates self-organising and values continuous improvement. Can help individuals identify areas of growth and guide them to improve in these areas. An excellent communicator who cares about people and understands motivations. Able to represent their product to the team and external stakeholders.
- Problem indicators: Has individual silos on their team. Defensive posture. Reticent to change. Values heroic efforts over managed execution. Conscious of what’s being built, but not how it’s built.
- Description: Everything an Engineering Manager is plus demonstrated ability to build high-performing teams. Mentors other engineering managers. Trusted among their peers and has cross-team organisational influence. Can spot team health problems and indirectly address them. Can get things done across organisational boundaries without a direct reporting line. Has an understanding of commercial goals and exercises good judgement in weighing business versus engineering priorities. Uses data to inform decisions. Able to represent Canonical and their organisation.
- Problem indicators: Fails to delegate. Directly manages indirect reports. Always fighting fires rather than addressing systemic problems. More interested in growing the organisation rather than improving the current organisation.
- Description: Everything an Engineering Director is plus demonstrated ability to mentor other managers and build a team of teams. Organized and data-driven with an ability to cultivate management talent. Strong business acumen that allows for efficient decision making. Demonstrates strategic awareness and considers long term consequences. Constantly balances commercial, organizational, and technical priorities to effectively support business goals.
- Problem indicators: Drowns in a sea of details. Always reactive, demonstrating a lack of forethought. Imbalance in weighing competing priorities. Organizational friction and poor cross-team relationships. Inability to handle conflict without escalation. Not aware of business consequences for technical decisions.