Sono stato assunto direttamente dal college in IBM come "Programmatore" (il titolo di lavoro di base è cambiato in "Ingegnere del software" circa un decennio dopo). Avevo una laurea BE, che, a differenza di una BS, non viene con un curriculum specifico, come BS Comp Sci. La mia "concentrazione" era in EE. Tuttavia, il mondo era diverso nel 1986, le aziende cercavano QUALSIASI persona che potesse capire le specifiche scritte e trasformarle in codice. Sono stato abbastanza fortunato da aver ottenuto uno stage dove ho potuto fare un po' di codifica e ho fatto un lavoro di programmazione a contratto in una società di servizi finanziari. All'IBM, hanno un test chiamato IPAT, che pretende di essere predittivo dei candidati che hanno le capacità necessarie per essere buoni programmatori.
Oggi, sfortunatamente (e probabilmente soffrirò qualche serio flame qui), stiamo soffrendo l'era del reclutatore. Qualcuno dirà: "Ehi, abbiamo bisogno di gente con una laurea in X e competenze in Y e Z". Il reclutatore farà delle scansioni di curriculum che butteranno fuori solo i candidati con competenze esattamente corrispondenti - non vogliono correre il rischio (o fare lo sforzo) di cercare candidati che sono forti nei fondamenti delle discipline richieste con un ampio background in molte lingue e piattaforme che potrebbero effettivamente rivelarsi migliori impiegati a lungo termine.
Durante il mio periodo in IBM, ho lavorato sotto diversi direttori di laboratorio che hanno fatto la gavetta, uno era uno studente di musica, un altro era un insegnante di scuola superiore, nessuno dei due aveva una laurea in scienze informatiche. Nell'odierno ambiente di reclutamento, nessuno dei due otterrebbe nemmeno un lavoro di livello base.
Se sei desideroso di ottenere un lavoro di programmazione, ti suggerirei di prendere un master in scienze computazionali, se puoi farlo o di guardare i vari programmi di certificazione che sembrano avere molte opportunità di lavoro o che ti sembrano interessanti.