×
Dropbox Engineering Career Framework

Archetypes Behaviors

Introduction

As engineers gain more seniority, how they achieve impact and leverage themselves can vary broadly. There is more than one path to senior IC levels and we want to make it clear that it does not necessarily require one to become a Tech Lead to get there. To extend this idea, we wanted to introduce the notion of archetypes, which is heavily inspired from Will Larson’s book Staff Engineer. It represents a few distinct patterns of senior roles and provides a way for us to describe the behaviors we see expressed by these exemplars with respect to our Core Responsibilities. It is not intended to be a comprehesive list, nor provide context on specalizations (e.g. security, machine learning), but this gives us a new language to have more nuanced discussions to facilitate career growth discussions.

The initial set of Archetypes we’ve outlined below are:

  • Technical Lead: Guides the approach and execution of a particular team. They partner closely with a single manager, but sometimes they partner with two or three managers within a focused area.
  • Architect: Responsible for the direction, quality, and approach within a critical area. They combine in-depth knowledge of technical constraints, user needs, and organization level leadership.
  • Solver: Digs deep into arbitrarily complex problems and finds an appropriate path forward. Some focus on a given area for long periods. Others bounce from hotspot to hotspot as guided by organizational leadership.

The tables below provides examples on how each Archetype may express the related CRs differently. It is not meant to be an exhaustive list, nor is it a checklist. Many engineers may actually find that they are a blend of a bit of each

L4

Results: Impact, Ownership, Decision making

  • I deliver many of my team’s goals on time and with a high standard of quality
    • Technical Lead: by leading and mentoring my team in their approach and execution
    • Architect: by setting direction and technical strategy for the services and systems my team owns
    • Solver: by being able to go deep into complex technical problems and resolve them
  • I make informed decisions
    • Technical Lead: with my team and stakeholders to prioritize our roadmap
    • Architect: to chart a course for our technical systems
    • Solver: to provide a technical solution for a team level priority
  • I self-identify opportunities
    • Technical Lead: to implement improvements to the team’s projects and processes
    • Architect: to chart a course to help fulfill users’ needs and overcome technical constraints
    • Solver: to solve complex problems
  • I am able to unblock my team and other partner teams to make forward progress in our projects
    • Technical Lead: by driving the roadmap and prioritization for the team
    • Solver: by defining a solution path and executing against it
    • Architect: by understanding the business and organizational needs and establishing a long-term technical strategy
  • I am accountable for team decision making bringing alignment with team members and stakeholders

Craft: Complexity, Scope, Code Quality, Design/Arch Quality

  • I am able to give quality feedback on designs written by other members of my team, asking probing, insightful questions that solidify choices and surface erroneous assumptions
    • Technical Lead: by making sure to identify and remediate conflicting designs from different parts of the organization.
    • Architect: by identifying and remediating potential bottlenecks. I also consider how this design fits in with the remainder of the product by centering on user needs.
    • Solver: by identifying and remediating potential bottlenecks.
  • I effectively and quickly debug cross-module issues, and may intuit where bugs might lie due to my deep knowledge of the libraries, platforms, and systems that my software relies on
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I’m able to create coherent designs with multiple components interacting across API or system boundaries; bugs do not creep in at the boundaries between components due to mismatches in expectations of what is technically feasible
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I’m capable of rolling out a component or major feature (and deprecating an existing system or feature) reliably - including appropriate monitoring, paging, etc are in place, and that failure domains are understood and characterized appropriately before large scale rollout.
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I design clear success metrics and achieve those metrics consistently post-launch through the lifetime of the system or feature.
    • Technical Lead, Architect, Solver: No difference among the archetypes

Talent: Personal growth, Hiring, Talent development

Personal Growth: Personal growth is fairly agnostic to archetypes

  • I proactively ask for feedback from those I work with and identify ways to act upon it
  • I have self-awareness about my strengths and areas for development
  • I drive discussions with my manager about aspirational goals and seek out opportunities to learn and grow

Hiring

  • I gain the trust of candidates and can represent Dropbox's mission, strategy, and culture throughout the interview process
  • I am able to represent my team to potential candidates in a compelling way
    • Tech lead: by sharing the team’s technical vision and roadmap
    • Architect: by sharing the architectural challenges of the team and org
    • Solver: by discussing technical challenges of the team

