Laurea in matematica e possibilità di lavoro in campo informatico

Antimius
Come da titolo, vorrei esporre un paio di riflessioni sulle possibilità di lavorare in ambito informatico e chiedere consigli/pareri alla comunità. In effetti, leggendo un po' di offerte di lavoro online, vedo che molte posizioni in ambito informatico sono aperte anche per matematici, specie in Data Science e (anche se più raramente) Software Engineering.

Ma partiamo dalla mia situazione: sono laureato (Laurea Magistrale) in matematica e ho seguito un percorso orientato a probabilità e statistica, con qualche esame di informatica nel curriculum (oltre a quelli di base), come machine learning, un esame dedicato a Java e alla computer grafica; inoltre, altre esperienze mi hanno portato a sperimentare altri linguaggi di programmazione (oltre a C++/Java) e la gestione di database in SQL.
E' chiaro che machine learning/data science è un ambito molto coerente con il mio percorso di studi, visto anche il mio curriculum di tipo statistico. D'altro canto, mi piacerebbe tenere le possibilità aperte e approfondire lo sviluppo di software (ho fatto solo dei piccoli progetti per ora, un po' per conto mio, un po' all'università), sia per passione personale sia per avere più possibilità nel mondo del lavoro.
Ora, aldilà dei vari linguaggi di programmazione che uno impara o approfondisce man mano che acquisisce esperienza, è probabile che io debba recuperare un po' di conoscenze sia in Data Science (ad esempio data mining, information retrieval - sì, sto elencando nomi di corsi che vedo sui vari siti di università; [size=85]perdonate l'approccio troppo accademico :-D [/size]) e in Software Engineering (praticamente ho studiato la programmazione imperativa classica e la programmazione orientata agli oggetti, che ho applicato nella creazione di minigiochi come Snake; ma di alcune cose ancora non so nulla, come ad esempio del parallel computing, o non ho mai seguito un corso base di "ingegneria del software").

Venendo ora al mio dilemma: molte di queste conoscenze posso recuperarmele man mano per conto mio, anche soltanto per passione/hobby; stavo però riflettendo se fosse opportuno o necessario aggiungere alcuni crediti formativi in questi ambiti, facendo esami al di fuori del corso di laurea.
Da una parte mi sembra una buona idea perché renderebbe il curriculum più ricco, andando a riempire alcune lacune su argomenti che non ho affrontato nel CdL in matematica; d'altro canto, ho la sensazione che sarebbe un po' inutile perché in molte candidature nemmeno è necessario scrivere gli esami sostenuti durante il corso di studi e quindi non saprei nemmeno come far emegere questi esami extra.
Un'altra possibile soluzione sarebbe prendere una LM in informatica (2 anni) però potrebbe essere una soluzione un po' scomoda e "pesante" se nel frattempo dovessi trovare lavoro [size=85](insomma, un conto qualche esame, un conto un'altra laurea magistrale)[/size].

So che in fondo l'esperienza e l'approfondimento personale sono più importanti di un riconoscimento ufficiale, ma il mio problema è più "come dimostrare in un'eventuale candidatura che ho anche queste conoscenze oltre alla mia bellissima laurea in matematica".
Voi che ne pensate a riguardo?

Domanda bonus
Da quali argomenti pensate che non debba prescindere e debba necessariamente studiare se voglio intraprendere una carriera in uno di questi due ambiti? (E' possibile che alcuni di quelli che elencherete già li abbia visti in vari corsi, ma sicuramente qualcosa manca :-) )

Risposte
wall98
Ma ad oggi, ha senso specializzarsi in data science?

Overflow94
Non ne so molto di quello che richiede esattamente il mondo del lavoro dato che per ora studio / porto avanti progetti personali però mi sento di scrivere qualche cosa perché mi sono posto spesso le stesse domande e penso di aver capito a grosse linee quale è il trend generale.

In generale il mondo della data science si è già confrontato con il fatto che le competenze richieste stanno diventando troppo elevate in troppe materie diverse. Per imparare tutta la matematica, l'informatica e l'esperienza specifica nel settore in cui ci si applica da poter costruire modelli che offrano le migliori prestazioni non basterebbero tre vite. E' qui che nascono tool come Python (il più usato nel mondo del machine learning), un linguaggio facile da apprendere che da l'opportunità a chi ha già speso una vita a studiare la teoria di non doverne spendere un'altra ad imparare il C++ per metterla in pratica.

Per esempio io in questo momento grazie a Tensorflow con API python e a google cloud sto facendo girare un neural network che ha più di 10 milioni di parametri su un cluster di 3 macchine diverse parallelizzando adeguatamente il lavoro della CPU e delle GPU così che il training possa andare a ciclo continuo senza subire ritardi a causa dell'input/output dal disco rigido.

Non ho mai dato un esame di parallel computing e non so neanche cosa siano realmente una cpu e una gpu... Quello che so sulla programmazione l'ho imparato facendo. Queste mancanze a volte pesano, certamente, ma mi peserebbe di più studiare altri tre anni informatica quando ho una già una lista di articoli di teoria da leggere che probabilmente mi basterà per i prossimi cinque anni.

Quello che voglio dire è che devi capire esattamente in che ambito della data science vuoi lavorare, da matematico non credo tu voglia diventare un ingegnere del software esperto di C++ e parelling computing, credo che tu sia più propenso a diventare un analista o uno sviluppatore capace di applicare i propri modelli e le proprie soluzioni ai problemi. E per fare questo ti assicuro che negli ultimi anni sono stati sviluppati una miriade di strumenti per facilitarti il lavoro incapsulando ad altissimo livello molti concetti e problemi relativi all'implementazione tecnica. Quindi partirei da questo, studiare la teoria e gli strumenti necessari per il settore in cui vuoi lavorare.

Detto questo anche io mi contraddico, proprio in questo momento sono alle prese con il cython perché ho bisogno di dare l'efficienza del C a una sezione critica del mio codice, e probabilmente farò una magistrale di machine learning sotto informatica dove si fanno esattamente gli esami che hai citato. Ma questo esclusivamente perché sto lavorando a un progetto personale e perché ho deciso di non entrare nel mondo del lavoro e quindi mi sembra la miglior alternativa per continuare gli studi. In un contesto aziendale non verrebbe mai richiesto a una sola persona di fare tante cose diverse (e anche io personalmente non vedo l'ora di iniziare a fare qualche soldo per poter assumere informatici e poter delegare questi compiti tecnici che non riguardano le mie competenze).

Intermat
Con una laurea in matematica e la conoscenza, anche abbastanza superficiale di qualche linguaggio di programmazione, una posizione junior la dovresti trovare "facilmente". Secondo me le competenze informatiche le recuperi meglio lavorando e approfondendo in privato.

vict85
Penso che tu debba cominciare a mandare curriculum in giro. Per le tue mancanze i miei consigli sono Udacity e metterti a fare progetti personali.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.