Cosa fa un ingegnere del software a Google?

Scrive codice, scrive test unitari, scrive regole di compilazione, costruisce cose, esegue test, fa il debug dei test falliti, invia modifiche per la revisione, rivede le modifiche di altre persone, invia le modifiche nell'albero dei sorgenti.

Legge rapporti di bug, scrive rapporti di bug, commenta i rapporti di bug. (Noi chiamiamo le segnalazioni di bug "bug"; questo crea confusione. Ma lo fanno anche gli utenti di Bugzilla e così via, quindi non siamo soli. Inoltre, alcuni bug sono richieste di caratteristiche. O note a se stessi. O scherzi. O notifiche automatiche. O...)

Debug dei problemi nei sistemi di produzione. Leggere i log, leggere i traceback, leggere i dump. Accigliarsi su dashboard e grafici.

Leggere documenti di design, scrivere documenti di design, commentare documenti di design.

Andare agli standup giornalieri, e dire cosa hai fatto, e sentire cosa hanno fatto le altre persone del team. Brevemente.

Andare ad altri tipi di riunioni, con il proprio team e con persone di altri team. Di persona e in videoconferenza (davvero una buona videoconferenza!). Brainstorm. Pianificare. Stimare. Usare strumenti di pianificazione e stima. Scherzare su quanti diversi strumenti di pianificazione e stima ci siano.

Leggere e scrivere email.

Intervistare i candidati per lavori di ingegneria del software.

Bere caffè e/o altre bevande. Mangiare mele e barrette di fichi e snack sani (anche M&Ms). Pranzare in caffetterie molto belle. Uscire a pranzo di tanto in tanto.

Fare esercizio, giocare a biliardo e a biliardino, giocare ai videogiochi (Pac Man!), dormire, riempire le aree di lavoro dei colleghi con palline da ping-pong, decorare gli ascensori con immagini di cani, fare massaggi occasionali.

Avere una vita personale ricca e soddisfacente (o meno), fuori dal lavoro.

Fare altre cose che non ho scritto.

Il solito, davvero!