← Tornar a tots els articles
Guies

La carrera de staff engineer: contribució individual a escala

Per Marc Molas·16 d’octubre del 2023·10 min de lectura

Ho he vist passar una dotzena de vegades. El teu millor enginyer sènior toca sostre. Fa tres anys que és «sènior», és la persona a qui tothom acudeix quan hi ha una decisió tècnica difícil, i no vol gestionar persones. Així que l'ascendeixes a engineering manager, perquè és l'únic «amunt» que li pots oferir.

Sis mesos després, és infeliç. Has perdut el teu millor contribuïdor individual (IC) en un rol que no havia volgut mai.

És el mode de fallada més previsible —i més evitable— de les organitzacions d'enginyeria. La solució és una carrera real de staff engineer: no un canvi de títol, sinó un rol genuïnament diferent, amb un abast, unes expectatives i un impacte diferents.

Què fa realment un staff engineer

La idea equivocada més estesa és que un staff engineer és un sènior que porta més anys a l'empresa o que escriu més codi. No. El salt de sènior a staff és un canvi en la unitat de lliurament. Un enginyer sènior lliura funcionalitats. Un staff engineer lliura resultats que travessen equips, sistemes o tota l'organització.

Will Larson, al llibre Staff Engineer, identifica quatre arquetips. No tots els staff engineers hi encaixen del tot, però els arquetips ajuden a veure el ventall de formes que pren el rol a la pràctica.

El tech lead

És l'arquetip més comú. El tech lead està integrat en un equip —o en un grup d'equips— i n'impulsa la direcció tècnica. Defineix la visió tècnica, pren les decisions d'arquitectura i vetlla perquè la feina de l'equip mantingui la coherència. Sovint és qui decideix «farem servir aquest patró, i no aquell altre», i després escriu la primera implementació per demostrar que funciona.

La diferència amb un sènior que fa de tech lead: abast i autoritat. Un tech lead de nivell staff és responsable de la direcció tècnica de tot un domini, no d'una funcionalitat. Pren decisions que condicionen com treballen diversos equips.

L'arquitecte

L'arquitecte treballa a escala de tota l'organització i defineix com encaixen els sistemes entre si. No respon de la producció d'un equip concret: respon de la coherència tècnica de tot el producte o de tota la plataforma. És qui dissenya les fronteres entre serveis, el flux de dades entre sistemes i les interfícies sobre les quals construeixen els equips.

Aquest arquetip abunda més a les organitzacions grans, on coordinar equips és genuïnament difícil. En una startup de 15 persones segurament no necessites un arquitecte dedicat. Amb 80 enginyers, gairebé segur que sí.

El solucionador

Al solucionador li toquen els problemes més durs: els que ningú més sap resoldre. Un problema de rendiment enquistat que fa mesos que dura. Una migració que fa por a tothom. Una capacitat tècnica nova que ningú de l'equip no ha construït mai.

Els solucionadors van d'equip en equip i de projecte en projecte. No es tracta tant de mantenir una responsabilitat permanent com d'aplicar un coneixement tècnic profund a problemes concrets d'alt impacte. Quan el problema està resolt i la solució transferida, passen al següent.

La mà dreta

L'arquetip més escàs. La mà dreta amplia la capacitat d'un directiu sènior: va a les reunions on el VP no pot ser, desencalla decisions entre equips i representa enginyeria a les converses executives. Exigeix alhora una credibilitat tècnica profunda i molta lectura organitzativa.

Per què importa aquesta via professional

Les empreses que no construeixen una via de staff engineer paguen un impost ocult per tres bandes.

Fuga de talent. Els teus millors IC marxen a empreses que sí que la tenen. Un sènior de Google o de Stripe que veu «Staff», «Senior Staff» i «Principal» per sobre seu sap que pot créixer una dècada sense gestionar ningú. Si a la teva empresa el sostre és «Enginyer Sènior», estàs empenyent aquesta gent cap a la porta.

Gestors a contracor. Quan la gestió és l'únic camí per pujar de sou i de títol, acaba gestionant gent que no hauria de gestionar. Ho fan pels diners i pel reconeixement, no perquè en sàpiguen ni perquè els agradi. El resultat: un equip amb un gestor mediocre i un gran IC perdut.