Talent Development

  • I model integrity and a high standard of excellence for my work.
    • Tech lead: by sharing best practices on team processes and craft
    • Architect: by sharing best design principles for longer term health of systems
    • Solver: by sharing best practices on dealing with hairy technical challenges and sharing common patterns for solving them
  • I help up-level my teammates taking into account their skills, backgrounds and working styles
    • Technical lead: by identifying and supporting areas of growth
    • Architect: by helping them understand the big picture and connecting the dots between the team and org roadmap
    • Solver: by coaching them on craft and practical solutions to common engineering challenges
  • I solicit and offer honest and constructive feedback that is delivered with empathy to help others learn and grow
    • Technical Lead, Architect, Solver: No difference among the archetypes

Culture: Collaboration, Communication, Org Health, Upholding Values

  • I establish & drive a culture of engineering excellence, with complete ownership for my team/area.
  • I advocate, exemplify & coach engineers towards strong cross-functional partnerships.
  • I contribute collaboratively to product and design strategy.
  • I speak the voice of the user and the business with engineers.
  • I drive a culture of 'in it together to help the company succeed' in immediate partner team engagements.
  • I drive a culture of balance between short and long term impact for my team/area.
  • I own, communicate & address concerns/issues raised within the team.
  • I ensure that all members of my team/area feel comfortable participating in engineering meetings.

Direction: Agility, Innovation, Vision, Strategy, Leadership, Alignment

  • I embrace change and adapt quickly to it
    • Technical Lead: by helping the team (re-)align projects and activities in light of the new situation, and finding a technical path to success
    • Architect: by understanding the architectural implications of the change and planning out necessary architectural transformations
    • Solver: by identifying obstacles on the path to success and finding a way to overcome or avoid them
  • I am beginning to push boundaries to generate and implement ideas that aim to drive our products and tools forward
    • Technical Lead: by improving team processes and craft
    • Architect: to support longer-term architectural goals
    • Solver: by picking battles and showing ownership of key goals and activities
  • I set audacious goals, take risks, and share lessons learned
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I define the technical roadmap for complex projects,
    • Technical Lead: refining it as the projects progress, and provide leadership for the people executing on the project
    • Architect: integrating it into our long-term technical roadmap
    • Solver: applying leverage for maximum impact
  • I define my team’s priorities and secure buy-in in partnership with my manager
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I generate excitement for the team’s strategy
    • Technical Lead: by connecting team projects to the strategic goals
    • Architect: by producing a workable architecture that solves problems and an implementation plan that delivers incremental value on the way
    • Solver: by demonstrating and socializing practical wins and advantages in implementation as the strategy pays off.

L5

Results: Impact, Ownership, Decision making

  • I deliver many of my team’s goals on time and with a high standard of quality
    • Technical Lead: by leading and mentoring my team in their approach and execution
    • Architect: by setting direction and technical strategy for the services and systems my team owns
    • Solver: by being able to go deep into complex technical problems and resolve them
  • I make informed decisions
    • Technical Lead: with my team and stakeholders to prioritize our roadmap
    • Architect: to chart a course for our technical systems
    • Solver: to provide a technical solution for a team level priority
  • I self-identify opportunities
    • Technical Lead: to implement improvements to the team’s projects and processes
    • Architect: to chart a course to help fulfill users’ needs and overcome technical constraints
    • Solver: to solve complex problems
  • I am able to unblock my team and other partner teams to make forward progress in our projects
    • Technical Lead: by driving the roadmap and prioritization for the team
    • Solver: by defining a solution path and executing against it
    • Architect: by understanding the business and organizational needs and establishing a long-term technical strategy
  • I am accountable for team decision making bringing alignment with team members and stakeholders

Craft: Complexity, Scope, Code Quality, Design/Arch Quality

  • I design software components that are difficult to misuse and flexible in the face of an increase in the number of adjacent use cases as appropriate to the direction of the business (neither under- nor over-designed)
    • Technical Lead, Architect, Solver: No difference among the archetypes, but a technical lead might do less of this than the other archetypes.
  • I reduce complex designs and concepts to simple foundational components through correct choices of data structures, applications of algorithms, or other deep insight into the problem space (ex: 3 tree model in sync engine) and create simple interfaces to complex underlying systems
    • Technical Lead, Architect, Solver: No difference among the archetypes, but a technical lead might do less of this than the other archetypes.
  • I am able to review designs in related areas with high quality and ensure quality for cross-team cross-module design/API issues
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I may have deep expertise in implementation or principles behind some of the libraries, platforms and systems relevant to my team's work
    • Mostly applicable for Solver but other archetypes may demonstrate this too.

