Uno sguardo alle possibilità del futuro?

di il
14 risposte

Uno sguardo alle possibilità del futuro?

Salve a tutti. Ho 18 anni e ho iniziato a programmare da circa 8 mesi, prima ruby (basilare) e ora c++, e mi avvio verso la programmazione ad oggetti. Visto che la passione per la programmazione è nata l'anno scorso, io sono già in quarto superiore in un istituto per geometri, che ovviamente non c'entra nulla con l'informatica, ma 3 anni fa non mi interessava. Penso che questo però giochi a mio favore perché sto studiando contemporaneamente in una scuola che mi permette di lavorare fin da subito, e che mi dà anche un'ampia scelta di università dalle quali derivano tanti tipi di lavoro diversi, e la programmazione, che visti i tempi sarà probabilmente una possibilità di trovare lavoro piuttosto facile (almeno questo è quello che credo). Comunque, ricapitolando, 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. 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? E in più, quali possibilità lavorative mi offre continuare su questa strada? Cosa fa un programmatore e cosa deve saper fare? E quante possibilità ho di trovare lavoro, diciamo, tra 6/7 anni? E qual è più o meno lo stipendio medio di un programmatore?

14 Risposte

  • Re: Uno sguardo alle possibilità del futuro?

    @Andpri, non ti preoccupare della scuola che hai fatto, se vuoi andare all'universita'.
    All'universita' studi tutto di nuovo ma usando attrezzi (chiamiamoli cosi) mooooolto piu' raffinati.
    Ad esempio, studi di nuovo le 4 operazioni (somma, sottrazione, molti[licazione, divisione) ma usando come attrezzo l'Algebra (di cui, quella che hai studiato fino ad ora e' SOLO un particolarissssssimo caso), usando concetti come Gruppi, Anelli, Campi, Ideali (non serve che tu, ORA, sappia che cosa vogliono dire queste parole, ...) concetti moooooolto piu' generali.

    Programmare e' solo un piccolissimo aspetto delle competenze che dovrai avere per fare il software developer o, meglio ancora, il software architect.

    Ora, elencare le scelte possibili e' poco pratico, primo perche' ce ne sono tante, secondo perche' sei TU quello che deve scegliere, e ;a scelta dipende dai TUOI gusti.

    La regola, comunque, sulla scelta e' abbastanza semplice: NON scegliere in base alle possibilita' di lavoro, ma SOLO in base ai tuoi interessi.
    Il motivo e' abbastanza subdolo: se fai qualcosa che ti piace, lo farai meglio, quindi otterrai voti migliori, quindi otterrai una votazione di laurea piu' alta, quindi avrai una maggiore possibilita' di trovare lavoro rispetto ad uno che ha scelto l'universita' SOLO per le possibilita' lavorative, ma ha studiato di malavoglia, quindi ha preso voti piu' bassi, quindi e' uscito dall'universita' con un punteggio piu' basso del tuo.
    Fatta la frittata

    Ora, cosa/come scegliere?
    Inizia con le universita' vicino a casa che hanno la facolta' di Informatica o Ingegneria Informatica, e studiati i loro programmi.
    Poi' se hai possibilita' economiche, e voglia, studiati i programmi delle universita' di Milano, Padova, Genova, Pisa, almeno.

    Che cosa fa un programnatore? Progetta e sviluppa software. Di che tipo? Dipende dalke competenze NON di programnazione
    Se fai software per il Remote Sensing, ti servono competenze di elettromagnetismo

    Quanto guadagna? Dipende dall'esperienza e dal settore.
  • Re: Uno sguardo alle possibilità del futuro?

    Io ho chiesto quali sono le università proprio perché non ho idea di quale sia la migliore. A me piacerebbe imparare cose pratiche sulla programmazione, cioè saper scrivere programmi efficienti, non cose teoriche, ma non so quale sia l'università giusta per questo!
  • Re: Uno sguardo alle possibilità del futuro?

    ANDPRI ha scritto:


    Io ho chiesto quali sono le università proprio perché non ho idea di quale sia la migliore. A me piacerebbe imparare cose pratiche sulla programmazione, cioè saper scrivere programmi efficienti, non cose teoriche, ma non so quale sia l'università giusta per questo!
    Per imparare le cose PRATICHE, nessuna universita' va bene, perche' queste hanno tutte la tendenza a farti perdere un sacco di tempo su cose TEORICHE.

    L'unico modo e' andare a LAVORARE, dove serve la PRATICA e NON la teoria.
    E la pratica si puo' acquisire solo PRATICANDO.

    E' una strana convinzione, ed e' per questo che l'universita' iItaliana fa cosi' schifo.

    M tanto per darti un'idea dell'INUTILITA' della TEORIA, proviamo ad analizzare le TUE considerazioni sull'efficienza di un'applicazione.

    Iniziamo con alcune considerazioni banali:
    1) applicazione di che tipo? Applicazioni Web? Domotica? Software per Satelliti? Analisi delle immagini? Simulazione? Guida Autonomia? Astronomia? Software ad uso militare? Centrali atomiche? ...
    2) efficienti in che senso? Tempo di esecuzione? Memoria usata? Precisione nel risultato ottenuto? ...
    3) che girano su computer? A 1 core? a 32 core? A 5000 core? Su cluster? Di quanti nodi? 10? 1000? 1.000.000? ...
    4) usando quale PARADIGMA di programmazione? Procedurale? Ad oggetti? Funzionale? Logico? Ad attori? A regole? ...
    5) dopo aver processato quale quantita' di dati? 100 record? 1.000.000 di record? 1.000.000.000 di record?
    ...
  • Re: Uno sguardo alle possibilità del futuro?

    Vorrei programmare per android o per computer, in generale
  • Re: Uno sguardo alle possibilità del futuro?

    ANDPRI ha scritto:


    Vorrei programmare per android o per computer, in generale
    Per farci cosa?

    Saper programmare e' come saper scrivere.
    Sapere scrivere non ti identifica automaticamente come un genio nella scrittura di racconti di fantascienza!

    Non e' che servano competenze fantascientifiche per programmare Android: ti compri un libro e lo studi!

    Ah, gia'! STUDIARE vuol dire imparare cose TEORICHE, e NON pratiche.

    Hai ragione

    Perdita di tempo.
  • Re: Uno sguardo alle possibilità del futuro?

    1) il tuo "tono", per così dire, mi sta dando un po' fastidio, mi sembra che tu più che consigliarmi mi stia prendendo in giro.
    2) sei stato tu a dire che la teoria è una perdita di tempo, non io. Io dico solo che secondo me sapere come si chiamano le varie parti del codice tipo i puntatori o le funzioni, non è importante quanto saperle mettere in pratica.
    3) se stai rispondendo solo perché ti piace prenderti gioco di qualcuno che ha iniziato DA SOLO da meno di un anno, per favore lascia stare. Preferisco continuare da solo piuttosto che leggere messaggi da te che mi parli di cose che sono ben oltre la mia comprensione. Se non ti va di stare a sentire uno che sa l'1% di quello che sai tu, non perdere tempo e non farlo perdere a me. Sono in cerca di consigli, non di prese in giro
  • Re: Uno sguardo alle possibilità del futuro?

    Se il mio tono ti sta dando fastidio, allora e' un bene!

    In realta', se leggi il PRIMO post, ho affermato che e' proprio la TEORIA che fa la differenza.
    Studiare la TEORIA e' INFINITAMENTE piu' importante della PRATICA, cosa, invero che tu, in uno dei tuoi post successivi, hai bellamente scartato.

    Quello che sto' cercando di farti capire e' che sapere come si chiamano le varie parti del codice tipo i puntatori o le funzioni () e' INFINITAMENTE PIU' IMPORTANTE del sapere metterle in pratica!

    Infine, hai ragione, trovo divertente prendere in giro uno che ha iniziato a programmare da MENO di un anno e che pensa che programmare sia solo una questione di PRATICA.

    Programmare, al 99.9% NON E' pratica, ma TANTA, TANTA TEORIA, perche' e' la TEORIA che ti da' gli strumenti di lavoro.
    Il linguaggio di programmazione e' SOLO uno degli INNUMEREVOLI strumenti che dovrai conoscere, e NEMMENO il piu' importante.

    Vedasi il fatto che gia ora,' tu hai utilizzato ben DUE linguaggi di programmazione distinti, ma nella tua (futura) vita professionale, dovrai saper utilizzare N-mila linguaggi: C, C++, java, C#, Python, Javascript, Ruby, PHP, sicuramente, Erlang, Haskell, probabilmente, ASSEMBLER eventualmente, e dovrai saper utilizzare, probabilmente, diverse MIGLIAIA di librerie di terze parti. Oltre ad uninfinita' di altre cose decisamente complicate.

    Nota finale, tu non sai l'1% di quello che so io: le tue attuali conoscenze sono lo 0.1% di quelle che servono ad un programmatore MEDIO.
    Di strada, per arrivare all'1% ne hai un bel po'.

    Quindi, leggi BENE i consigli che ti vengono dati da chi fa questo mestiere da ben piu' tempo di te
    Non pensare di avere idee originiali , il percorso che farai tu e' lo stesso che abbiamo fatto tutti: dal pensare che programmare sia tutto, al rendersi conto, invece, che e' poco piu' di niente.

    Nota finale: gli argomenti che sono (ATTUALMENTE) al di fuori della tua comprensione, in realta' sono PROPRIO gli attrezzi che potresti dover usare o i contesti in cui potresti andare a lavorare.

    SE studi
  • Re: Uno sguardo alle possibilità del futuro?

    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.
  • Re: Uno sguardo alle possibilità del futuro?

    @andbin, l'esempio che hai fatto cade a fagiuolo :

    1) tu non sai che cosa sia la teoria dei grafi
    2) di conseguenza non la usi
    3) ma ti manca anche la capacita' di riconoscere quando una soluzione che tu hai adottato poteva essere risolta piu' facilmente/elegantemente con la teoria dei grafi.

    Ti faccio un esempio che, se lavori in ambito weB, ti sara' sicuramente capitato (che non centra con la teoria dei grafi, pero' ):

    la classica FORM con un sacco di campi che l'utente puo' o meno riempire, e dalla quale generare la query SQL per accedere al database.

    Esiste una soluzione decisamente elegante e compatta, semplice da implementare, e che richiede una quantita' di codice decisamente piccola, almeno rispetto al codice che viene scritto di solito in questi casi (che, siamo onesti, e' un bordello).

    Ma l'implementazione richiede:

    1) un'algebra a booleana ma a TRE valori (false, true, unknown)
    2) creare l'albero dell'espressione della query rappresentato dalla FORM
    3) utilizzare l'algebra a TRE valori per fare la SEMPLIFICAZIONE dell'albero
    4) usare il PATTERN Visitor per passare dall'albero semplificato dell'espressione alla corrispondente query SQL

    Almeno fino ad ora, ovviamente limitatamente alle mie esperienze ed ai colleghi che conosco, sono stato l'unico ad utilizzare questo approccio.
    Essendo un meccanismo indipendente dalla FORM, poi', e' stato possibile utilizzarlo N-mila volte, con grande risparmio di codice, ed errori.

    Poi c'e' un'altro problema da prendere in considerazione, sopprattutto se fai il consulente: se hai un limitato bagalio culturale (in senso Informatico, ovviamente), difficilmente potrai essere coinvolto in attivita' ad alto contenuto teorico/concettuale.
    Se mi serve un consulente, e so gia' che questo consulente deve avere alcune specifiche conoscenze di BASE (quindi NON specifiche del particolare dominio applicativo in cui dovra' inserito), non vado a scegliere una persona che NON ha queste conoscenze , ma ne scelgo una che le possiede, o almeno che ha una un bagaglio culturale adeguato per acquisire queste conoscenze in mezza giornata.

    Cioe', se gia' come laureato, molti dei lavori interessanti ti sono preclusi, perche' ti manca un PhD, come diplomanto avrai una quantita' di lavori interessanti preclusi ancora piu' ampia.
  • Re: Uno sguardo alle possibilità del futuro?

    @andbin grazie. Tu che genere di lavoro fai?
    Comunque io dicevo trovare lavoro tra 6/7 anni perché è il tempo che mi ci vorrà per laurearmi. Però ovviamente se avrò la possibilità anche prima!

    andbin ha scritto:


    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 ....
    Io pure conosco uno così, e pensa che lui studia informatica a scuola. Io per quel che mi riguarda seguo sempre lo stesso stile, e quando trovo uno stile migliore o che mi piace di più, mi aggiorno
  • Re: Uno sguardo alle possibilità del futuro?

    ANDPRI ha scritto:


    @andbin grazie. Tu che genere di lavoro fai?
    Io lavoro come sviluppatore Java "Senior". Sono dipendente di una azienda di Torino ma lavoro in consulenza presso un cliente.
  • Re: Uno sguardo alle possibilità del futuro?

    migliorabile ha scritto:


    1) tu non sai che cosa sia la teoria dei grafi

    Cioe', se gia' come laureato, molti dei lavori interessanti ti sono preclusi, perche' ti manca un PhD, come diplomanto avrai una quantita' di lavori interessanti preclusi ancora piu' ampia.
    Sì .. beh ..... grazie eh .......

    migliorabile ha scritto:


    1) un'algebra a booleana ma a TRE valori (false, true, unknown)
    2) creare l'albero dell'espressione della query rappresentato dalla FORM
    3) utilizzare l'algebra a TRE valori per fare la SEMPLIFICAZIONE dell'albero
    4) usare il PATTERN Visitor per passare dall'albero semplificato dell'espressione alla corrispondente query SQL

    Almeno fino ad ora, ovviamente limitatamente alle mie esperienze ed ai colleghi che conosco, sono stato l'unico ad utilizzare questo approccio.
    Essendo un meccanismo indipendente dalla FORM, poi', e' stato possibile utilizzarlo N-mila volte, con grande risparmio di codice, ed errori.
    Non metto in dubbio assolutamente quanto appena detto ma .... ti assicuro che per mia esperienza molto spesso è difficile (se non impossibile, anche solo per motivi di tempo) applicare o magari solo far comprendere ad altri colleghi il senso e soprattutto l'utilità "a lungo termine" di concetti come quello che hai detto.

    Altra mia esperienza: circa 1 anno di lavoro presso una società immobiliare che sviluppava un suo sw "gestionale" interno in Java. Quando sono arrivato, quel sw lo gestivano da almeno 8~9 anni. Ma era in uno stato PIETOSO. Per anni se ne sono sempre "sbattuti" altamente di qualunque ragionamento e valutazione su architettura della applicazione, design delle classi, stile di scrittura del codice, ecc...
    Ancora Java 1.4, copia-incolla di codice ovunque, metodi Java lunghi anche 500~600 righe (NON sto scherzando.. ), approcci per nulla "object oriented". Oltre a me c'erano altre 6 persone, a tempo pieno. Quindi un sw secondo me pure "costosissimo" (non vorrei neanche sapere i costi ...). Io più volte avevo cercato di migliorare un po' le cose ma senza alcun risultato. Anzi, ad un certo punto mi hanno mandato via loro e con una "scusa". E NON perché fossi "incapace" ma perché ero l'unico davvero competente (e con certificazioni Java, oltretutto).

    Quindi che senso ha parlare di laurea, belle cose, bei propositi quando in Italia (e in special modo a Torino) una persona come me (che mi ritengo qualificato e competente su Java) viene mandata via con una scusa e non perché è incapace???

    Mah ......
  • Re: Uno sguardo alle possibilità del futuro?

    Non vorrei scontrarmi con i grandi saggi, ma la teoria serve a poco se poi non la applichi. Chi ha imparato come me, sul posto di lavoro, senza alcuna università incontra continuamente grandi laureati con vari master che non hanno mai partecipato ad un gruppo di lavoro. Quindi secondo me fai bene a preoccuparti anche di avere un posto di lavoro in cui mettere in pratica quello che si sa.
    Oggi c'è una fame di programmatori che è pazzesca. La azienda dove lavoro ne seleziona almeno 10 al mese, ma putroppo in Italia vige la regola che uno deve fare per 10 e quindi deve sapere almeno 5 linguaggi, lavorare su almeno 10 piattaforme, avere l'inglese fluente e sapersi relazione con gli altri. E forse non basta. All'estero ti chiedono nome e cognome e se sai fare bene una cosa sola. Se la sai fare sono 3.500 euri assicurati. Se sai fare male 10 cose, te ne torni a casa. Quindi pensa dove vuoi andare a vivere e saprai darti una risposta. Se vuoi stare in Italia impara di tutto un pò, se vuoi vivere all'estero impara una cosa sola, ma falla bene. Buona fortuna.
  • Re: Uno sguardo alle possibilità del futuro?

    Ah dimenticavo, in Italia come programmatore non ti aspettare mai più di 1.500 euri al mese. Però lavoro ne avrai sempre a tonnellate, forse anche più di quello che potresti sopportare in termine di orari notturni e festivi.
    Se invece miri a diventare Project Manager ha ragione chi scrive che un sorriso e una buona dialettica valgono più di 10 lauree e 20 anni di esperienza.
Devi accedere o registrarti per scrivere nel forum
14 risposte