The technical engineer focuses on individual contributorship and technical leadership. Their contributions level up the quality, effectiveness and efficiency of the entire organization. Whereas the software engineer path focused on mastering the fundamentals of software development using a defined set of criteria, the senior technical path focuses more on projects/efforts that have strategic value for the company while driving technical design and up-leveling their team. Their impact is no longer additive, it is multiplicative. As engineers progress down this path, examples of success will be less pre-defined and more dependent on the contextual needs of the business.
The senior engineer displays a mastery of the core competencies of software engineering. Strong technical knowledge and high productivity are table stakes at this level. Growth opportunities focus on developing impact, communication, and collaboration skills for Senior Engineers and higher.
Technical Knowledge: They have deep understanding of their technical specialty, and a working knowledge of other domains. They take responsibility for the overall health and quality of their domain. They have responsibilities beyond writing code (managing audits, running on-call rotations, owning a backlog, etc.) to help them manage their domain within the organization. Feedback on their code usually revolves around subjective decisions, rather than objective issues. They proactively stay abreast of industry best practices and trends, and have acquired at least one major skill outside of core coding such as monitoring, documentation, integration testing, visual design, and performance optimization.
Productivity: A senior engineer regularly delivers a high volume of complex, critical work while also balancing other responsibilities or initiatives. The Senior Engineer requires very little oversight beyond high-level direction. They hold a depth of knowledge about the larger software ecosystem that enables them to debug quickly and effectively.
Impact: Beyond just delivering work on our roadmap, a senior engineer helps implement innovations across our codebase, product, and department. They recognize and act upon opportunities that others miss. They build objective and well-defended cases for decisions, and develop a reputation among the leadership team that their requests are objective, self-critical, and have the due-diligence to understand all viable alternatives.
Communication: They are comfortable pushing back against or advocating for initiatives to safeguard the best interests of the organization. When pairing with more junior team members, they guide the conversation by asking questions instead of just providing answers. They are able to identify problems with requirements and help their team course-correct around these issues.
Collaboration: They ensure that they do not become a single point of failure for their domain by mentoring and training others. When relevant, they work effectively with others outside the organization (whether in other departments or with vendors). They are capable of effectively running projects of any size independently.
Technical Direction: Technology cannot speak for itself and requires effective advocates on its behalf. Staff engineers successfully advance technology by being pragmatic, deliberate, and focused more on the long-term trend of progress than viewing each individual decision as a make-or-break crisis. Staff engineers essentially act like part-time product managers for technology. They are able to get everyone focused on a goal and lay out the steps to get there.
Concrete examples could include:
- Lead or delegate extra-large projects across teams
- Oversee cross-team initiatives (a11y, code quality, testing, reliability, etc.)
- Solve problems that span multiple groups
Engineering Perspective: Staff-plus engineers are the folks who will often get unexpectedly pulled into the room where critical decisions need to be made (often without the luxury of have time or the full context). This gives them the opportunity to inject the engineering context and perspective into a decision while it's still possible to change the outcome. These brief moments of input on critical decisions are unduly impactful and will allow you to inject an engineering perspective where it would otherwise be missed.
Concrete examples could include:
- Having your perspective sought out in critical decisions
- Actively inserting yourself into these critical moments
- Advocating for effective solutions and strategies
- Bringing perspective from other teams or departments
Mentorship:
A Staff Engineer is far more likely to change your company's long-term trajectory by growing other engineers than through personal heroics. Their effort here leads to a well-trained team with multiple experts in each domain.
Effective mentorship is not a checkbox on the career ladder that can be satisfied by simply sharing advice and experience. Staff engineers build an ongoing relationship, understand the context of their mentee(s), and sponsor them.
Concrete examples could include:
- Owning onboarding and continuing education initiatives
- No bus-factor-one concerns / building redundancy in systems and knowledge
- Providing critical feedback on architectural design documents
- Encouraging other engineers to take a specific online training or certification course
Exploration:
Our teams are already optimized to incrementally improve. The role of the staff engineer is to be transformative. A staff engineer does more than improve their part of the codebase; they solve ambiguous, important problems that the company's current systems are ill-shaped to address. They tackle impossible technical problems (high ambiguity, no in-house expertise, poorly defined). They identify and reduce existential risks. They look beyond their team and project to address organization-level problems (2-3 year growth, org health). They set the technical direction for a department.
Concrete examples could include:
- Reduce infrastructure costs by an order of magnitude
- Identify a multi-region strategy that takes six months instead of three years
- Addressing the sudden realization that your primary database only has three months of remaining disk space, and you can't upgrade to a larger size
- Altering our CI/CD strategy to improve DORA metrics by 50% across the board
- Identifying a software vendor that reduces churn and increases revenue by 10%
Be Glue:
Perhaps most difficult to define, Staff Engineers do glue work. They see the important things that need done and make sure they happen (whether doing it themselves or finding the right person or process for the job).
Concrete examples could include:
- decreasing onboarding time
- getting the team to agree on coding standards
- reviewing designs and architecture decisions
- making us build the right thing
- making our customers happier
- raising the organization's profile through public speaking/writing
- simplifying security and compliance concerns
This person acts as the "chief architect" for our business. They have significant strategic vision and can take a high-level 3-5 year plan for growth at a business level and translate that into a strategic technology roadmap. They are deeply technically savvy, and their primary job is focusing on the architectural and technological needs to grow the business over the longer-term horizon. The principal engineer is able to plan and execute on tasks across all of Packback's engineering domains (including but not limited to: frontend dev, backend dev, site-reliability-engineering, QA, and data analysis)
This level signifies strategic impact over the team. The Principal Engineer deals with very deep technical problems and a long time horizon. The problems that the Principal Engineer are solving are very open-ended even to the leadership who presented the problem.
Technical Ability: The Principal Engineer is sought-after for technical guidance across the team. They have a track record of anticipating technical problems that will fall out of major products and designing solutions to overcome those problems. They are deeply knowledgeable in major parts of our technology stack and are the technical owner of large parts of our code base. They have a sustained track record of creating major improvements in large business-critical systems around stability, security, performance, and scalability.
A Principal Engineer is still acting in a very hands-on role, and as such, they are a prolific contributor both to core projects at Packback and to side and experimental work. When presented with a complex problem, process, or existing system, they are consistently able to reduce the complexity in order to get more done with less work. This ability to manage and simplify complexity is the hallmark of the Principal Engineer; working with this person should have team members feeling like they gained something significantly better than what they came in with.
Technical Scope: The Principal Engineer has broad impact across Packback tech. They create architecture that shapes large parts of our business, and ship complex projects including many systems or major pieces of infrastructure. The impact of their work is felt across the team in the quality of the engineering that we produce, the ways we write code, the core libraries that we use, and the underlying design of systems. They are the origin of multiple obvious and large technical contributions.
Communication: The Principal Engineer has excellent abilities to influence without requiring reporting authority to do so. They effectively facilitate cross-team work and are influential far beyond their individual group. They are capable of driving groups of disparate interests to decisions, and clearly communicating and seeing those decisions through to impact. The Principal Engineer is capable of setting short, medium, and long term strategic direction for parts of the technology stack; identifying areas of critical need based on future growth; and developing roadmaps to attack those problems.
Responsibilities:
- Defining strategic technical initiatives
- Solving technical problems of the highest scope and complexity for the entire organization
- Actively seeking out and prioritizing our toughest technical challenges to deliver significant improvements
- Defining code quality standards and metrics
- Providing mentorship to Senior and Staff Engineers to help them grow in their technical responsibilities
- Ensuring the safety and reliability of Packback's technology
- Managing projects across multiple years