|Title||Dex||Str||Wis||Cha||[team-specific] Comm||[team-specific] Core||[team-specific] Cloud|
|Technical Skill||G(et)S(tuff)D(one)||Impact||Communication & Leadership||DevRel / Learning / Community traits||Core traits||Cloud Traits|
|Level 2||Software Engineer I||Broad knowledge of core CS concepts. |
Focus on growing as an engineer, learning existing tools, resources and processes
|Develops their productivity skills by learning source control, editors, the build system, and other tools as well as testing best practices|
Capable of taking well-defined sub-tasks and completing these tasks
|Developing knowledge of a single component of our architecture||Effective in communicating status to the team|
Exhibits Gatsby's core values, focuses on understanding and living these values
Accepts feedback graciously and learns from everything they do
|N/A||Demonstrated eagerness to learn. Able to own a technical task from beginning to end with some oversight. Communicates well, asks for feedback, owns their own development journey|
|Level 3||Software Engineer II||Writes correct and clean code with guidance; consistently follows stated best practices. Participates in technical design of features with guidance||Makes steady progress on tasks; knows when to ask for help in order to get themselves unblocked|
Capable of prioritizing tasks; avoids getting caught up in unimportant details and endless "bikeshedding"
|Self-sufficient in at least one large area of the codebase with a high-level understanding of other components.|
Possesses empathy with the user of the software they are producing and uses that empathy to guide decision-making.
|Communicates assumptions and gets clarification on tasks up front to minimize the need for rework|
Solicits feedback from others and is eager to find ways to improve
Understands how their work fits in to the larger project and identifies problems with requirements. Communicates effectively cross functions; is able to work well with Product, Design, Analytics, etc, as necessary.
|Has written a few blog posts and pieces of documentation -- largely, straightforward explanations such as reference documentation, overviews, and tutorial-style walkthroughs||Responsive to the community. Chimes in on Github issues, Discord, and Twitter to answer questions and resolve misconceptions. Able to handle many or most of First Responder responsibilities. Reviews and merges small or low-complexity pull requests.||Able to jump in and debug production issues with our chosen toolset. Can contribute to technical design discussions.|
|Level 4||Sr Software Engineer||Understands and makes well-reasoned design decisions and tradeoffs in their area; able to work in other areas of the codebase with guidance.|
Can debug difficult problems e.g. ones occurring at multiple levels in the stack
|Persistent in the face of roadblocks; dispatches them efficiently, pulling in others as necessary. Requires minimal direction/oversight||End-to-end responsibility on projects of increasing complexity; contributes to common code. Partners with product and analytics and drive requirements that take into account all parties’ needs. |
Identifies problems/risks of own work and others.
| Understands the tradeoffs between technical, analytical and product needs and leads to solutions that take all of these needs into account|
Proactively identifies problems with requirements (lack of clarity, inconsistencies, technical limitations) for their own work and adjacent work, and communicates these issues early to help course-correct
|Significant documentation contributions of greater complexity, such as writing a blog post announcing an API, which requires technical skill and style. Even better, writing demonstrates the ability to educate, such as writing a blog post explaining why we built an API.|
Speaks at conferences or on podcasts. Work is responsive to the community and focuses on addressing common and newly emerging questions.
Interest and understanding in how people learn, and a willingness to go outside your own preferred style of teach, pet analogies, etc. to meet people where they're at.
|Able to fully own the First Touch Responder responsibility. Reviews and merges pull requests of medium complexity. Contributes to ongoing processes and systems to increase team velocity. Understands how their actions affect the rate of community contributions & acts accordingly.||Mastery over debugging production issues with our chosen toolset. Can lead technical design discussions. Can effectively mentor lower level engineers.|
|Level 5||Staff Software Engineer I||Go-to expert in one area of the codebase; understands the broad architecture of the entire system.|
Provides technical advice and weighs in on technical decisions that impact other teams or the company at large. Researches and proposes new technologies.
|Scopes and stages work into well-defined milestones to avoid a monolithic deliverable. |
Seems to always be shipping.
|Takes initiative to identify and solve important problems, coordinating with others on cross-cutting technical issues|
Idenitifies and proactively tackles technical debt before it grows into debt that requires significant up-front work to resolve
Valued participant in high-level, broad architectural conversations
|Listens and guides debates to help reach a consensus; once a decision is made, clearly communicates and backs that decision.|
When necessary, works cross-functionally with marketing, sales, customer success, and support, leading initiatives to help them achieve their goals
Values listening; open to feedback; humble and empathetic
|Works closely with marketing and product to deliver strategic messages. |
Demonstrates capability to empathize with people's problems, and to educate them from a solutions-baed perspective. (rather than "here's our features".)
Demonstrates understanding of the difference between talking about the product and shilling for the product.
Strong resilience. Work is not personal, and if someone snipes at your company or product, you don't get upset. It doesn't hurt your feelings. You respond when the complaint was made in good faith, and don't engage if it wasn't.
|When necessary, able to work with upstreams to push fixes and encourage development. Understanding of how "deep" Gatsby internals (eg internal-plugins) work and able to make small changes when necessary. Reviews, and works with authors on pull requests of large complexity.||Team multiplier. Can effectively handle technical leadership responsibilities, such as breaking down a product requirement into actionable tasks and garnering alignment among immediate team members. Able to design and implement high-quality, large-scale distributed systems. Demonstrated ability to think about problems from a product perspective (rather than an engineering perspective) when helpful|
|Level 6||Staff Software Engineer II||Sought out for technical guidance; Anticipates technical issues at the product level and makes architectural and design decisions to avoid them.||Constantly shipping high value improvements to core products.|
Able to break down larger projects into smaller pieces that can be shipped incrementally.
Known for drama-free launches.
|Leading high-level, broad architectural conversations; leads technical initiatives that cut across teams||Sets short to medium-term strategic technical direction, able to look ahead 6-12 months and identify the areas of greatest need and create plans to improve them|
Well-respected across product/eng; gives feedback respectfully and constructively
|Shapes tenor and strategy of community interactions. Deep connection to community, with an intrinsic passion for inclusion (of everyone), fostering positivity, wanting to see others succeed and surpass you.||Able to make substantial improvements to "deep" Gatsby core modules in order to add core functionality. Recognized by community members as someone who helps them make difficult changes and build substantial work.||Team multiplier. Mastery over technical leadership responsibilities, such as breaking down a product requirement into actionable tasks and garnering alignment among immediate team members. Mastery over the design and implementation of high quality large scale distributed systems. Able to help guide product strategy discussions.|
|Level 7||Sr Staff Engineer||Owner of and expert on large sections of our codebase.|
A record of creating sweeping improvements in stability, performance, and scalability across major company-critical systems
|Recognized as a prolific contributor.|
Consistently able to reduce the complexity of projects, services, and processes in order to get more done with less work
|Shapes broad architecture; ships multiple large services, complex libraries or major pieces of infrastructure. Has made an obvious positive impact on the entire company's technical trajectory||Acts as a multiplier by building systems, authoring tools, or introducing policies or patterns that raise the level of productivity of the entire org.|
Seen as a role model and mentor to every technical member of the team
|Recognized broadly as a key “voice” of Gatsby. Builds relationship with key partners, including agencies and vendors, and translates them into business value.||Builds key cross-cutting features that fundamentally alter the Gatsby value proposition, such as incremental builds.||Company multiplier. Ability to effectively mentor staff engineers in both soft and technical skills. Able to coordinate and drive alignment between multiple product engineering teams to deliver large scale technical impact|
|Level 8||Principal Engineer||Able to recognize and make trade-offs with respect to the whole system. |
Understands deeply the entire architecture for a major part of our business and is able to articulate clearly the scaling and reliability limits of that area
|Consistently delivers large systems involving one or more teams' contribution on time at a high level of quality|
Quickly breaks down complex problems into potential solutions, knowns, and unknowns, in order to get to solid resolutions faster
Capable of debugging the hairiest problems that the team encounters
|Plays a key role in developing multi-year technology strategy for complete and critical areas of the business that encompass multiple systems and teams.|
Decisions have a direct impact on the long-term success or failure of Gatsby.
Creates architecture that enables many potential futures without knowing exactly what the future is
|Able to fundamentally re-architect and re-write Gatsby, on the level of adding the GraphQL layer or the plugin system.||Able to nail the hairiest of technical problems by marshalling multiple product engineering teams both inside and outside of Cloud. Ridiculous soft skills. Turns the most opaque issues into crystal clear deliverables. Seen as "next level" by senior peers|
Credit to Rent the Runway, which created an excellent chart which this is based off of: http://dresscode.renttherunway.com/blog/ladder