Qual è l’aspettativa di ogni livello di ingegneria del software a Facebook? Artboard

Rivelazione completa: Ex FTE in Facebook, Google e Microsoft.

Tutti gli esempi sono ipotetici (mi cancellavano la memoria prima di lasciarmi andare).

I livelli si aggiungono ai precedenti, con le aspettative del livello inferiore che lentamente svaniscono. Per esempio, un direttore di ingegneria non dovrebbe sapere come sistemare la build di uno dei suoi team dall'alto della sua testa.

Tenete anche presente che, a causa dello sviluppo della carriera e di altri fattori completamente scollegati, le persone non lavorerebbero necessariamente al loro livello per tutto il tempo. Naturalmente cercheranno di arrivare ai compiti leggermente al di sopra del loro livello per crescere più velocemente in termini di competenze e riconoscimento. Esempi nell'altra direzione accadono pure.

Responsabilità e aspettative:

  • E3
    Scrivere codice e test, spingere alla produzione sotto una supervisione di base.
    Saper usare il controllo dei sorgenti, gli strumenti di revisione del codice, come eseguire il codice in locale.

    "Ho aggiunto questo pulsante, e ora, con questa dipendenza che ho dimenticato e appena aggiunto, è sul sito live!"

    (Gli stagisti si adattano effettivamente qui, con meno o nessun accesso alla produzione.)

  • E4
    Comprendere il design e le applicazioni di ciò che viene sviluppato.
    Comprendere i meccanismi di cambiamento della produzione.
    Prendere piccole decisioni di design senza supervisione.
    Scrivere la documentazione (non applicabile a Facebook, ma si applica a Google, che ha lo stesso livello).

    "Ho notato che il modo in cui la nostra funzione memorizza i dati sugli amici che apprezzano il nostro gadget può essere migliorato e sono venuto con un nuovo design. Ecco un documento di design che è stato approvato la scorsa settimana, ecco il codice per modellare i nostri dati attuali nel DB, ecco il nuovo codice di produzione, che è compatibile all'indietro. Verrà spinto stasera, io sarò a disposizione in ufficio. Incrociamo le dita".

  • E5/M0
    Livello senior per un ingegnere, entry level per i manager. Conosce i numeri di utilizzo di base e le loro tendenze.
    Può formulare nuovi problemi e risolverli.
    Agire come un architetto.
    Condurre il team se necessario.

    Nel ruolo di manager: dovrebbe permettere al team di funzionare assicurandosi che le risorse siano disponibili. Eseguire 1:1 e revisioni delle prestazioni.

    Ingegnere: "Possiamo aggregare questi dati e introdurre un'altra scheda nella pagina vista dagli amministratori del gruppo. Per i gruppi con più di 50 persone questo non violerebbe la privacy. Guardando il modello di utilizzo delle nostre caratteristiche attuali, i nostri utenti amerebbero la caratteristica proposta. Ho fatto diversi test di regressione e confermo che possiamo gestirla con ulteriori XXX di quote e permessi."

    Manager: "Sembra fantastico! Muoviti velocemente e rompi le cose, lo chiarirò con il nostro team della privacy e ti darò il via libera. Mi occuperò anche delle risorse. Inoltre, vuoi uno stagista, magari per la parte di visualizzazione?"

  • E6/M1
    Livello staff/Principal engineer.
    Più autonomia e portata maggiore rispetto a E5/M0.
    Dovrebbe essere in grado di gestire completamente il suo team come se fosse una piccola startup in un ecosistema più grande.

    Ingegnere: "Abbiamo spesso bisogno di calcolare certe statistiche tra amici di amici. La mia squadra ha una pipeline per questo. I team A, B e C sembrano fare le stesse cose. Ho parlato con persone anziane di loro e vedono i vantaggi di un'infrastruttura unificata. Ho raccolto le specifiche dai team A, B e C e sembra che ci siano caratteristiche X, Y e Z che possiamo fare entro un trimestre a nostro vantaggio reciproco. Tre persone che ci stanno lavorando dal mio team investiranno più tempo nel prossimo trimestre per avere una soluzione unificata codificata e testata."

    Manager: "Questo è un forte richiamo per un nuovo progetto. Diversi altri team hanno persone senior/principali che cercano nuove opportunità all'interno dell'azienda, e mi assicurerò di spiegare loro anche le nostre prospettive. Dovremmo iniziare una mozione per attirare anche le nuove assunzioni, dato che ne avremo bisogno tra mezzo anno. Inoltre, come si allinea il vostro lavoro con il lancio di un nuovo datacenter a XXX? Potresti essere la cavia per le loro nuove macchine basate su SSD di cui sembri poter fare buon uso."

  • E7/M2
    Leading focus areas.
    Broad cross-team focus.
    Per un'idea di scala, pensa a "newsfeed ranking" o "mobile advertisement".

    Engineer: "La pubblicità mobile è destinata a crescere e a generare più entrate. Mi sto chiedendo se i dispositivi con CPU più potenti o i dispositivi con schermi più grandi genereranno più entrate e cosa potremmo fare per sfruttarlo. Domani vado a pranzo con un E7 del team UI mobile e parleremo di alcuni test A/B che potrebbero mostrarci se c'è spazio".

    Engineer: "Sembra che nell'ultimo mese stiamo generando più attività di paginazione del solito. Ho fatto qualche ricerca e mi sono reso conto che gli annunci mobili mostrati sui dispositivi prodotti da XXX a volte non vanno a buon fine. Questo sembra anche essere collegato con YYY installato sul telefono. Domani incontrerò il mio team di ingegneri per indagare ulteriormente - potrebbe essere un falso allarme, ma preferiamo essere sicuri."

    Manager: "Da come ho capito il nostro core business ora, gli annunci mobili stanno passando dal livello del browser mobile al livello dell'applicazione mobile. Questo richiederà una riorganizzazione delle squadre in circa 2 trimestri e ho bisogno di allinearmi con loro sui nostri piani futuri".

  • E8/D1
    Livello direttore.
    Crescere il business a livello dove il mondo è in continua evoluzione.
    Mantenere e migliorare la cultura.

    Direttore tecnico: "Ritireremo i nostri sforzi in X e li sposteremo in Y. Ecco il piano di rollout per il prossimo anno e mezzo. È ambizioso, ma ho parlato con i leader di tutti i prodotti e crediamo di potercela fare", dove X e Y sono tecnologie correlate nell'area dell'immagazzinamento dati o dell'infrastruttura o dei linguaggi di programmazione.

    (Pensate a Jeff Dean e Sanjay Ghemawat che presentano MapReduce o BigTable all'intera organizzazione ingegneristica di Google: "Apriremo un altro ufficio di ingegneria in Europa. Si concentrerà sull'affidabilità grazie alla differenza di fuso orario."

    Direttore: "Il mobile è il nostro futuro e dovremmo puntare a lanciare un nostro telefono entro due anni".

    Direttore: "Wall è obsoleto e Timeline è come vedo le cose entro la fine di quest'anno".

    Direttore: "X sembra essere proprio il tipo perfetto da mandare in Asia e aprire un nuovo ufficio di ingegneria lì. X, cosa ne pensi?"

  • E9/D2
    La meta-abilità di immaginare, creare e supportare tutto quanto sopra da zero.