Quali corsi universitari devo seguire per diventare un ingegnere del software?

Solo per iniziare ad esserlo, o per avere una buona possibilità di ottenere un lavoro di primo livello, o per essere il miglior sviluppatore di software possibile?

Per iniziare ad esserlo, non c'è bisogno di seguire alcun corso di per sé, basta imparare qualche linguaggio informatico in qualsiasi modo possibile (come leggere un tutorial online), e farlo. Dopo aver scritto il tuo primissimo programma, anche se è un passo del tutorial, congratulazioni, sei uno sviluppatore di software.

Per avere una buona possibilità di ottenere un lavoro entry-level, non serve molto di più. Imparate un linguaggio ragionevolmente popolare, praticatelo, e costruite le vostre abilità fino al punto in cui potete partire da zero e implementare qualcosa di non banale, che possa funzionare in modo affidabile e corretto. Non c'è ancora bisogno di prendere lezioni di per sé, ma qualche modo per ottenere un feedback è altamente raccomandato. Potete fare pratica con mezzi come la programmazione a coppie (specialmente ai Code Retreats), contribuendo a progetti open source che esaminano accuratamente le proposte, o siti come exercism.io, dove l'intero scopo è quello di darsi reciprocamente suggerimenti per migliorare.

Per essere il meglio che potete essere, o almeno molto bene, potreste ancora farlo senza prendere lezioni formali, ma questo probabilmente è il più efficace a lungo termine. Come minimo, brevi corsi di formazione aiuterebbero molto, anche se quelli avanzati, che potrebbero sostituire interi corsi semestrali, tendono ad avere un sacco di requisiti di base. Su quali argomenti dovrebbero essere le classi/corsi/qualunque cosa? Le altre risposte già presentate lo coprono abbastanza bene. Naturalmente fate ancora molta pratica con il feedback, non solo per mantenere le basi nitide ma anche per applicare ciò che imparate in classe.

Per essere assolutamente al top, però, ci vuole più di queste abilità tecniche. Avrete anche bisogno di comunicazione, di leadership di progetto e/o di gestione e di abilità commerciali. Anche se non stai entrando in affari per te stesso, avrai bisogno di capire le esigenze del business, come i compromessi tra time-to-market e prodotto di alta qualità. Puoi ottenere le abilità di comunicazione e di leadership in modo economico e in un'atmosfera divertente da Toastmasters International.