Talent: Personal growth, Hiring, Talent development

Personal Growth

  • I proactively ask for feedback from those I work with and identify ways to act upon it
  • I have self-awareness about my strengths and areas for development
  • I drive discussions with my manager about aspirational goals and seek out opportunities to learn and grow
  • Technical Lead, Architect, Solver: No difference among the archetypes

Hiring

  • I am an active participant in the hiring process for senior candidates (for example, by participating in eng-modsquad, hiring committee, debriefs, etc.)
    • Technical Lead, Architect, Solver: A tech lead might be doing more of this.
  • I gain the trust of candidates and can represent Dropbox's mission, strategy, and culture throughout the interview process
  • I am an effective partner to my manager and am able to represent my team’s technical challenges to candidates in an exciting way (e.g. 1:1 sell chats, blog posts, public speaking)
    • Tech lead: by sharing the team’s technical vision and roadmap
    • Architect: by sharing the architectural challenges of the team and org
    • Solver: by discussing technical challenges of the team

Talent Development

  • I am a role model for other Dropboxers and model a standard of excellence that supports a culture of high performance on my team
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I invest time to coach and mentor my teammates (particularly ones looking to grow into L4/L5). I take into account their skills, backgrounds, working styles and solicit and provide thoughtful, constructive feedback to them.
    • Technical lead: by identifying and supporting areas of growth
    • Architect: by helping them understand the org wide challenges and coaching them on how to gain alignment for cross-org initiatives.
    • Solver: by coaching them on craft and practical solutions to common technical challenges
  • I devote time to spreading my knowledge widely via talks, blog posts or written documentation
    • Technical Lead, Architect, Solver: No difference among the archetypes
  • I participate in SPRiTEs calibration sessions by providing meaningful feedback to ensure fair and consistent decisions
    • Technical Lead, Architect, Solver: No difference among the archetypes, Technical Leads might be doing more of this.

Culture: Collaboration, Communication, Org Health, Upholding Values

  • I establish & drive a culture of engineering excellence, with complete ownership for my team/area.
  • I advocate, exemplify & coach engineers towards strong cross-functional partnerships.
  • I contribute collaboratively to product and design strategy.
  • I speak the voice of the user and the business with engineers.
  • I drive a culture of 'in it together to help the company succeed' in immediate partner team engagements.
  • I drive a culture of balance between short and long term impact for my team/area.
  • I own, communicate & address concerns/issues raised within the team.
  • I ensure that all members of my team/area feel comfortable participating in engineering meetings.
  • I ensure the above is happening for my entire org, raising and addressing gaps through mentorship and via management.

Direction: Agility, Innovation, Vision, Strategy, Leadership, Alignment

  • When necessary, I am able to introduce change into the organization, help others understand the business case for change, and create excitement to drive adoption of the change
    • Technical Lead, Architect, Solver: No difference among the archetypes, but a technical lead might do more of this than the other archetypes.
  • I push boundaries to generate and implement breakthrough ideas that aim to create new products or advance existing products and drive our tools forward
    • Technical Lead, Architect, Solver: No difference among the archetypes, but a solver might do more of this than the other archetypes.
  • I create an environment supporting experimentation and iteration towards audacious goals.
    • Technical Lead, Architect, Solver: No difference among the archetypes, but an architect might do less of this than the other archetypes.
  • I define a long-term vision for my team that factors in company-wide priorities as well as the technical limitations and possibilities of Dropbox’s software and systems. I inspire my team and cross-discipline stakeholders to work toward that vision
    • Technical Lead, Architect, Solver: No difference among the archetypes, but a solver might do less of this than the other archetypes.
  • I anticipate challenges and am able to influence the technical direction of the team or org to execute on that vision even in the face of potential significant misalignment
    • Technical Lead: by identifying root causes of those misalignments and driving to overcome them
    • Architect: by integrating short-term plans and roadmaps against long-term north star architectural visions
    • Solver: by finding technical or organizational workarounds or solutions to those problems and driving them to completion