di John Selawsky
Defini i tuoi obiettivi di carriera e scegli un linguaggio. Questo è il consiglio più importante per chi ha zero esperienza nella programmazione e mira ad entrare nella comunità degli sviluppatori. Ma come si può fare una scelta non avendo idea di quale linguaggio sia più adatto ai propri scopi?
Non sarebbe facile se ci fosse un “leader di mercato” tra tutti i linguaggi di programmazione? Allora tutti i nuovi arrivati potrebbero sempre avere una scelta sicura – impara questo linguaggio e sarai sicuramente molto richiesto. Naturalmente, è impossibile. I linguaggi sono “strumenti” per risolvere numerosi compiti. Ma comunque, ce n’è uno che può essere considerato una scelta stellare – è Java.
Java è un linguaggio ben strutturato, orientato agli oggetti, che può essere considerato facile per i principianti. Si può padroneggiare abbastanza rapidamente, poiché ci sono molti processi che vengono eseguiti automaticamente. Non c’è bisogno di scavare troppo a fondo nel “come funzionano le cose lì dentro”. Java è un linguaggio multipiattaforma. Permette ad un programmatore di creare un’applicazione che può essere distribuita su qualsiasi dispositivo. È il linguaggio scelto per l’Internet delle cose e lo strumento giusto per costruire applicazioni a livello aziendale.
Quello che è importante per una “matricola”, Java ha una delle più grandi comunità globali e una documentazione di alta qualità. Se avete un problema, è più che probabile che la risposta sia pronta lì, ad aspettarvi. Altri due vantaggi di Java sono le vaste collezioni e i framework che coprono la maggior parte delle sfide che dovrai affrontare come sviluppatore junior.
Infine, è un linguaggio con un background rispettabile e un futuro prominente. Due ultime versioni, arricchite di nuove caratteristiche, sono state rilasciate a sei mesi di distanza l’una dall’altra. Questo aiuta Java a stare in prima linea e a mantenere le posizioni più alte nelle rispettabili classifiche professionali.
Ma anche quando si parla di un linguaggio di programmazione con una bassa curva di apprendimento, ci sono molti scogli nascosti per i principianti. Quanto tempo serve per imparare? Di quali fonti fidarsi? Quali errori evitare? Andiamo fino in fondo alla tua esperienza di apprendimento.
Assicurati di bypassare gli ostacoli comuni
Così, sei nuovo alla programmazione. Congratulazioni: poiché puoi fare uso dell’esperienza di altri programmatori ed evitare gli errori comuni in un’auto-educazione. Ecco alcuni errori frequenti.
Imparare senza fissare un obiettivo specifico
Per valutare la portata e il livello di conoscenza desiderato in un certo linguaggio di programmazione, prima di tutto, dovresti rispondere a una semplice domanda: perché hai bisogno di programmare?
Se sei seriamente interessato alla codifica e intendi diventare uno sviluppatore Java, avrai bisogno di studiare ogni giorno per almeno 4-5 ore. Ma se vuoi semplicemente allargare il tuo raggio d’azione, puoi scegliere un ritmo più rilassato. In ogni caso, cerca di non prolungare la tua formazione per molti anni a venire, perché le tecnologie si evolvono. Mentre si impara un certo framework o strumento di sviluppo per ottenere un lavoro, questo diventa obsoleto.
Leggere “qualsiasi cosa utile” che salta fuori non è la migliore strategia di apprendimento. Va bene fare degli aggiustamenti al piano generale. Tuttavia, non seguirlo affatto ti demotiva inevitabilmente.
Un tentativo di imparare troppe tecnologie in una volta sola
Questo è un errore successivo, che porta all’apprendimento senza fine. Non cercare di riempire il tuo piano educativo con troppe tecnologie e strumenti per evitare il burnout. Avrete bisogno di tempo per elaborare le informazioni e vedere come tutto funziona nella pratica.
Troppa ricerca e teoria senza pratica
La programmazione è un’abilità che si può acquisire solo con molta pratica. Avrete bisogno di un serio background teorico, ma finché leggerete (o guarderete) solo lezioni e corsi, non potrete veramente programmare. Pensateci. Nessuno può imparare a nuotare senza provare. Avete bisogno di spiegazioni, ma soprattutto di azione.
Solo molta pratica vi insegnerà come affrontare i problemi quotidiani dei programmatori. Per esempio, prenderete l’abitudine di controllare il vostro codice regolarmente e di non lasciare che i problemi connessi si accumulino. Inizierete anche con le soluzioni più semplici. Poi passerete a quelle più squisite, lavorando costantemente al miglioramento del vostro codice. E il più importante, ti abituerai a codificare su base giornaliera.
Imparare a codificare in isolamento
I principianti spesso esitano, se unirsi alle comunità di programmazione online o partecipare agli eventi, principalmente a causa della sindrome dell’impostore. Ma ricordate: nessuno vuole abbattervi. La comunità di programmazione è collaborativa. È così che appaiono numerose fonti di dati aperti. Sono abituati a lavorare in gruppo, e sicuramente, tutti loro sono stati principianti in un certo momento della vita.
Dai un’occhiata: ci sono molti forum e fonti web sulla programmazione. Gli sviluppatori condividono avidamente le loro conoscenze e sono aperti alle collaborazioni. Puoi iniziare a imparare online, ottenere un utile suggerimento da colleghi più esperti e, più tardi, trovare il tuo primo progetto di codifica.
Essere sicuro che un giorno capirai completamente tutti gli aspetti della programmazione
Se qualcuno scoprisse una pillola da prendere e diventare immediatamente abile in qualsiasi linguaggio di programmazione, sarebbe la persona più ricca del pianeta (scusa, Jeff Bezos). Ma fino ad allora, non c’è una fine certa nella tua educazione, se hai scelto di essere un programmatore. Anche quando hai un lavoro, non smettere mai di imparare. Le cose cambiano rapidamente nel mondo della programmazione.
Dall’altro lato, quando stai ancora imparando a programmare, cerca di accettare alcuni fatti così come sono. Non scavare in ogni argomento, perché il suo background potrebbe essere troppo “pesante”.
Fare un programma di formazione perfetto
È più facile raggiungere il tuo obiettivo passo dopo passo. Ora, quando conosci gli errori comuni, puoi evitarli. Ecco cinque passi che puoi fare per imparare Java.
- Fissa un obiettivo e scegli un linguaggio.
Puoi fare praticamente tutto con Java. Si possono costruire application server, applicazioni desktop e mobili, applicazioni enterprise ed eseguire test unitari. Ma naturalmente, un linguaggio di programmazione non è tutto quello che dovete sapere per diventare un professionista. Prova a pensare a specifiche aree di attività.
Le tendenze di oggi sono la costruzione di applicazioni basate sul cloud (dovrai anche imparare le basi del cloud computing e gli strumenti specifici per lo sviluppo del cloud), lavorare con l’Internet delle cose, eseguire analisi dei Big data, creare giochi, ecc.
2. Crea un piano educativo.
Sei pronto a fare della programmazione Java la tua professione? Allora dedica almeno da 2-3 (nei giorni lavorativi) a 5 ore (nei fine settimana) allo studio quotidiano. In questo caso, avrete probabilmente bisogno da 3 a 6 mesi per prepararvi a una posizione di sviluppatore junior.
In generale, il tuo processo di apprendimento sarà diviso in alcune fasi:
- Installazione del JDK (Java Development Kit) dal sito Oracle e installazione dell’ambiente Java runtime (IntelliJ IDEA, Eclipse o NetBeans);
- Imparare la sintassi Java;
- Imparare Java Core;
- Imparare le collezioni Java;
- Imparare le librerie e i framework più diffusi;
- Esplorare le API più usate (per esempio, servlets, JSP, JDBC, JUnit);
- Mastering Git;
- E così via.
Prova a seguire il tuo piano e mantenere l’equilibrio tra teoria e pratica. La programmazione è un’abilità che ha bisogno di allenamento ogni giorno. Se finisci di studiare una certa materia, continua con alcuni compiti di codifica (da 3 a 10, a seconda della loro difficoltà).
Puoi facilmente adattare il noto principio di Pareto (regola 80/20) all’apprendimento di Java. Il “20” starà per la ricerca e l'”80″ per la pratica. Non è un’esagerazione: avrete bisogno di quattro volte più codifica che lettura per memorizzare ciò che avete imparato e sviluppato le vostre abilità di codifica. Sfortunatamente, se non scriverete subito il vostro codice, il giorno dopo dimenticherete tutto quello che avete letto. Per fortuna, non c’è bisogno di inventare il tuo programma di formazione, se hai le fonti giuste.
3. Scegli gli strumenti giusti e unisciti alle comunità di programmazione.
Siamo onesti: un corso Java perfetto non esiste. Alcuni vi daranno una profonda conoscenza di base, altri vi forniranno una buona dose di pratica. Scegliete alcune piattaforme per l’istruzione, la comunicazione e la pratica. Scegliete un corso online che combini una semplice spiegazione della teoria con la codifica reale.
Entrare nelle comunità, dove potete fare qualsiasi domanda sugli aspetti della codifica su Java, condividere i vostri pensieri e trovare persone che la pensano come voi. Le migliori comunità per sviluppatori Java sono elencate qui sotto.
Utilizza più fonti per imparare Java
Avrai bisogno di molti strumenti per raggiungere i tuoi obiettivi. Ecco una serie di “strumenti” per avere successo.
- Strettamente pratico: CodeAcademy
Questa è probabilmente una delle più note piattaforme online per imparare numerosi linguaggi. Naturalmente, c’è anche una sezione per chi impara Java. Qui si inizia a codificare dalla prima lezione. Ci sono suggerimenti abbastanza utili, che puoi ottenere se un certo compito sembra essere difficile (che è normale quando sei un principiante). La logica è semplice: leggi il compito, scrivi il codice ed eseguilo per vedere cosa succede come risultato, e poi passa al passo successivo. I compiti diventano gradualmente più complicati, fino a quando si inizia a scrivere il codice da un foglio pulito. La sezione FAQ è piuttosto utile e si ha la possibilità di discutere ogni compito con altri studenti.
Questo corso può essere un grande strumento complementare per imparare Java. Come detto prima, è necessario codificare per padroneggiare la programmazione Java.
2. Gioca e codifica dall’inizio: CodeGym.cc
Questi sono corsi online per studenti Java con una caratteristica speciale – la gamification. Al giorno d’oggi è comune per i corsi online adottare elementi gamificati, in quanto portano una motivazione istantanea, un senso di risultati costanti e rendono più facile raggiungere il tuo obiettivo.
In CodeGym’s si inizia dal livello 0 in un universo futuristico con viaggi nello spazio, robot, e altre cose interessanti. Il tuo obiettivo è quello di superare quattro missioni educative per far salire di livello un personaggio – un robot. Ogni missione include 10 livelli, e ogni livello ha fino a 10-12 lezioni, insegnate dai membri dell’equipaggio di una nave galattica. Una lezione consiste in un minimo di teoria e una serie di compiti con verifica immediata e consigli su come migliorare il vostro codice. Si inizia a codificare dall’inizio, risolvendo compiti molto semplici, fino a quando si è pronti per progetti di codifica molto più complicati e massicci.
L’intera storia permette di non rimanere bloccati su un certo argomento o compito, andare avanti e tornare più tardi ai “twisters”. Tutto sommato, ci sono impressionanti 1200+ compiti in un corso. Una quantità che converte in almeno 300-500 ore di codifica.
3. Sfida i programmatori: Codewars
Questa è un’altra piattaforma online con tonnellate di pratica. Anche se è più adatto a studenti con almeno un piccolo background nella programmazione. Codewars ti permette di affinare le abilità in un certo linguaggio attraverso dei kata di allenamento.
Puoi scrivere il tuo codice in un browser e usare i test case per controllarlo passo dopo passo. Puoi anche confrontare la tua soluzione con altre per ampliare la tua conoscenza e discutere le migliori pratiche. Ogni kata ha un grado, e ogni kata è una sfida con altri programmatori. Quando si risolvono compiti più difficili, è possibile ottenere sfide più complicate per migliorare le competenze di codifica. Ciò che differenzia questa piattaforma dalle altre è che permette di studiare e praticare in un gruppo.
4. Ascoltare le lezioni di un livello “pro”: EdX
EdX è una piattaforma educativa fondata dall’Università di Harvard e dal MIT. Copre molti campi di studio, compresa la programmazione Java e molti argomenti correlati. Ci sono molti corsi introduttivi verificati e programmi di certificazione, forniti dalle università.
Ogni corso ha una durata definita e include lezioni video con una trascrizione del testo. È facile tornare alle lezioni precedenti e ripassare il materiale. Ci sono decine di corsi diversi, alcuni dei quali sono gratuiti. Ma comunque, questa è una fonte strettamente per imparare la teoria di Java. Assicurati di rafforzare quei corsi con ore di codifica.
Vuoi rimanere sintonizzato sulle ultime notizie, recensioni e aggiornamenti nel mondo Java? Questa è la cosa giusta da fare. Java è in continua evoluzione, si aggiorna e porta nuove funzionalità. Assicurati di avere un paio di media che puoi leggere quotidianamente. Uno dei più grandi sono:
- Javaworld (notizie, tutorial utili, “how to’s” e tutto il resto per tenervi aggiornati sulla programmazione Java);
- Java Code Geeks (un centro di risorse per chi impara Java con tutorial educativi, articoli e consigli su come ottenere un lavoro come programmatore Java);
- DZone (un sacco di articoli e guide per principianti e sviluppatori esperti);
- Javarevisited (un blog aggiornato quotidianamente che copre numerosi argomenti di apprendimento Java).
Ricordate il consiglio di unirvi a una comunità per rendere la vostra formazione più efficace? Puoi fare qualsiasi domanda nella sezione Java di Stack Overflow o Coderanch. Inoltre, ci sono almeno tre grandi comunità su Reddit, comekelearnprogramming, java e learnjava, dove troverete consigli utili per imparare Java e la programmazione in generale. Se hai bisogno di informazioni più specifiche, per esempio, un suggerimento su come migliorare il tuo codice in certi compiti, prova la sezione speciale di aiuto su CodeGym, dove altri studenti e “coding coaches” ti aiuteranno con qualsiasi problema. E infine, Oracle ha una vasta Comunità Java, aperta sia ai nuovi arrivati che agli sviluppatori esperti.
Essere un programmatore significa migliorare costantemente e acquisire nuove conoscenze. Se sviluppate un’attitudine all’auto-educazione fin dall’inizio, avrete successo a tutti i costi. Sei pronto a provare?