A COSA PUÒ SERVIRE SVILUPPARE DELLE COMPETENZE DI PROGRAMMAZIONE?

Partiamo da un dato di fatto: in un recente articolo del Sole 24 Ore emerge che nel 2022, il mercato richiederà 2,5 milioni di nuovi occupati e che la maggior parte di essi necessiterà di competenze elevate e specialistiche. A questo si aggiunge un secondo dato: uno dei settori più trainanti, complice l’evento pandemico, sarà la digital transformation (per chi se lo sta chiedendo, l’altro sarà l’ecosostenibilità). Nel dettaglio, riporta il Sole che: “le imprese digitali cercheranno tra i 210mila e 267mila lavoratori con competenze matematiche e informatiche per i lavori digitali, e quindi esperti nell’analisi dei dati (data scientist) e nel campo della sicurezza informatica e dell’intelligenza artificiale.”. Inoltre, anche professioni già esistenti saranno sempre più permeate dall’utilizzo di nuove tecnologie informatiche, rendendo necessarie competenze nel settore anche per chi non vi lavora direttamente.

Tali competenze restano sul territorio italiano scarse e difficili da reperire (OCD 5° ed., 2019).

 

Perché quindi acquisire competenze informatiche e in particolare di programmazione?

Prima di tutto, perché sono molto richieste e competitive sul mercato, dato che il percorso di digital transformation necessita professionisti che sappiano capire e realizzare il cambiamento. In secondo luogo, anche per chi non è direttamente interessato a questo genere di professioni sarà sempre più frequente interfacciarsi, collaborare e coordinare professionisti di questo settore.

In un mondo sempre più digitale, il linguaggio della programmazione è sempre più diffuso e fondamentale, come la conoscenza delle lingue straniere in un mondo globalizzato, a partire dall’inglese, quindi: DEVELOPING IS THE NEW INGLESE.

 

QUALI DOMANDE PORSI PER COMINCIARE?

Certo però che sapere da dove partire non è così facile né immediato. Ci capita infatti sempre più spesso che professionisti o futuri professionisti di tutti i settori ci dicano: “sto pensando che mi sarebbe utile imparare a programmare, ma non so proprio da dove cominciare”. Ecco perché ci siamo buttati sul web a cercare informazioni, per fare un po’ di chiarezza e dare qualche suggerimento: la prima cosa da fare per orientarsi è porsi le giuste domande. Ne raccogliamo qui alcune, basate sulla nostra esperienza e su quella dei tanti professionisti già avviati che incontriamo:

  • Perché voglio imparare a programmare, cioè: quali sono i miei obiettivi?
  • Ho già delle competenze informatiche di base?
  • Quali competenze di base mi servono per imparare a programmare?

*****************SPOILER**************SPOILER**************SPOILER********************************

[Sicuramente l’inglese, sia per la terminologia tecnica che per molti materiali didattici presenti online. Poi di certo grande curiosità e interesse per problemi da risolvere, programmare è problem solving al 70-80%.]

  • Quali campi di applicazione si adattano meglio a me, alle mie caratteristiche e al mio settore professionale?
  • Se ho in mente un progetto preciso (per es. un sito, una app, un videogioco, IoT), quali linguaggi mi serve conoscere per realizzarlo?

[A tal scopo, c’è uno strumento molto utile: Builtwith.com è un sito che ti dice con quali linguaggi sono costruite le app che ti interessano perché simili al tuo progetto.]

  • C’è un professionista del settore con cui mi potrei confrontare per chiarirmi un po’ le idee?
  • Quante risorse di tempo ed economiche posso dedicare alla formazione in questo ambito?

 

Rispondere ad alcune o a tutte queste domande aiuta nello step successivo: capire quali tra i tanti strumenti disponibili fanno maggiormente al caso proprio.

 

UN PRIMO APPROCCIO SOFT E QUASI GRATUITO: MATERIALI INTRODUTTIVI PER AUTODIDATTI  

Una prima scelta per avere informazioni rispetto ai propri argomenti di interesse può essere quella di attingere ai tantissimi materiali gratuiti disponibili online.

Esistono infatti molte realtà che consentono di accedere ad articoli, videocorsi, eserciti e altri materiali vari per imparare a programmare, anche partendo da zero. La grande sfida in questo caso è navigare da autodidatti in una marea di materiali, di cui spesso è difficile capire se possono essere adatti ai propri scopi.

