Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
376 lines (329 sloc) 17.1 KB
title description
The Artsy Engineering Ladder
Career development at Artsy

Engineering Ladder

This documents Artsy's Engineering Ladder. The Engineering Ladder is a framework to help evaluate performance, goals, and compensation for engineers at Artsy. Our ladder was first established and opened in 2015, which you can read more about on our blog.

Since then Artsy has synced up with the Artsy company-wide framework 🔑 for levels and titles and we have added Technical Lead levels to the framework.

This document is open and evolving. We encourage you to submit issues or pull requests to suggest changes and ensure our framework is doing the best it can to help Artsy fairly evaluate compensation and career growth for engineers.

Tracks

The Engineering Ladder encapsulates two tracks—an individual contributor (IC2–IC8) and manager track (M3–M6). The manager track is available to engineers who have achieved an "IC5 Senior Engineer" level on the individual contributor ladder.

Individual Contributor Artsy IC Level Artsy M Level Manager
Intern Intern
Associate Engineer IC2
Engineer IC3
Senior Engineer IC4
Senior Engineer IC5 M3 Engineering Manager
Staff Engineer IC6 M4 Senior Engineering Manager
Senior Staff Engineer IC7 M5 Director of Engineering
Principal Engineer IC8 M6 Senior Director of Engineering

Evaluation criteria

  • Knowledge Leadership
    • Level of knowledge in a specific business area
    • Breadth and depth of technical and soft skills
  • Impact
    • Nature and impact of problems solved and decisions made
    • Value delivered to the business and team
  • Influence
    • Nature and level of influence on projects, strategy, and internal and external contacts
    • Effect on people around you and team dynamics
  • Discretion
    • Nature of guidance received
    • Nature of guidance provided to others

Individual Contributors

Individual contributor engineers define a "maker" role at Artsy where a person is responsible for writing code on a regular basis and has no direct reports. As an individual contributor engineer grows at Artsy the scale and impact of the code they write and systems they maintain is expected to increase.

From one level to another, the scope of direct impact gradually increases and so does the sphere of influence. Increased master is a necessary condition but isn't sufficient to expand impact.

Scope of impact:   Self   >   Team   > Teams > Org
Level          : IC2, IC3 > IC4, IC5 >  IC6  > IC7, IC8

Capabilities

Level Knowledge Leadership Impact Influence Discretion
Intern
tl;dr focuses on learning core skills and applying them to deliver business value
  • Has some knowledge of CS concepts
  • Focuses on learning tools and processes
  • Pushes code through the entire lifecycle from development to production
  • Develops individual contributor skills, including source control, editors or test-driven development.
  • Learns to complete well-defined and subdivided tasks
  • Builds relationship with mentor and manager.
  • Seeks assistance and feedback on a regular basis from teammates and manager
  • Receives active guidance on what to work on and how to do it from peers and manager.
Associate Engineer (IC2)
tl;dr focuses on being an effective individual contributor
  • Has broad knowledge of CS concepts.
  • Focuses on learning tools and processes.
  • Continues to develop individual contributor skills, including source control, editors, pairing and test-driven development.
  • Routinely pushes code through the entire lifecycle from development to production.
  • Can complete well-defined and subdivided tasks.
  • Tasks can be business or learning driven.
  • Understands team mission, goals and backlog.
  • Builds relationship with team members.
  • Actively contributes to team rituals.
  • Guided by objectives of project or ongoing assignments.
  • Plans own work priorities on a regular basis with guidance.
Engineer (IC3)
tl;dr: is an effective team member
  • Consistently writes and delivers correct and clean quality code with guidance.
  • Stewards a small-to-medium feature from technical design through completion.
  • Makes steady, well-paced progress without the need for constant significant feedback from others.
  • Can reliably deliver tasks on the team's critical path.
  • Contributes small tasks to improve the engineering ecosystem.
  • Effectively communicates in a distributed teams environment.
  • Presents facts, information, and the weight of the evidence to influence others.
  • Effectively partners with other engineers and with team's cross-functional partners (including PM, Designer, Data Analyst).
  • Provides help and support outside of area under their responsibility.
  • Participates in the interviewing process of new team members.
  • Self-directed, plans own work priorities on a regular basis.
  • Knows when to ask for help and how to get unblocked.
  • Understands business impact of their work.
