Non passo quasi mai da queste parti del forum ma leggendo questa discussione, provo a dire qualcosa io.
ANDPRI ha scritto:
scrivo questo perché vorrei chiarirmi le idee su quello che dovrei fare tra un anno, quindi la scelta dell'università, viste le tante possibilità derivate dalla scuola e dalla programmazione.
Sulla università purtroppo non saprei aiutarti più di tanto. Io non sono "laureato", sono diplomato Perito Elettronico e dopo il diploma ho preso due qualifiche di specializzazione (corsi di formazione) in ambito microcontrollori/microprocessori. Corsi ben "tosti" che coprivano parecchie cose dai micro al linguaggio C. Poi comunque ho anni di esperienza (in generale e su Java) e anche 2 certificazioni Sun su Java.
Se ti interessa l'università ai fini di poter poi programmare, credo che un indirizzo "informatico" sia valido/appropriato. Tieni però presente che, secondo me, avere la laurea NON ti garantisce automaticamente di saper poi programmare bene (e/o subito) o di trovare assolutamente lavoro (e in tempi brevi).
L'università ti dà sicuramente moltissime nozioni, specialmente a livello teorico, e ti prepara credo ad un certo tipo di mentalità e ragionamento (correggetemi se sbaglio). Tanto per dirne una: sicuramente avrai a che fare con la "teoria dei grafi". Io purtroppo non l'ho mai studiata ma dopo tutto non mi è mai neanche servita nel lavoro (!) ....
Quindi se un laureato mi chiede qualcosa sulla teoria dei grafi, casco e scivolo come un pirlone sulla classica buccia di banana. Se però mi chiede qualche regola su Java, la so dire "a menadito" e in modo preciso e cristallino.
Cosa è più importante??? Per me personalmente tutto quello che ho studiato io sulla programmazione/Java, per conto mio e con molto impegno/sacrificio. Non ho la laurea ... pazienza, personalmente non ne ho mai sentito la mancanza ..
ANDPRI ha scritto:
Vi chiedo quindi di elencarmi le varie scelte che ho inerenti alla programmazione, e nel caso in cui qualcuno si sia trovato nella mia stessa condizione, cioè una scuola che non c'entra nulla con la programmazione, cosa avete fatto?
A parte l'università, altre cose che puoi sicuramente valutare e affrontare sono: a) corsi di formazione dopo il diploma, b) percorsi di certificazione specifici per certi linguaggi o tecnologie (es. le certificazioni Oracle su Java).
Questi sicuramente sono percorsi validi da valutare in alternativa o insieme ad un corso di laurea.
ANDPRI ha scritto:
E in più, quali possibilità lavorative mi offre continuare su questa strada? Cosa fa un programmatore e cosa deve saper fare?
Guarda, un programmatore deve sicuramente saper "ragionare" bene, sapendo mettere insieme tanti pezzi e nozioni più elementari nel modo giusto e con la logica appropriata. Deve sicuramente avere anche una buona "disciplina" nello scrivere i programmi. Mi ricordo di un tizio (un incapace ...) con cui avevo lavorato anni fa quando usavo ancora il linguaggio "C". 'sto tizio quando scriveva il codice un po' usava 2 spazi di indentazione, a volte 3 o 4, talvolta 5 ... così come gli capitava (o come si alzava al mattino ...), a volte scriveva le variabili con underscore in mezzo, a volte senza. Sovente scriveva variabili che poi non servivano a nulla. E cose del genere ..... così non si va molto lontano ....
ANDPRI ha scritto:
E quante possibilità ho di trovare lavoro, diciamo, tra 6/7 anni? E qual è più o meno lo stipendio medio di un programmatore?
Sugli stipendi non saprei dirti, in generale. Sulle possibilità di lavoro, è difficile dire cosa si potrà trovare tra 6 o 7 anni. A seconda del percorso che sceglierai, potresti anche iniziare a lavorare prima di questi 6/7 anni. Dipende ...
Vorrei dire un'ultima cosa, in generale sul mondo del lavoro, così da "prepararti". In altri paesi del mondo molto probabilmente le cose vanno diversamente: se uno è bravo e capace, può andare sicuramente molto avanti. Qui in Italia, almeno per la MIA esperienza, non è così semplice e similare.
Da quello che ho visto, specialmente in passato, molto spesso qui in Italia non è la "bravura" in un certo contesto tecnico a contare ma sono altri aspetti più caratteriali che "contano".
Mi ricordo che una volta la azienda per cui lavoravo aveva candidato me e un mio collega per un lavoro a Milano presso un importante cliente. Alla fine avevano scelto il mio collega, NON perché fosse più bravo di me (era molto molto più "junior" di me!) ma perché si era dimostrato più SIMPATICO. Questo mio ex collega faceva, tra l'altro, anche lo "speaker" in una radio e ... quindi sapeva parlare bene. Alla fine comunque ok, mi è andato bene perché andare a Milano non mi entusiasma(va) affatto .... Ma mi aveva dato molto fastidio essere scartato e NON per le capacità tecniche.
Inoltre tieni anche presente che purtroppo in informatica (e specialmente in Italia) è facile "vendere" fumo piuttosto che l'arrosto. Dico in generale. Mi sono trovato in contesti davvero pessimi e scadenti, anche presso clienti "importanti" e con fatturati a chissà quanti zeri. E ho trovato/visto tante di quelle scemenze e idiozie che forse non riusciresti neanche ad immaginare.
Esempio: importante e nota società di consulenza informatica; cliente: una banca di livello nazionale italiano. La applicazione per questa banca esponeva dei "web service" che sulla documentazione ufficiale anche cartacea erano definiti dei "REST web service". Bene, io avevo letto quella documentazione tecnica e posso assicurare che di REST avevano proprio NULLA, zero! Però sapete ... oggi giorno fa "figo":
ueh .. noi c'abbiamo i servizi REST!! Come no ...
Pensa che un giorno l'avevo fatto notare ai colleghi di quella società: "guardate che questi servizi non sono proprio REST". Sai cosa avevano fatto? Mi avevano riso in faccia ....... siamo in Italia.