Deute arquitectònic. Sense IC sèniors amb el mandat explícit de pensar a escala de sistema, les decisions d'arquitectura es prenen per comitè, per inèrcia, o directament no es prenen. El resultat són sistemes que creixen en direccions contradictòries perquè ningú no responia de la coherència.

El rol canvia de forma a mesura que l'empresa creix

En una startup de 10 persones, el staff engineer és qui té més context. No hi ha via formal: algú fa d'àncora tècnica i envia codi cada dia mentre dona forma a tota la base de codi.

En una empresa de 50, el rol es formalitza. És responsable d'un domini: la capa de dades, el sistema de pagaments, la infraestructura. Pren decisions que afecten diversos equips i dedica temps de debò als documents de disseny i a alinear equips.

A partir de 200 enginyers, els staff engineers tenen charters escrits, influeixen en els roadmaps i poden tenir autoritat informal sobre enginyers d'altres equips. La navegació organitzativa que això exigeix és considerable.

L'error que veig més sovint a les startups és copiar la versió de gran empresa. En una startup, el staff engineer hauria de continuar escrivint codi el 50-60% del temps mentre impulsa les decisions d'arquitectura que mantenen la base de codi viable a mesura que l'equip creix.

Construir la via en paral·lel a la de gestió

El model més simple és una escala dual:

  • Via IC: Engineer, Senior Engineer, Staff Engineer, Senior Staff Engineer, Principal Engineer
  • Via de gestió: Engineering Manager, Senior Engineering Manager, Director of Engineering, VP of Engineering

Les decisions de disseny crítiques:

Paritat salarial. Un Staff Engineer hauria de cobrar el mateix que un Engineering Manager; un Senior Staff, el mateix que un Director. Si la via de gestió paga més a cada nivell, la via IC és un premi de consolació, i tothom ho sap.

Criteris de promoció diferents, no rebaixats. Pujar a staff exigeix evidència d'impacte tècnic entre equips: decisions d'arquitectura impulsades, problemes durs que ningú més no sabia resoldre, enginyers que treballen millor gràcies a la seva feina.

Abast, no antiguitat. La diferència entre sènior i staff no són cinc anys més d'experiència: és operar en un abast diferent. Un sènior que escriu codi excel·lent dins els límits d'un sol equip durant una dècada és un gran sènior — no un staff engineer.

Dependència jeràrquica. Els staff engineers solen dependre d'un Director o d'un VP. El seu abast supera el d'un sol equip, i qui els gestiona ha de poder avaluar l'impacte entre equips.

Avalua l'impacte a escala de sistema, no l'activitat

Un marc aproximat per avaluar un staff engineer:

  1. Direcció tècnica — Els sistemes on influeix tenen una arquitectura coherent? Els equips prenen millors decisions tècniques gràcies a la seva implicació?
  2. Efecte multiplicador — Els altres enginyers són més efectius gràcies als seus documents de disseny, les seves revisions de codi, la seva mentoria o les seves eines?
  3. Execució en problemes durs — Ha impulsat personalment la solució dels reptes tècnics més difícils de l'organització?
  4. Comunicació — Sap escriure una proposta tècnica que un executiu no tècnic pugui seguir? Sap conduir una revisió de disseny que acabi en alineament, i no en discussió?

I el que no s'ha d'avaluar: PR fusionades, línies de codi escrites o assistència a cerimònies de sprint. Per a algú l'impacte principal del qual és a escala de sistema, aquestes mètriques són pitjor que inútils.

La part honesta

No totes les empreses necessiten una via formal de staff engineer. Si tens deu enginyers i vols continuar sent petit, amb «Enginyer Sènior» com a últim graó ja en tens prou. Els problemes comencen a partir dels 20-30 enginyers, quan els teus millors IC miren amunt i veuen un sostre. Construeix la via abans que el teu millor IC accepti una oferta d'una altra empresa.

A Conectia ens especialitzem a col·locar enginyers de nivell sènior i staff en equips que creixen. És gent que ja ha operat a nivell staff: ha estat responsable de la direcció tècnica, ha impulsat decisions entre equips i ha fet de mentor d'altres enginyers. Quan els integrem a l'equip d'un client, no hi aporten només execució: hi aporten el pensament a escala de sistema que fa escalar una organització d'enginyeria.


Busques IC que operin amb abast de staff engineer des del primer dia? Parla amb un CTO.

Preparat per construir el teu equip d'enginyeria?

Parla amb un partner tècnic i desplega desenvolupadors validats per CTOs en 72 hores.