Senior Engineer (IC4/IC5)
tl;dr: can drive change and impact at the team level
  • Understands and makes well-reasoned design decisions and tradeoffs in their area.
  • Works in other areas of the codebase with guidance from owners of that system.
  • Takes responsibility for the maintenance and evolution of a significant service or technology.
  • Can manage complex projects.
  • Demonstrates knowledge of industry trends, infrastructure and systems.
  • Delivers significant business value at team level.
  • Helps the team deliver on its overall goals.
  • Can drive specific initiatives.
  • Effectively translates ambiguous business problems into manageable tasks.
  • Persistent in the face of roadblocks, dispatches them efficiently, pulling in others as necessary.
  • Has end-to-end responsibility on projects of increasing complexity and contributes to code that is shared across projects.
  • Effectively contribute to longer-term product strategy.
  • Empowers team members to take on meaty and interesting tasks.
  • Can align a small group of people outside of their immediate team to solve a well defined problem.
  • Mentors junior engineers and / or train other engineers.
  • Participates in decision making at the practice level.
  • Requires minimal direction or oversight, delivers quickly.
  • Understands elements of the business that their work supports.
  • Demonstrates fluency with team KPIs and key drivers of these KPIs.
  • Makes tradeoffs between business impact and technical strategy.
Staff Engineer (IC6)
tl;dr: can drive change and impact across multiple teams
  • Stewards large scale and impactful service or collection of services.
  • Demonstrates advanced knowledge in a specific domain and some minimum breadth across the whole stack.
  • Anticipates technical issues at the product level and makes architectural and design decisions to avoid them.
  • Has track record of creating sweeping improvements in stability, performance, and scalability across services.
  • Consistently reduces the complexity of projects, services, and processes in order to get more done with less work.
  • Has made an obvious positive impact on the entire company's technical trajectory.
  • Sought out by other team members for technical guidance.
  • Recognized as a prolific contributor.
  • Multiplies the effectiveness of others by facilitating cross-team work.
  • Can communicate with empathy at scale.
  • Can drive change at the org level by identifying a critical need, spinning up a practice / working group / task force and seeing to completion.
  • Understands the Artsy business and makes decisions based on its direction.
  • Sets short to medium-term strategic technical direction and positively impacts business direction.
Senior Staff Engineer (IC7)
tl;dr: can drive change and impact across full Product, Data, Design and Engineering organization
  • Creates architecture that enables many potential futures without knowing exactly what the future is.
  • Quickly breaks down complex problems into potential solutions, knowns, and unknowns.
  • Leads the conversations internally about the direction of major areas of the technology.
  • Consistently delivers large systems involving one or more teams' contribution.
  • Primarily acts as a multiplier by building systems, authoring tools, or introducing policies or patterns.
  • Ensures Artsy makes judicious technology choices in the face of rapid business and technology advancements.
  • Identifies technology strategic growth opportunities that enable Artsy to grow as a business.

Technical Leads

Every product team at Artsy needs a technical lead. A technical lead is the point person between business, product and engineering for that project. Their responsibilities are to help keep project management up to date, and to keep an eye on the larger picture of the project. This role is well suited to IC who has previous experience with the types of technical work involved. Being a technical lead on a project is a short term role as projects are launched, and wrapped up with some regularity, making a technical lead not a job title.

Management

A manager’s role at Artsy balances few individual contributor responsibilities with more people management responsibilities. As an engineering manager grows at Artsy, any code they write is expected to shift from delivering direct value on project progress to having a multiplying effect by enabling their team to do better work. As such, an Engineering Manager has direct reports and their performance is evaluated by the scale and impact of their team considerably more than the direct impact of the code they write.

