A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Description | |||||||||||||||||||||||||
2 | Status: Currently in use. This is a fluid document and examples in particular will evolve. No major changes will be made to this framework without wider advice and discussion. | |||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||
5 | Scope of Influence | Building | Executing | Leadership | ||||||||||||||||||||||
6 | How much impact the work you do has on Buffer as a whole. As you progress, the work you has a bigger and bigger positive effect on Buffer | How you embody and promote coding practices to ship high quality products and services | Effectiveness in getting things done. Delivering well-scoped programs of work that meet their goals, on time, within constraints, and harmoniously | Showing an 'ownership mindset'. You challenge the status quo and effect positive organizational change outside of your mandated work | ||||||||||||||||||||||
7 | Engineer I | Individual tasks within a project | Receives closer guidance and technical mentoring to avoid becoming blocked/stuck. | Effectively delivers well-specced individual tasks | You take ownership of your work and learning and share feedback for team or product improvement | |||||||||||||||||||||
8 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
9 | Learning and being actively developed by others | Developing knowledge of a single component of our architecture | Makes minor modifications to existing screens, or minor server changes to support client needs | Implemented sticky footer, Queried database appropriately | Completes well-specced tasks effectively, asking for help at the appropriate juncture to avoid becoming blocked/stuck. | Delivered a new support page | Raises meaningful questions or concerns | Voices concerns or need for clarification to their manager. | ||||||||||||||||||
10 | Tests new code thoroughly, both locally, and in production once shipped | Caught a bug on staging before it went live | Delivers features requiring simple local modifications | Added existing button to a different iOS surface | Communicates project status clearly and effectively | Keeps Jira up to date with progress and blockers | Takes ownership of learning and shows initiative | Accepts and integrates constructive feedback effectively, Objectively evaluating whether they've met their goals. | ||||||||||||||||||
11 | Engineer II | A project overall within a team / area. You work directly in parallel with your peers | Develops new instances of existing architecture, or minor improvements to existing architecture | Effectively delivers smaller projects, making steady progress on tasks within the project | Co-owns an area with guidance & takes initiative (e.g fixes bugs unprompted). Self-directed learning process | |||||||||||||||||||||
12 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
13 | Self-sufficient in primary area of work, contributing to the project as a whole | Debugs effectively within their primary area to help find root cause. | Clearly articulates code design choices that need to be made | Identified need for new index in MongoDB | Knows when to ask for help when they are becoming stuck; does not go down rabbit holes. | Ensures stakeholders are aware of current blockers, Picks bugs off the backlog proactively when blocked elsewhere | Trusts teammates, assumes good intent in technical discussions, and is able to disagree and commit. | Gives helpful and timely feedback to managers and peers | ||||||||||||||||||
14 | Owns small-to-medium features from technical design through completion | Planning, scoping and implementing the Alt Text for Twitter images feature | Makes large functional changes with uneventful code reviews. | Built credit card input component that's functionally solid. Code review feedback is focussed on growth and improvements. | Balances pragmatism and polish appropriately | Engages with Product Management on feasibility of requested features, clarifying requirements where necessary. | Has a self-directed learning process, seeks feedback from others to find ways to improve | Received and integrated critical feedback positively and is consistently exemplifying a growth mindset | ||||||||||||||||||
15 | Works in parallel with peers, building a stronger team through effective collaboration | Proactively seeks input from teammates and finds ways to help teammates achieve their goals. | Determines data needs from product requirements | Updated Facebook API version and codebase dependencies | Defines and hits interim milestones | Mastering ability to break down tasks, plan, estimate, and cut scope to ship on time. Prioritizes in alignment with company goals. Seeks learning through retrospectives. | Makes design or quality improvements unprompted, making small improvements to leave code better than you found it. | Recognizing when a feature you’ve built isn’t quite right and calling that out and fix it proactively rather than leave it for later or for someone else. | ||||||||||||||||||
16 | Engineer III | A larger project overall within a team / area. You work in parallel with peers and often take a leading role on features or refactors. | Designs standalone systems of moderate complexity, or major new features in existing systems | Effectively delivers projects through a small team, consistently making meaningful progress. | Fully owns a service or component. Taking a considered approach to your work and your team. | |||||||||||||||||||||
17 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
18 | Self-sufficient in at least one large area of the codebase with a high-level understanding of other components | Directed team response effectively during outages (able to be on-call independently or proactively address problems surfaced by advocates) | Clearly articulates code design choices that need to be made, and suggests a viable path forward | Gives helpful and kind code reviews with actionable feedback about behaviour and maintainability | Consistently stays on track with work and keeps work in line with bigger picture goals. | Scopes out work methodically, based on iterative learning. Sets realistic deadlines that drive effort and support healthy work habits. Cuts scope as needed, mitigating risk by shipping frequently. | Shows maturity around what code not to write and thinking before you code, demonstrating critical thinking | Shows curiosity and seeks to understand other points of view and alternate approaches. Engages in productive dialog with conflicting views, both inside and outside the team. | ||||||||||||||||||
19 | Contributes to the foundational good of their domain and engineering overall, defining (and refining) patterns and canonical examples, plus paying down tech debt. | Created our Open Source page and FAQ and lead efforts to help teammates safely open source code | Acts as a primary maintainer for existing critical systems | Implemented Google Auth login | Communicates technical issues and decisions clearly and proactively | Shares bad news quickly. Expresses complex issues and concepts simply and clearly. | Identifies and suggests solutions to problems impacting team. | Gives actionable feedback to others and trusts them to decide to what extent to incorporate it. | ||||||||||||||||||
20 | Proactively develops a stronger team | Leads and coaches within their team where possible and is trusted with team decisions. | Implements complex features with a large product surface area | Delivered "drag and drop" functionality for a web or mobile app | Recognizes and surfaces risks in projects or unknowns/gaps in requirements, at the scale of a roughly 1-2 week long tasks. | Asks good clarifying questions and successfully anticipate rabbit holes. Rarely needs to re-work or revisit previous code. | Exemplifies a "user first" mindset | Promotes a no-ego attitude to ideas and code, listening deeply to others and striving to do what's best for the user | ||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | Senior Engineer I | Whole team/product area | Builds complex, reusable architectures that pioneer best practices and enable engineers to work more effectively | Effectively delivers projects through a large team, or with a significant amount of stakeholders or complexity | Has a consistent record of very strong leadership for their area | |||||||||||||||||||||
23 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
24 | Gives guidance & unblocks others at minimum on their team/area. Their area can be outside of Buffer too, but does not have to be outside Buffer. | Upgraded our Stripe API from an old version to the latest, acting as a resource for a wide area of billing, pricing and permissions work | Seeks design/architecture or specialized input when needed (and knows when it’s needed). | Suggests multiple viable approaches and clearly communicates risks, advantages, pros and cons (tradeoffs) for each approach in architecture proposals. | Translates rough ideas into clear, executable projects with discrete tasks | Finds ways to deliver requested scope faster, and prioritizes backlog. Tackles tech debt proactively. | Recognizes patterns or process that hurt the effectiveness of your team or that don’t serve your overall, longer term goals and effectively works towards resolutions | Trusted to de-escalate conflicts and build consensus between team members about technical matters. | ||||||||||||||||||
25 | Sought out by others as technical resource | Makes others better through effective mentoring, pairing, and code reviews | Makes good, informed decisions around technical debt and tradeoffs | Avoids subtle architectural mistakes when considering new systems | Communicates with non-technical team members to give technical advice | Coordinates communication among team & stakeholders, including the right people at the right times. | Exemplifies grit and determination in the face of persistent obstacles | Helps others maintain resilience in periods of change / challenge | ||||||||||||||||||
26 | Senior Engineer II | A whole team / whole product area | Builds complex, reusable architectures that pioneer best practices and enable engineers to work more effectively | Effectively delivers projects through a large team, or with a significant amount of stakeholders or complexity | Has a consistent record of very strong ownership for their area, e.g. figuring out on-call schedules, establishing monitoring | |||||||||||||||||||||
27 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
28 | Acts as a resource to unblock and enable the whole team | Implements and taught others the Redux middleware/Observer pattern to help a team work more effectively across a wide area | Reduces the complexity of projects/services/processes in order to get more done with less work | Implemented an effective testing framwork that increases both code quality and team velocity | Consistently and accurately recognizes and communicates key risks in projects | Identifies, defines, and solves strategic problems, thinking holistically about the whole system. | Exemplifies grit/tenacity in the face of obstacles, distractions or long and challenging tasks | Help others maintain resilience in periods of change. | ||||||||||||||||||
29 | Sought out by others as a mentor and provider of technical guidance and kind coaching. | Makes others better through mentoring, pairing, architecture reviews, and code reviews, exhibiting care and attention to their fellow engineer's growth | Researches and leads adoption of new approaches, systems or technologies to stay current and strive for excellence on your team | Architected frontend client with React & Redux to move away from Meteor.js and improve performance and developer experience | Communicates with non-technical team members to give technical advice | Trusted to always share status with all stakeholders, and proactively remedy communication issues. | Builds leaders within their team or domain, educates across domain. | Acts as a multiplier who shares knowledge and delegates to help others grow. | ||||||||||||||||||
30 | Routinely and consistently pushes the team forward | Reaching out to other teams within and beyond Buffer to share knowledge and implement better ways to work, such as Texture to iOS in conjunction with the Pinterest team | Exhibits excellent judgment regarding decisions across many aspects of the project | Makes architectural decisions that eliminate entire classes of bugs | Manages dependencies on other projects and teams | Managed infrastructure migration to VPC | -- | -- | ||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | Staff Engineer | Multiple teams/projects | Sets strategic foundational direction for an engineering team / area | Manages major company pushes delivered by multiple teams | Exhibits ownership across the org - this person is a guardian of Buffer | |||||||||||||||||||||
33 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
34 | Acts as a resource to unblock and enable teams across various projects. | Gives pragmatic guidance that empowers teams to develop their own solutions | Defines long-term goals and ensures active projects are in service of them. | Defined and drove complete migration plan to Swift or Kotlin | Looked to as a model for balancing product/business and engineering concerns. | Delivered multi-month engineering project on time | Exhibits excellent judgment regarding decisions across teams | Thoughtfully and effectively seeks wide context and builds buy-in for decisions affecting multiple stakeholders | ||||||||||||||||||
35 | Exhibits excellent judgment regarding decisions across many teams | Regularly accountable to architecture review outcomes and prioritization for their team, product or area | Defines the strategic vision for foundational work and supporting technologies, reducing complexity to get more done with less work | Defined and developed Buffer's continuous delivery strategy used across all product teams | Successfully plans and delivers complex, multi-team or system, long-term projects, including ones with external dependencies. | Managed a key database migration | Instills and promotes a culture of learning and development within the entire engineering team | Empowers team members to develop themselves and coached others on how to become mentors too | ||||||||||||||||||
36 | Routinely and consistently pushes multiple teams forward. | Architects and guides implementation of shared component libraries that work for several teams | Leads architecting new systems/technologies/processes to stay current and move the bottom line. Your decisions that have positive, long term, wide ranging consequences. | Defined microservices migration plan | Considers larger company context, business objectives and external constraints when planning | Managed technical migration to SOA | Exhibits ownership across the org - this person is a guardian of Buffer | Identifies and eliminates single points of failure throughout the organization | ||||||||||||||||||
37 | Principal Engineer | Entire Organization | Sets strategic foundational direction for Buffer | Manages Buffer-wide initiatives | A key strategic leader at Buffer | |||||||||||||||||||||
38 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
39 | We don't yet have folks at this level, so to stay lean I've not illustrated it out with examples. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | ||||||||||||||||||||||
40 | Engineer of Distinction | Industry | Influences strategic foundational direction for multiple organizations | Manages initiatives influencing mutiple organizations | A key strategic leader in the industry | |||||||||||||||||||||
41 | Concept | Example | Concept | Example | Concept | Example | Concept | Example | ||||||||||||||||||
42 | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | We don't yet have folks at this level, so to stay lean I've not illustrated it fully. It still exists and will be figured out properly in Version 2.0. | ||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |