Engineering Career Framework
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

View only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZ
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 InfluenceBuildingExecutingLeadership
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 servicesEffectiveness in getting things done. Delivering well-scoped programs of work that meet their goals, on time, within constraints, and harmoniouslyShowing an 'ownership mindset'. You challenge the status quo and effect positive organizational change outside of your mandated work
7
Engineer IIndividual tasks within a projectReceives closer guidance and technical mentoring to avoid becoming blocked/stuck. Effectively delivers well-specced individual tasksYou take ownership of your work and learning
and share feedback for team or product improvement
8
ConceptExampleConceptExampleConceptExampleConceptExample
9
Learning and being actively developed by othersDeveloping knowledge of a single component of our architectureMakes minor modifications to existing screens, or minor server changes to support client needsImplemented sticky footer, Queried database appropriatelyCompletes 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 concernsVoices concerns or need for clarification to their manager.
10
Tests new code thoroughly, both locally, and in production once shippedCaught a bug on staging before it went liveDelivers features requiring simple local modificationsAdded existing button to a different iOS surfaceCommunicates project status clearly and effectivelyKeeps 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 IIA project overall within a team / area. You work directly in parallel with your peersDevelops new instances of existing architecture, or minor improvements to existing architecture Effectively delivers smaller projects, making steady progress on tasks within the projectCo-owns an area with guidance & takes initiative (e.g fixes bugs unprompted). Self-directed learning process
12
ConceptExampleConceptExampleConceptExampleConceptExample
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 madeIdentified need for new index in MongoDBKnows 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 elsewhereTrusts 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 featureMakes 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 appropriatelyEngages 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 collaborationProactively seeks input from teammates and finds ways to help teammates achieve their goals.Determines data needs from product requirementsUpdated Facebook API version and codebase dependenciesDefines and hits interim milestonesMastering 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 IIIA 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
ConceptExampleConceptExampleConceptExampleConceptExample
18
Self-sufficient in at least one large area of the codebase with a high-level understanding of other componentsDirected 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 forwardGives helpful and kind code reviews with actionable feedback about behaviour and maintainabilityConsistently 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 thinkingShows 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 codeActs as a primary maintainer for existing critical systemsImplemented Google Auth loginCommunicates technical issues and decisions clearly and proactivelyShares 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 teamLeads and coaches within their team where possible and is trusted with team decisions.Implements complex features with a large product surface areaDelivered "drag and drop" functionality for a web or mobile appRecognizes 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 IWhole team/product areaBuilds complex, reusable architectures that pioneer best practices and enable engineers to work more effectivelyEffectively delivers projects through a large team, or with a significant amount of stakeholders or complexityHas a consistent record of very strong leadership for their area
23
ConceptExampleConceptExampleConceptExampleConceptExample
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 workSeeks 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 tasksFinds 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 resolutionsTrusted to de-escalate conflicts and build consensus between team members about technical matters.
25
Sought out by others as technical resourceMakes others better through effective mentoring, pairing, and code reviewsMakes good, informed decisions around technical debt and tradeoffsAvoids subtle architectural mistakes when considering new systemsCommunicates with non-technical team members to give technical adviceCoordinates communication among team & stakeholders, including the right people at the right times.Exemplifies grit and determination in the face of persistent obstaclesHelps others maintain resilience in periods of change / challenge
26
Senior Engineer IIA whole team / whole product areaBuilds complex, reusable architectures that pioneer best practices and enable engineers to work more effectivelyEffectively delivers projects through a large team, or with a significant amount of stakeholders or complexityHas a consistent record of very strong ownership for their area, e.g. figuring out on-call schedules, establishing monitoring
27
ConceptExampleConceptExampleConceptExampleConceptExample
28
Acts as a resource to unblock and enable the whole teamImplements 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 workImplemented an effective testing framwork that increases both code quality and team velocity
Consistently and accurately recognizes and communicates key risks in projectsIdentifies, defines, and solves strategic problems, thinking holistically about the whole system.Exemplifies grit/tenacity in the face of obstacles, distractions or long and challenging tasksHelp 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 growthResearches and leads adoption of new approaches, systems or technologies to stay current and strive for excellence on your teamArchitected frontend client with React & Redux to move away from Meteor.js and improve performance and developer experienceCommunicates with non-technical team members to give technical adviceTrusted 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 forwardReaching 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 teamExhibits excellent judgment regarding decisions across many aspects of the project
Makes architectural decisions that eliminate entire classes of bugsManages dependencies on other projects and teamsManaged infrastructure migration to VPC----
31
32
Staff EngineerMultiple teams/projectsSets strategic foundational direction for an engineering team / areaManages major company pushes delivered by multiple teamsExhibits ownership across the org - this person is a guardian of Buffer
33
ConceptExampleConceptExampleConceptExampleConceptExample
34
Acts as a resource to unblock and enable teams across various projects.Gives pragmatic guidance that empowers teams to develop their own solutionsDefines long-term goals and ensures active projects are in service of them. Defined and drove complete migration plan to Swift or KotlinLooked to as a model for balancing product/business and engineering concerns.Delivered multi-month engineering project on time
Exhibits excellent judgment regarding decisions across teamsThoughtfully and effectively seeks wide context and builds buy-in for decisions affecting multiple stakeholders
35
Exhibits excellent judgment regarding decisions across many teamsRegularly accountable to architecture review outcomes and prioritization for their team, product or areaDefines the strategic vision for foundational work and supporting technologies, reducing complexity to get more done with less workDefined and developed Buffer's continuous delivery strategy used across all product teamsSuccessfully 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 teamEmpowers 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 teamsLeads 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 planConsiders larger company context, business objectives and external constraints when planningManaged technical migration to SOAExhibits ownership across the org - this person is a guardian of BufferIdentifies and eliminates single points of failure throughout the organization
37
Principal EngineerEntire OrganizationSets strategic foundational direction for BufferManages Buffer-wide initiatives
A key strategic leader at Buffer
38
ConceptExampleConceptExampleConceptExampleConceptExample
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 DistinctionIndustryInfluences strategic foundational direction for multiple organizationsManages initiatives influencing mutiple organizationsA key strategic leader in the industry
41
ConceptExampleConceptExampleConceptExampleConceptExample
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
Loading...