Diventare un ingegnere del software è davvero difficile?

Avendo cambiato lavoro diverse volte negli ultimi 15 anni, penso di poter rispondere abbastanza bene a questa domanda.

  1. Come si diventa più esperti, è sempre più difficile perché ci sono meno posizioni (in generale) per le posizioni senior
  2. Sei mesi di duro colloquio sono una specie di punto di riferimento che mi aspetto a questo punto della mia carriera. Mai meno di quattro mesi per ottenere una posizione a tempo pieno e forse due mesi per ottenere una posizione a contratto di sei mesi.

Dovrete sopportare ogni tipo di follia

  • Domande di screening telefonico su Java da parte di qualcuno che non ha mai scritto un programma in vita sua
  • Scrivere algoritmi ricorsivi così su due piedi per problemi classici di matematica discreta ("grafo"). Non perché sia pertinente al lavoro, ma perché si suppone che questo elimini i non addetti ai lavori.
  • Scrivere codice su uno schermo condiviso mentre altre persone lo criticano e forniscono colpi di scena sempre più difficili.
  • Solvere" problemi su una lavagna bianca, stando in piedi per un'ora a disegnare linee e scatole e fingendo di aver considerato ogni possibile eventualità.
  • Potresti dover tornare tre volte nello stesso posto di lavoro o passare dalle sei alle otto ore a fare colloqui, passando per il pranzo.

La migliore "preparazione" per questo tipo di pensiero in piedi è stata in realtà insegnare Introduzione al C++ a livello universitario. C'è molto in comune, in entrambi i casi sei in una stanza piena di persone che non hanno idea di cosa ti stiano chiedendo e devi essere educato, preciso e un intrattenitore naturale.