Sono stato professore di CS in un'università di insegnamento per 25 anni. Ci sono molti buoni consigli nelle altre risposte. Io sceglierei due punti come i più importanti, comunque:
1. Come altri hanno detto, se sei nuovo nel campo, non essere intimidito se ti trovi in una classe di matricole con altri che sembrano sapere molto sulla programmazione dal liceo o anche prima. Alcuni di loro stanno comunque facendo cazzate, e quelli che sanno davvero cosa stanno facendo saranno contenti che voi siate interessati ad un argomento che amano, e felici di sostenervi. E non sentitevi fuori posto se non corrispondete all'immagine stereotipata di maschio bianco/asiatico di uno scienziato informatico. Alcuni dei migliori studenti a cui ho insegnato non avevano scritto una riga di codice fino al loro primo anno, e provenivano da tutti gli ambienti.
2. Una volta che conoscete l'area abbastanza bene da fare questo giudizio, chiedetevi se vi piace veramente creare software. Va bene se lo trovate esasperante a volte -- lo facciamo tutti 🙂 -- a patto che lo amiate ancora abbastanza da divertirvi a farlo per il suo stesso bene. Il software è un mezzo creativo, come l'arte, la musica o la scrittura. L'amore per il mezzo è essenziale per una carriera di successo in qualsiasi disciplina creativa, e ancora di più in un campo come il CS dove l'apprendimento costante è richiesto per tutta la carriera. I buoni scrittori tengono diari o scrivono poesie solo per la gioia di farlo. I buoni artisti dipingono o scolpiscono semplicemente perché gli piace farlo. E gli sviluppatori di software di successo costruiscono software per le stesse ragioni.
Un segno distintivo di un buon sviluppatore, e una domanda spesso posta nei colloqui di lavoro, è se hanno fatto qualche progetto software non richiesto per il lavoro o la scuola, semplicemente per interesse nel progetto. Se non trovate il software abbastanza interessante da voler provare progetti solo per divertimento, questo è un cattivo segno, e forse un'indicazione che dovreste passare ad un piano di carriera diverso. Probabilmente non riuscirete a stare al passo con tutti i nuovi linguaggi, le nuove aree di applicazione del software, ecc. una volta lasciata la scuola, e vi ritroverete fuori dallo sviluppo del software abbastanza rapidamente. Una laurea in CS ti fa solo ottenere il primo colloquio di lavoro. L'entusiasmo per il mezzo creativo è ciò che ti fa ottenere il primo lavoro, e ti mantiene aggiornato nella tua carriera.