La cosa spaventosa del mondo tecnologico che ho imparato, è che non hai nessuna scala e nessuna rete di sicurezza. Devi lottare per ogni promozione che ottieni.
Il tuo tetto salariale è enorme, ma il lavoro per arrivarci è altrettanto enorme e, a differenza di altre professioni ben pagate, nessuno ti terrà la mano.
Per esempio, in medicina, una volta che vieni accettato nella tua specializzazione, la lotta con i tuoi colleghi per l'avanzamento si ferma. Dopo che ti sei specializzato, il gioco finisce. Ti viene garantito un lavoro ben pagato anche se fai il minimo indispensabile ogni singolo giorno. Tutto quello che devi fare è mettere i 4 anni di scuola di medicina e i 4-7 anni di specializzazione e ti garantisci qualcosa.
Tornando all'ingegneria del software, non hai questa fortuna. Iniziando ad un livello junior appena laureato, imparerai rapidamente che molti dei tuoi colleghi hanno iniziato a programmare subito dopo aver imparato a leggere. Se non stai eseguendo progetti secondari per divertirti nei fine settimana sei in un enorme svantaggio e a questo punto molte persone si rendono conto che hanno bisogno di passare al management o al lato business delle cose perché non arriveranno mai al livello senior.
Devi continuare a imparare, ogni singolo giorno. Ma l'abilità non basta, perché dovrai quasi sempre giocare al gioco aziendale per andare avanti. Meglio abituarsi ad essere anche una persona di persone e fare le giuste connessioni, a partire dal primo giorno di laurea. Alla fine, se giocherete bene le vostre carte, sarete promossi a una posizione senior e dopo potrete diventare un consulente indipendente, dove si trovano i veri soldi.
L'ingegneria del software non è un lavoro 9-5. È uno stato di costante apprendimento e miglioramento - e devi trovare questo divertimento o farai fatica ad andare avanti.