Com’è essere un ingegnere del software in Amazon?

Sono quasi sul punto di completare il mio stage di ingegneria del software in Amazon, e sarei felice di condividere la mia esperienza:

Pros:

  • Gli ingegneri sono davvero intelligenti. Sanno come fare le cose in fretta preservando la qualità del codice. La maggior parte delle persone che ho incontrato sono ben informate sulle best practice, le tecnologie e i framework attuali.
  • La cultura di Amazon è veloce; questo significa che non starete seduti alla vostra scrivania a chiedervi cosa fare dopo. La pianificazione degli sprint è presa molto seriamente e gli ingegneri calcolano la quantità di tempo per un particolare compito in modo abbastanza accurato.
  • Amazon predica il design e lo pratica ancora meglio. I design pattern sono radicati negli ingegneri qui, e conoscono il trade-off tra il dover scegliere un design piuttosto che un altro. La scalabilità è presa in considerazione per quasi ogni compito che si fa senza compromettere la manutenibilità.
  • Amazon non scende mai a compromessi sull'efficienza (leggi disponibilità e latenza) - Questo porta direttamente al loro principio di leadership dell'ossessione del cliente.
  • Ci sono tonnellate di opportunità se si vuole sfruttare. Amazon sta innovando e si sta avventurando in qualsiasi dominio a cui puoi pensare, quindi hai la possibilità di crescere più di qualsiasi altra azienda attualmente.
  • Gli strumenti interni sono ottimi qui. Non posso rivelare molto su di essi a causa di NDA, ma è possibile ottenere quasi tutti i servizi che si desidera all'interno di Amazon. Questo rende l'intero processo più efficiente in quanto i bug e i problemi possono essere risolti rapidamente internamente, e non c'è nemmeno bisogno di pagare una terza parte. Win-Win!
  • Il compenso è piuttosto competitivo. Quando notate quella differenza di $20k nello stipendio base, considerate il fatto che se siete a Washington, le tasse sono molto meno (~13%) rispetto alla California.

Cons:

  • I vantaggi per i dipendenti non sono così grandi. Si ottiene solo un pass per il trasporto e la colazione gratuita (leggi cereali e bagel). A volte ci sono pranzi di squadra, ma questo dipende soprattutto dal tuo team.
  • La dipendenza tra i team può causare ritardi nel tuo lavoro. Inoltre, i manager non vogliono prendersi la responsabilità inutile di compiti banali/piccoli. (È anche una sorta di vantaggio perché nessuno vuole aumentare il carico operativo sul team).
  • Ho visto impiegati a tempo pieno rimanere molto occupati durante i "on-calls". Gli ingegneri di Amazon dovrebbero essere disponibili 24*7 per alcuni periodi dell'anno. Altre aziende hanno dei "on-calls", ma non credo tanto quanto Amazon.
  • Le persone non rimangono molto nei paraggi. Si spostano a Google o Facebook a causa del maggior valore del marchio e dei migliori vantaggi per i dipendenti. Ho anche sentito che il tasso di logoramento di Amazon è alto, ma non li ho visti buttare fuori gente inutilmente. Forse l'asticella delle interviste di Amazon SDE si è abbassata, quindi la gente non si comporta bene anche se supera le interviste.

Per riassumere, Amazon è un ottimo posto per imparare, esplorare e crescere come sviluppatore. (Posso dirlo per un sacco di profili come analisti di business, ricercatori di utenti, responsabili di programma, ecc). Sarete automaticamente costretti ad aumentare i vostri standard di programmazione grazie alle persone che vi circondano.

Oh, e per quanto riguarda le speculazioni sull'equilibrio tra lavoro e vita privata di Amazon, è fantastico; almeno per me e per quasi dieci altri stagisti che conosco.

Questo è tutto ciò che posso dire sulla base della mia esperienza di stage. Grazie per avermelo chiesto!

P.S.: Se ti iscrivi, preparati a rovinare la tua autostima dopo la prima recensione del codice 😉

Disclaimer: La risposta è la mia opinione personale e basata su ciò che ho visto in Amazon. Non riflette in alcun modo le politiche di Amazon, la cultura del lavoro o la gestione.