Pro:
- È una carriera molto gratificante dal punto di vista finanziario. Lo sviluppo del software è spesso nella top 10 delle carriere più remunerative nella maggior parte dei paesi
- C'è un sacco di spazio - si possono sviluppare applicazioni web, applicazioni mobili, applicazioni embedded, lato client, lato server, analisi dei dati, intelligenza artificiale, giochi, ecc
- E' molto difficile annoiarsi. Si può sempre automatizzare le cose noiose. Progetti diversi presentano sempre sfide diverse. Il campo è in rapida evoluzione, quindi ci sono sempre nuove cose da imparare.
- E' sia uno sforzo creativo che uno sforzo tecnico
- Tante opportunità di lavoro a distanza/da casa, se questo è il tuo genere
- Puoi lavorare con un sacco di gente intelligente
- Accesso a una comunità mondiale di persone che pensano in modo simile. La maggior parte dei problemi principianti e intermedi sono facilmente risolvibili attraverso internet
- Generalmente, lavorare in una società di programmazione è più probabile che sia una meritocrazia - le persone con migliori abilità tecniche hanno maggiori probabilità di essere valutate
- Ci sono molte opportunità - se sei infelice dove sei, puoi facilmente cercare un'altra opportunità
Cons:
- Non è per tutti. Richiede un certo tipo di pensiero a cui si può essere abituati o meno. Tipicamente il campo richiede la capacità di pensare in modo logico e incrementale (passo dopo passo su come accadono le cose) e di capire come più componenti lavorano e interagiscono insieme. Le sfide più avanzate richiederanno anche un significativo pensiero fuori dagli schemi
- Dopo un po' di tempo, si tenderà a interpretare le cose più letteralmente. Questo è un effetto collaterale del lavoro con i programmi per computer che può influenzare le vostre interazioni sociali
- Molte persone al di fuori del campo spesso trovano difficile capire la quantità di lavoro che va in un programma per computer. Questo può portare a conversazioni difficili, specialmente con i clienti
- I tuoi amici e parenti non programmatori ti chiederanno spesso un aiuto tecnico, anche se non sai nulla della loro stampante e molto probabilmente cercherai le informazioni su Google
- Tipo, il settore è molto cattivo nella stima e nella programmazione, portando a un sacco di straordinari e al relativo stress
- Il campo è in rapida evoluzione, quindi c'è spesso la necessità per un programmatore in carriera di auto-formarsi per rimanere aggiornato sulle tendenze attuali
- Incontrare un problema molto difficile che nessun altro è stato in grado di risolvere può farvi impazzire