Per questo motivo, questa possibilità è da vagliare come unica scelta se, tra le proprie inclinazioni, c’è quella di essere dei veri autodidatti 100% (una minoranza); altrimenti può comunque essere utile per:

  • Avere una prima infarinatura sul tema della programmazione e chiarirsi un po’ le idee;
  • Approfondire le proprie competenze, una volta fatto un corso formativo più strutturato e che consente il confronto con insegnanti e altri studenti. Per un developer continuare ad apprendere è di fondamentale importanza; quindi, una volta acquisite le capacità per muoversi, conoscere fonti affidabili dalle quali attingere a materiali di approfondimento gratuiti può essere davvero utile.

Vi proponiamo alcuni siti che offrono questi materiali, indicandovi le principali tipologie e caratteristiche.

 

1. Piattaforme MOOC (Massive Open Online Courses)

I MOOC sono corsi online gratuiti o a pagamento aperti a chiunque e organizzati da università o aziende private, solitamente fruibili da una piattaforma. Si può frequentare un MOOC da qualunque parte del mondo se si dispone di una connessione internet e di un indirizzo e-mail per iscriversi alla piattaforma. Questi corsi consentono molta flessibilità nella fruizione e spaziano in moltissimi campi di abilità e conoscenze; questo li rende ideali anche per chi è in cerca di un apprendimento continuo. Spesso l lezioni sono in inglese, ma ci sono alcune piattaforme che forniscono corsi in italiano. Attraverso i MOOC è possibile ottenere crediti universitari, attestati professionali e certificazioni da alcune delle più prestigiose università e aziende del mondo. Spesso ma non sempre, tali riconoscimenti sono a pagamento anche se il corso è gratuito.

Ecco alcuni siti interessanti:

  • Eduopen https://learn.eduopen.org/ – piattaforma su cui è possibile trovare corsi provenienti da 14 università italiane;
  • EMMA https://platform.europeanmoocs.eu/ – è un progetto europeo coordinato dall’Università degli studi di Napoli Federico II;
  • edX https://www.edx.org/ – raccoglie i corsi di molte importanti università americane. Sono presenti sulla piattaforma quiz, test di valutazione, feedback immediati con l’istituzione, valutazione degli studenti, laboratori online; dopo il corso, gli studenti vengono sottoposti ad un esame di verifica, che, se superato, porta al conseguimento di un Certificato di Padronanza.

 

2. Piattaforme di coding gratuite e basate su apprendimento self-paced

Esistono ormai moltissime piattaforme gratuite per imparare a programmare, anche da zero. Iscrivendosi, è possibile avere accesso sia a corsi introduttivi e conoscenze base di informatica, sia a corsi specifici su singoli linguaggi. Per avere invece accesso a percorsi già organizzati per developer front-end, back-end o fullstack di solito è necessario pagare un abbonamento; in altri casi invece, i contenuti vengono organizzati dalla community in articoli che possono indirizzare il nuovo arrivato, per quanto la mole di informazioni resti imponente. Le piattaforme includono lezioni teoriche, tutorial, esercizi, challenges rivolte alla community di iscritti, simulazioni di progetti più o meno elaborate, a seconda della piattaforma e a seconda che si tratti della versione gratuita o a pagamento. Spesso è anche possibile confrontarsi con altri developers attraverso chat o forum e condividere i propri progetti. Nella maggior parte dei casi, i materiali sono in lingua inglese.

