Laurea triennale e programmazione
Salve a tutti, finirò tra qualche mese la triennale in matematica (a Pavia) e sono molto indecisa sul da farsi.
A me fare questi tre anni di matematica è piaciuto molto e mi sono sentita abbastanza adatta a questo tipo di studi, solo che ora davvero inizio a pensare al lavoro e non so cosa fare. Il mio problema è che quando tre anni fa mi sono iscritta a matematica la mia idea era di fare matematica applicata, tuttavia quando poi mi sono imbattuta negli ambiti probabilistico/statistico e numerico ho capito che quella che viene chiamata matematica applicata davvero non mi piace! Farei piuttosto analisi, geometria, algebra, tutto ma non quello! Inoltre è cresciuto il mio amore per la logica e la programmazione, che ho capito essere veramente gli ambiti in cui sono più portata e che mi piacciono di più. Essendo che la specialistica in informatica non la posso fare (a parte il fatto che a Pavia non esiste), avrei troppo debito formativo, non mi ammetterebbero neanche credo, per esempio a Milano richiedono 66 crediti in ambito informatico, io arrivo a 18, non so davvero cosa fare. Il mio lavoro ideale sarebbe davvero programmare, anche se le mie conoscenze attuali sono solo le basi del C, magari programmare sfruttando le conoscenze basilari di matematica apprese in questi tre anni. Le mie domande sono: qual è il modo migliore per farmi delle basi solide di programmazione (in quale linguaggio non lo so ancora, sono aperta a tutto) senza una laurea in informatica? Sapete dalle vostre esperienze se è possibile trovare lavoro con solo la triennale e dei corsi/master/non so cos'altro riguardanti in qualche modo la programmazione? Davvero è questo che vorrei fare, io non sento buttati via i miei anni di studio, perché penso che mi abbiano dato mentalità, e anche tanta, solo che davvero li vedo staccati dal mestiere che vorrei fare e non so se me la sento di studiare ancora 2 anni matematica...
A me fare questi tre anni di matematica è piaciuto molto e mi sono sentita abbastanza adatta a questo tipo di studi, solo che ora davvero inizio a pensare al lavoro e non so cosa fare. Il mio problema è che quando tre anni fa mi sono iscritta a matematica la mia idea era di fare matematica applicata, tuttavia quando poi mi sono imbattuta negli ambiti probabilistico/statistico e numerico ho capito che quella che viene chiamata matematica applicata davvero non mi piace! Farei piuttosto analisi, geometria, algebra, tutto ma non quello! Inoltre è cresciuto il mio amore per la logica e la programmazione, che ho capito essere veramente gli ambiti in cui sono più portata e che mi piacciono di più. Essendo che la specialistica in informatica non la posso fare (a parte il fatto che a Pavia non esiste), avrei troppo debito formativo, non mi ammetterebbero neanche credo, per esempio a Milano richiedono 66 crediti in ambito informatico, io arrivo a 18, non so davvero cosa fare. Il mio lavoro ideale sarebbe davvero programmare, anche se le mie conoscenze attuali sono solo le basi del C, magari programmare sfruttando le conoscenze basilari di matematica apprese in questi tre anni. Le mie domande sono: qual è il modo migliore per farmi delle basi solide di programmazione (in quale linguaggio non lo so ancora, sono aperta a tutto) senza una laurea in informatica? Sapete dalle vostre esperienze se è possibile trovare lavoro con solo la triennale e dei corsi/master/non so cos'altro riguardanti in qualche modo la programmazione? Davvero è questo che vorrei fare, io non sento buttati via i miei anni di studio, perché penso che mi abbiano dato mentalità, e anche tanta, solo che davvero li vedo staccati dal mestiere che vorrei fare e non so se me la sento di studiare ancora 2 anni matematica...
Risposte
Il C e il C++ sono i linguaggi più usati nei settori matematici e che richiedono performance (sempre che non si vada su cose ancora più low level). Non so chi ti abbia messo in mente che Java possa essere considerato più utile o più usato del C++ perché è assolutamente falso. Dei programmi che usi sul tuo pc e delle librerie che sono utilizzate solo lo 0,001% saranno scritte in Java. Se vuoi imparare Java per aumentare la rosa delle tue conoscenze fallo ma non penso che ci siano più probabilità di trovare lavoro rispetto al c++. Anche perché è un primo linguaggio molto usato.
Sull'imparare gli algoritmi certo. Magari anche gli algoritmi particolari come la geometria computazionale (dato che immagino tu abbia trovato interesse nel problema che hai risolto). Nel caso specifico problema che hai risolto un modo per risolverlo è la somma di minkoski. http://en.wikipedia.org/wiki/Minkowski_addition
Io non penso che ci sia qualcuno che si occupa di linguaggi di programmazione al di fuori dell'università o di alcuni grossi gruppi di ricerca come quelli che fanno capo alla microsoft (e anche in questo caso penso che le persone siano stipendiate microsoft e professori universitati o ricercatori per qualche università). Per come arrivare a lavorare nel settore non saprei. ham_burst si interessa di più di me del settore. Penso che in generale tu possa laurearti in matematica e poi fare il dottorato in informatico o cercare qualche corso di informatica molto indirizzato a quello che farlo. Dopo di che dottorato e carriera universitaria.
Sull'imparare gli algoritmi certo. Magari anche gli algoritmi particolari come la geometria computazionale (dato che immagino tu abbia trovato interesse nel problema che hai risolto). Nel caso specifico problema che hai risolto un modo per risolverlo è la somma di minkoski. http://en.wikipedia.org/wiki/Minkowski_addition
Io non penso che ci sia qualcuno che si occupa di linguaggi di programmazione al di fuori dell'università o di alcuni grossi gruppi di ricerca come quelli che fanno capo alla microsoft (e anche in questo caso penso che le persone siano stipendiate microsoft e professori universitati o ricercatori per qualche università). Per come arrivare a lavorare nel settore non saprei. ham_burst si interessa di più di me del settore. Penso che in generale tu possa laurearti in matematica e poi fare il dottorato in informatico o cercare qualche corso di informatica molto indirizzato a quello che farlo. Dopo di che dottorato e carriera universitaria.
Grazie a tutti per i consigli!
Io non so esattamente cosa voglio fare, in effetti non è che sappia molto di che possibilità concrete di lavoro ci sono, nè mi sono mai chiesta che lavoro fare nel momento in cui convinta mi iscrivevo a matematica senza dubbi "perché mi piaceva" sentendo dire che i matematici erano molto ricercati, quindi senza pormi troppi problemi di disoccupazione. E in effetti sono andata un po' avanti in questo limbo per 3 anni.
Per dare un'idea di quel che mi piacerebbe fare faccio un esempio molto banale di esperienza che mi è capitata: una persona che conosco doveva progettare un computerino per dei macchinari che facesse in modo che non entrassero in una data zona poligonale, poligono qualunque non necessariamente convesso. Mi sono cimentata io in questo lavoro e gli ho scritto un programma in C che mi permettesse di calcolare la distanza della macchina dal poligono. Certo non ho usato niente di che come conoscenze matematiche, ma penso che dopo il liceo scientifico non avrei saputo da che parte partire, programmazione a parte, per impostare il problema.
No, in algoritmi complessi non mi sono mai cimentata, ed è forse anche in questo che vorrei chiedere consiglio. Io sono eccome disposta nei prossimi mesi, anche da autodidatta, ad imparare a scrivere algoritmi o un qualche linguaggio di programmazione che mi darebbe magari più possibilità di altri per la mia formazione di trovare lavoro. E sono anche disposta ad "ignorare" il fatto che ho una laurea triennale che comunque credo che mi servirà come mentalità qualunque lavoro farò. Certo non voglio mettermi a scrivere 2000 linee di codice al minuto, questo so che io non lo farò mai, perché ci sono persone che lo fanno da molto più giovani di me ed è quello che vogliono fare nella vita.
Ok, l'università di informatica forse non è la cosa adatta a me, forse quello che voglio imparare lo posso davvero imparare da sola. E se non dovesse funzionare male che vada avrò perso un anno della mia vita e mi iscriverò alla specialistica, nella prospettiva di fare un lavoro che mi piacerà di meno, ma più adatto alle mie "qualifiche".
Il consiglio che chiedo è davvero un po' più nel concreto cosa studiare... Mi butto su java? Mi leggo qualche libro più teorico di informatica/algoritmi? Ho qualche speranza che tra un po' di mesi qualcuno sia interessato ad "insegnare un mestiere" a una persona con una laurea triennale e esperienze da sola, per quanto potranno essere approfondite, di avere scritto algoritmi o programmato qualcosa?
Questa è più curiosità che altro, ma gli studi di teoria dei linguaggi, la loro semantica etc mi interesserebbero solo se volessi diciamo laurearmi in qualcosa come logica computazionale e fare ricerca o hanno qualche altro sbocco?
Io non so esattamente cosa voglio fare, in effetti non è che sappia molto di che possibilità concrete di lavoro ci sono, nè mi sono mai chiesta che lavoro fare nel momento in cui convinta mi iscrivevo a matematica senza dubbi "perché mi piaceva" sentendo dire che i matematici erano molto ricercati, quindi senza pormi troppi problemi di disoccupazione. E in effetti sono andata un po' avanti in questo limbo per 3 anni.
Per dare un'idea di quel che mi piacerebbe fare faccio un esempio molto banale di esperienza che mi è capitata: una persona che conosco doveva progettare un computerino per dei macchinari che facesse in modo che non entrassero in una data zona poligonale, poligono qualunque non necessariamente convesso. Mi sono cimentata io in questo lavoro e gli ho scritto un programma in C che mi permettesse di calcolare la distanza della macchina dal poligono. Certo non ho usato niente di che come conoscenze matematiche, ma penso che dopo il liceo scientifico non avrei saputo da che parte partire, programmazione a parte, per impostare il problema.
No, in algoritmi complessi non mi sono mai cimentata, ed è forse anche in questo che vorrei chiedere consiglio. Io sono eccome disposta nei prossimi mesi, anche da autodidatta, ad imparare a scrivere algoritmi o un qualche linguaggio di programmazione che mi darebbe magari più possibilità di altri per la mia formazione di trovare lavoro. E sono anche disposta ad "ignorare" il fatto che ho una laurea triennale che comunque credo che mi servirà come mentalità qualunque lavoro farò. Certo non voglio mettermi a scrivere 2000 linee di codice al minuto, questo so che io non lo farò mai, perché ci sono persone che lo fanno da molto più giovani di me ed è quello che vogliono fare nella vita.
Ok, l'università di informatica forse non è la cosa adatta a me, forse quello che voglio imparare lo posso davvero imparare da sola. E se non dovesse funzionare male che vada avrò perso un anno della mia vita e mi iscriverò alla specialistica, nella prospettiva di fare un lavoro che mi piacerà di meno, ma più adatto alle mie "qualifiche".
Il consiglio che chiedo è davvero un po' più nel concreto cosa studiare... Mi butto su java? Mi leggo qualche libro più teorico di informatica/algoritmi? Ho qualche speranza che tra un po' di mesi qualcuno sia interessato ad "insegnare un mestiere" a una persona con una laurea triennale e esperienze da sola, per quanto potranno essere approfondite, di avere scritto algoritmi o programmato qualcosa?
"vict85":
Conoscere la logica è utile ed è essenziale in campo elettronico o se vuoi metterti a fare teoria dei linguaggi e dei codici (e cioè non programmare)
Questa è più curiosità che altro, ma gli studi di teoria dei linguaggi, la loro semantica etc mi interesserebbero solo se volessi diciamo laurearmi in qualcosa come logica computazionale e fare ricerca o hanno qualche altro sbocco?
"ham_burst":
ci sono vari livelli di approfondimento e di studio. Se è il "solo" scrivere codice, devo dirti bruscamente che in Italia e maggiormente in Europa questa attività non è molto diffusa. Cioè in Europa si progetta un software e in Cina, India, Corea si scrive veramente il codice.
Non so di che settore ti riferisci ma dalle mie esperienze nel settore (che non sono tantissime) le cose non sono affatto così. Anche perché in India i software vengono anche progettati ed in Europa c'è chi fa il coder. Personalmente non vedo come le due cose possano essere così separate. Chi progetta deve seguire chi scrive il codice.
In ogni caso, non per abbattere PWD ma se non ti piace analisi numerica e probabilità non vai molto avanti come programmatore laureato in matematica. Per programmare non serve neanche davvero necessariamente una laurea (ne conosco che lavorano senza essere ancora laureati alla triennale). Se cercano un ingegnere o un matematico lo fanno perché hanno bisogno delle conoscenze di un ingegnere o di un matematico. E per un matematico questo in genere significa saper scrivere buoni algoritmi matematici e quindi il più delle volte numerici, modellistici o di ottimizzazione varia. Ovviamente poi ci sono il settore della crittografia che è più algebrico-geometrico, il settore della computer grafica che è più geometrico ma comunque conoscere l'algebra lineare numerica e almeno i principali algoritmi numerici, probabilistici e di teoria dei numeri è essenziale.
Conoscere la logica è utile ed è essenziale in campo elettronico o se vuoi metterti a fare teoria dei linguaggi e dei codici (e cioè non programmare) ma nella maggior parte dei programmi che ho scritto il massimo della logica che mi sono trovato a fare era se una certa condizione un po' complessa la potevo semplificare o scrivere meglio. Cosa che il più delle volte non produce neanche un aumento considerevole di performance.
A parte questi 18cfu ti sei messo a fare qualche programma? Qualche progetto serio che ti ha richiesto di analizzare in modo accurato l'algoritmo da usare? Se non l'hai fatto forse dovresti farlo. E se non riesci a trovare il tempo o la passione per farlo allora non penso che la programmazione faccia per te. Se invece ti sei già messo a farli allora penso che l'università che farai conterà poco.
Dipende anche da ciò che intendi per "programmare":
- scrivere pagine di codice, imparare trucchetti performanti, ecc...
- progettare algoritmi
- progettare software (dove è inclusa la programmazione)
ci sono vari livelli di approfondimento e di studio. Se è il "solo" scrivere codice, devo dirti bruscamente che in Italia e maggiormente in Europa questa attività non è molto diffusa. Cioè in Europa si progetta un software e in Cina, India, Corea si scrive veramente il codice.
Comunque le cose dette da Deckard (ciao Deckard
) sono consigli che valgono per qualunque definizione tu intenda.
Non pensare che ciò che hai studiato è inutile, in Informatica c'è chi ti può invidiare per le tue conoscenze.
- scrivere pagine di codice, imparare trucchetti performanti, ecc...
- progettare algoritmi
- progettare software (dove è inclusa la programmazione)
ci sono vari livelli di approfondimento e di studio. Se è il "solo" scrivere codice, devo dirti bruscamente che in Italia e maggiormente in Europa questa attività non è molto diffusa. Cioè in Europa si progetta un software e in Cina, India, Corea si scrive veramente il codice.
Comunque le cose dette da Deckard (ciao Deckard

Non pensare che ciò che hai studiato è inutile, in Informatica c'è chi ti può invidiare per le tue conoscenze.

"PWD":
Essendo che la specialistica in informatica non la posso fare (a parte il fatto che a Pavia non esiste), avrei troppo debito formativo, non mi ammetterebbero neanche credo, per esempio a Milano richiedono 66 crediti in ambito informatico, io arrivo a 18, non so davvero cosa fare.
Il fatto che richiedano 66 crediti in ambito INF non è detto che tu debba per forza possederli per essere ammessa. Se sei interessata a sostenere la magistrale in informatica ti conviene provare a fare il colloquio di ammissione: mi sbaglierò, ma secondo me verresti ammessa, ti chiederebbero semplicemente di sostenere determinati esami come complementari in modo da sopperire alle tue lacune in determinati ambiti (immagino cose tipo basi di dati e reti). Detto questo non è necessario assolutamente avere una laurea in informatica per programmare. Evita corsi e master in quest'ambito e piuttosto vai come autodidatta. Considera anche il fatto che la magistrale in informatica, almeno a Milano, non è focalizzata sulla programmazione, comunque può esserti sempre utile per indirizzarti nell'ambiente e nel frattempo accrescere le tue competenze da programmatore come autodidatta (cosa che tutti gli informatici imparano ben presto a fare).
Il mio consiglio è di provare comunque a sostenere il colloquio di ammissione (a Milano bisogna pagare un contributo di 30 euro), sentire cosa ti dice il prof. che ci sarà (oppure magari mandando una mail al coordinatore didattico) facendo presente la tua situazione e poi valuta, guardando il piano di studi, la descrizione dei singoli corsi ecc., se una magistrale in informatica è ciò che vuoi.