People Management vs Technical Leadership

  • People management is orthogonal to technical leadership.
  • People management is a responsibility to develop and support people.

vs

  • Technical Leadership is an official role in a project, not a title.
  • Technical leadership is a recognition of technical ability.
  • Technical leadership is a responsibility to ship software.

M3 Engineering Manager

People & Business Leadership

  • Removes roadblocks by delegating tasks without micromanaging and minimizes the need for their own code.
  • Triages bug fixes or distracting work to keep their teammates focused.
  • Jumps into critical systems to debug and manage the resolution of timely issues.

Impact

  • Ensures their team is consistently delivering high quality work with minimal bugs through use of automated testing and other software quality practices.
  • Makes educated decisions to introduce new technology that better enables their team. Effectively builds consensus and spreads knowledge of new technologies.
  • Team delivers projects in a timely manner and is effective at making tradeoffs to meet deadlines.

Relationships & Influence

  • Keeps team motivated with strong retention. Recognizes good work and minimizes tensions around mistakes or poor performance.
  • Recruits and hires engineering talent that fills their team’s needs.
  • Facilitates constructive collaboration between teammates, stakeholders, and peers in code review, meetings, etc.
  • Encourages feedback for themselves and between teammates and peers.

Discretion

  • Makes time to focus team on technical debt and refactoring efforts.
  • Sets clear goals with teammates that advance their career growth. Meets with team members regularly to advance them towards their career goals.
  • Effectively aligns goals set by engineering directors with their team and makes consistent progress towards them.

M4 Senior Engineering Manager

People & Business Leadership

  • Effective at eliminating roadblocks by delegating ownership and expertise of large projects or codebases and does not make themselves a bottleneck.
  • Solves and prevents future bugs or distracting work by managing vendor relationships, implementing support systems, automating processes, etc.—keeping their teammates highly focused.
  • Instills confidence in their teammates’ ability to debug critical systems and resolve timely issues.
  • Manages a wide range of skill-sets and optimizes for teammates' strengths.

Impact

  • Innovates on software quality practices setting new standards for their team and impacting Engineering at large.
  • Introduces new technology that results in a competitive advantage for, and used widely by, Engineering at large. Empowers teammates to contribute back to these technologies, as well as contributing themselves, through open source or otherwise.
  • Team consistently delivers high impact projects in a timely manner which have lasting value.

Relationships & Influence

  • Has highly motivated team where successes are celebrated and failures are normalized, and learned from, through blameless post mortems, retrospectives, etc. Facilitates team bonding through team outings like lunches and conference visits.
  • Attracts top talent via blog posts, conferences, networking, etc. Effective at building an optimally performing team through a diversity of backgrounds, experience and skillsets.
  • Instills a culture of open collaboration and improvement. Leads meetings between stakeholders and peers, advocating for their teammates voice. Navigates tensions between teammates and their peers to maintain positive energy.

Discretion

  • Effectively works with stakeholders to ensure minimal technical debt while maintaining overall velocity on feature delivery.
  • Regularly holds teammates accountable for falling behind goals. Provides help and constructive feedback to promptly set teammates back on course. Ensures their teammates meet their goals in a timely manner and always have opportunities to advance.
  • Collaborates with engineering directors, CTO, and Leadership to set goals and notices new opportunities to make business impact.

Directors

Director engineers define a manager role at Artsy that heavily emphasizes people management responsibilities over writing code on a regular basis. A director's responsibility is to lead process, architecture, and systems that enable many engineers to do their best work. Engineering directors can have a significant amount of individual contributors and/or leads as direct reports, and their performance is evaluated by the scale and impact they enable for their department and its technology.

M5 Engineering Director

  • TODO

M6 Senior Engineering Director

  • TODO
You can’t perform that action at this time.