Di seguito sono indicate alcune piattaforme che contengono materiali gratuiti, ma ne esistono molte altre sul web (vedi https://www.affde.com/it/learn-to-code-for-free.html):

  • Free code camp https://www.freecodecamp.org/news/how-to/ – questa piattaforma no profit e raccoglie solo contenuti gratuiti; in particolare, al link si trova un elenco di corsi interessanti per chi vuole imparare a programmare anche da zero (ce ne sono tantissimi). Si può visionare anche un canale Youtube (https://www.youtube.com/c/Freecodecamp), su cui sono caricati tutorial e simulazioni per vari argomenti;
  • MDN Web Docs https://developer.mozilla.org/en-US/docs/Learn – è la piattaforma di apprendimento ufficiale di Mozilla; raccoglie molto materiale focalizzato sulla programmazione web. Al link si trova la sezione dedicata ai beginners;
  • Khanacademy https://it.khanacademy.org/computing/computer-programming – è una piattaforma no profit rivolta a studenti ed insegnanti di tutto il mondo, che ha come obiettivo la diffusione delle conoscenze anche a coloro che non possono permettersi un’istruzione a pagamento. Al link si può visionare la sezione “Informatica”, che contiene alcuni corsi introduttivi sulla materia: ci sono lezioni su vari linguaggi, esercizi e piccoli progetti, che possono poi essere condivisi con la community.

 

UN APPROCCIO STRUTTURATO: SCEGLIERE IL MIGLIOR CORSO A PAGAMENTO IN BASE ALLE PROPRIE ESIGENZE

La scelta del percorso di apprendimento più adatto dipende molto dalle proprie caratteristiche personali, dalle risorse a propria disposizione e dalle esigenze specifiche che si hanno. Le caratteristiche di durata, modalità, contenuto e costo di un corso di programmazione spaziano in un ventaglio molto ampio: ci sono corsi brevi e concentrati su singoli linguaggi o tecnologie; ci sono corsi intensivi di pochi mesi, in cui vengono affrontate importanti moli di informazioni all’interno di classi full remote; ce ne sono altri che prevedono iscrizioni ad una community, sempre completamente online e con la supervisioni di professionisti e tutor, fondati sul principio del “learning by doing”.

Per quanto riguarda la certificazione di competenze, generalmente le scuole rilasciano solo attestati di partecipazione e portano a garanzia di qualità l’alto livello di placement dei propri studenti – basandosi sul fatto che, è bene ricordarlo, per essere un programmatore non è (sempre) necessario il proverbiale “pezzo di carta”.

Il costo di questi corsi può variare da alcune centinaia di euro a diverse migliaia. Vi presentiamo alcune interessanti realtà del panorama italiano, categorizzate in base alle loro caratteristiche distintive.

 

1. Community basate su networking e learning by doing

Nel caso di queste community, l’apprendimento delle competenze di programmazione passa principalmente dal confronto e dalla mentorship, che altri professionisti presenti nella comunità forniscono ai nuovi studenti. Di fatto, l’approfondimento teorico viene svolto in autonomia dagli studenti, su materiali organizzati e forniti dalla scuola che gestisce la community. Agli studenti vengono poi assegnati task e progetti pratici, che vogliono simulare le condizioni di reale assegnazione di una commessa nel mondo del lavoro: gli studenti devono quindi portare avanti il progetto e imparano a programmare sul campo, in condizioni verosimili. In questa fase, entrano in gioco i professionisti che si occupano di mentorship, seguendo gli studenti in un percorso individuale e centrato sulle inclinazioni personali. Con questa modalità, le scuole puntano ad incentivare l’autonomia, lo sviluppo di una propria rete di conoscenze professionali e il contatto con possibili futuri contesti lavorativi.

Tali corsi possono essere seguiti in modalità full remote e dedicando la quantità di tempo che si preferisce, dato che non ci sono orari fissi di lezione e che i consulenti professionisti danno feedback personalizzati, rispetto al lavoro inviato dagli studenti. Deve quindi esserci una buona propensione della persona a lavorare fin da subito in modo molto autonomo.

Il costo dell’iscrizione a queste piattaforme è solitamente di alcune centinaia di euro e l’abbonamento può essere mensile o annuale. Vengono fatti colloqui selettivi per capire il livello di partenza, le motivazioni e le inclinazioni professionali dei candidati: questo permette alle scuole di mantenere alti livelli di placement dei propri studenti, risultato che viene portato a garanzia della qualità del lavoro.

Ecco due scuole che utilizzano questa modalità:

Sulle pagine Youtube delle scuole sono presenti alcuni video che spiegano più approfonditamente il loro metodo.

 

2. Bootcamp e Academy per corsi intensivi

Si tratta di corsi intensivi che durano da tre a sei mesi, con lezioni full time e full remote; gli insegnanti e tutor seguono le classi virtuali sia nella parte teorica (di solito concentrata nella prima metà della giornata), che nella parte pratica (a cui si dedica la seconda metà di ogni giornata). Nella parte pratica, viene incentivato sia il lavoro a progetti individuali che esercizi di progettazione in gruppo, per permettere agli studenti di osservare ed esercitare lo sviluppo di applicativi in team. Dopo il corso, viene fornito supporto per l’ingresso nel mondo del lavoro, spesso attraverso tirocini con realtà convenzionate e consulenze mirate sulle varie fasi della ricerca attiva del lavoro (per esempio stesura del CV, simulazioni di colloquio).

Le tecnologie affrontate riguardano lo sviluppo frontend (le più comuni sono Html, Css e JavaScript) e backend (le più comuni sono PHP, Sql, MySql). Alcune scuole offrono la possibilità di corsi part-time, concentrati solo sui linguaggi frontend. In definitiva, data la brevità del corso, la grande mole di informazioni fornite e la necessità di costruire una conoscenza informatica di base, viene in ogni caso data la precedenza allo studio di linguaggi per il frontend e gli altri linguaggi di sviluppo vengono trattati meno approfonditamente. Anche questo elemento va considerato in fase di decisione e in base alle proprie esigenze.

I requisiti di accesso non prevedono conoscenze pregresse in ambito informatico, però è necessario superare una selezione e rispondere a criteri decisi dalle singole scuole; questi servono a garantire un alto livello di placement degli studenti, dato che viene portato a garanzia della qualità del lavoro. Il costo per la partecipazione è solitamente di alcune migliaia di euro; in certi casi, sono previsti periodi di prova gratuiti.

Di seguito alcune Academy di programmazione così strutturate:

–             Epicode https://epicode.it/

–             Boolean careers https://www.boolean.careers/

–             Aulab https://aulab.it/

Sulle pagine Youtube delle scuole sono presenti alcuni video che spiegano più approfonditamente il loro metodo.

 

   3. Istituti no profit per talent scouting

Queste scuole nascono per compensare la carenza di programmatori e programmatici che caratterizza il mercato. Sono gratuite o a costi irrisori, ma abbastanza impegnative: c’è una selezione rigorosa per entrare e le lezioni sono full time per alcuni mesi. Di fatto, queste academy si inseriscono in progetti con mission e valori molto chiari ed incisivi sull’esperienza dello studente. Ecco alcune informazioni in più su quelle presenti in Italia:

  • 42 Roma Luiss https://42roma.it/ – La scuola 42 ha aperto la sua sede romana nel 2021, ma ha sedi in varie parti del mondo. I suoi valori portanti sono cooperazione costante, lavoro in team e apprendimento pear-to-pear. Non è richiesto nessun titolo, diploma o competenza precedente per entrare nella scuola. La selezione avviene attraverso un preliminare test di logica, seguito dalle cosiddette Piscine di un mese in sede a Roma: gli studenti vengono “buttati” a programmare senza aver seguito alcuna lezione, per vedere chi “nuota” e chi “annega”. Per questo serve essere portati per il lavoro sotto pressione. Successivamente, chi passa la piscina diventa studente della scuola, che può durare da un minimo di un anno fino a 3-4 anni, in base alle disponibilità ed esigenze dello studente; è possibile specializzarsi in ambiti diversi dopo aver acquisito un bagaglio base di conoscenze.
  • SheTech Coding School: https://shetechitaly.org/project/shetech-coding-school/ – SheTech è un’associazione no profit nata con l’obiettivo di colmare il gender gap nel mondo della tecnologia, del digitale e dell’imprenditoria, attraverso attività di networking, empowerment e formazione. La scuola è perciò dedicata alle programmatrici: si tratta di un corso full-time di 3 mesi online, riservato a 3 aspiranti fullstack developer e che insegna inoltre le metodologie agili di lavoro. L’associazione ha sede a Milano, Parma e Roma; organizza numerosi eventi e attività sia online che offline, per formare e informare sulle sue iniziative.

COME AFFRONTARE IL CAMBIAMENTO? CONOSCERE IL MONDO DEL LAVORO DIGITALE ITALIANO

Durante i processi di cambiamento lavorativo o addirittura di carriera, le domande e i dubbi che si presentano possono essere molto vari e preoccupare anche molto il professionista che si trova ad affrontarli. All’inizio abbiamo presentato alcune domande a cui è utile rispondere nel momento in cui si decide di intraprendere lo sviluppo di una nuova competenza o un cambiamento di percorso, ma le risposte possono non essere né semplici né immediate da individuare.

Start Hub Consulting ha fondato una community dedicata al mondo digital e alla consulenza di carriera per questo settore, si chiama Lavoro Digitale Italia.

L’obiettivo di LDI è mettere i migliori professionisti del mondo digital italiano in contatto con le aziende che possono aiutarli a realizzarsi professionalmente. I recruiter di Lavoro Digitale Italia sono a disposizione per analizzare il percorso professionale e le aspettative dei professionisti, agevolandone il contatto con le aziende o con il mondo delle start-up in cerca di professionisti digitali.

 

Eleonora Malaspina

Eleonora Malaspina

IT Recruiter