Da programmatore a programmatore: consigli per lavorare meglio

pubblicato in Programmazione web
Pubblicato da Boolean
· 14/06/2021 · 8 minutes read

Il mestiere del programmatore è spesso immaginato come qualcosa di meccanico, ai livelli di una catena di montaggio. Questa idea però è davvero lontana dalla realtà: lo sviluppatore non solo fa un percorso di formazione impegnativo e sfidante, ma deve avere una mente logica e creativa, capace di vedere i problemi da altre prospettive. Diventare programmatori richiede dedizione e formazione continua, ma come per altre professioni, qualche consiglio giusto può dare una spinta per affrontare questo percorso con meno ostacoli e più soddisfazioni.

Abbiamo chiesto a Nikolas Mosca, tutor del corso Boolean per diventare Full Stack Web Developer, qualche trucco e suggerimento per lavorare al meglio come programmatori. Grazie al suo punto di vista da professionista del settore e da insegnante per decine di studenti, abbiamo potuto realizzare questa lista di cinque consigli "da programmatore a programmatore" che possono essere utili sia a chi è agli inizi della propria strada nel mondo del coding, sia per chi ormai è più navigato ma è a caccia di spunti e trucchi.

Una papera per amica

Può capitare un momento in cui ci si trova in difficoltà davanti al codice: qualcosa non funziona, oppure non si riesce a capire il "percorso" da far compiere alle varie stringhe per ottenere l'effetto che si desidera. In questi casi può essere d'aiuto provare a spiegare a qualcuno il problema: l'obiettivo non è quello di farsi aiutare direttamente - non è necessario parlare con un programmatore, anzi - ma semplicemente ripercorrere mentalmente quello che si sta facendo nel tentativo di arrivare alla soluzione in autonomia. È come quando ci si dimentica qualcosa e si torna indietro a ritroso per farsi venire in mente quello a cui si stava pensando: l'obbligarsi a spiegare qualcosa porta a dover riallineare i pensieri secondo una logica che ne permetta la comprensione ad altri, e questo spesso "sblocca" il nostro cervello nel trovare una soluzione.

Spesso però non si ha a disposizione qualcuno a cui spiegare il problema - oppure non c'è nessun volontario che abbia voglia di partecipare a questo strano esperimento - quindi si può provare a parlare con un oggetto. Il libro del 1999 "The Pragmatic Programmer" - manuale popolare nell'ingegneria del software scritto da Andrew Hunt e David Thomas - introdusse il concetto di rubber duck debugging. Il protagonista del libro girava con una paperella di gomma in tasca alla quale spiegava il codice riga per riga nel momento in cui incontrava uno scoglio difficile da superare.

Non vi serve per forza una paperella di gomma: va bene qualsiasi oggetto, oppure anche un animale domestico al quale rivolgere i propri dubbi. L'importante è creare questo momento di riflessione e revisione. Gli studenti del corso Boolean ricevono una paperella personalizzata nella box che ottengono qualche settimana dopo l'inizio delle lezioni, proprio quando il livello di complessità del codice scritto si alza e si cominciano ad affrontare le prime sfide di logica che impongono di dover porre maggior attenzione a quello che si sta facendo.

Usa il tempo libero a tuo vantaggio

Qualsiasi sia il vostro mestiere (ma se state leggendo questo articolo, probabilmente siete sviluppatori) è sempre importante dedicare del tempo ad altro che non sia il lavoro. Oltre a usare il tempo libero per godersi del meritato riposo, si possono mettere a frutto queste ore sviluppando dei progetti propri, una attività che ha due immediati benefici. Il primo è quello di mettersi sempre in gioco: uno sviluppatore potrebbe approfittarne per imparare nuovi stack tecnologici che magari non affronta quotidianamente sul posto di lavoro. Dedicarsi a un progetto esterno potrebbe anche essere l'occasione per apprendere qualcosa che poi si "rivende" bene sul mercato del lavoro: molto spesso i datori apprezzano chi arriva con qualcosa di proprio, anche se non completamente affine al tipo di lavoro che poi si andrà a fare. Anche da un punto di vista attitudinale, questo posiziona chiunque un gradino sopra chi invece non dedica tempo a progetti personali.

Il secondo aspetto è di tipo creativo: stare dietro a qualcosa di proprio permette di esercitare il cervello a fare qualcosa di diverso rispetto al quotidiano, stimolando fortemente la creatività. Inventiva e fantasia si possono coltivare sia spaziando fuori dal proprio ambito (mai pensato di suonare uno strumento, disegnare o provare a scrivere delle nuove ricette?), sia in quello che magari ci impegna tutti i giorni: ecco perché i programmatori che nel tempo libero sviluppano dei propri progetti possono avere una marcia in più. L'occasione di lavorare su altro permette di apprendere nuovi approcci che migliorano le proprie conoscenze, e l'uso di altre tecniche e tecnologie può apportare migliorie al codice scritto tutti i giorni per lavoro. Insomma, avere un hobby porta sempre valore aggiunto, per sé stessi e gli altri.

Studia sempre!

Il mondo della tecnologia e della programmazione è in costante evoluzione. Nuovi linguaggi, API e librerie arrivano sul web con una frequenza disarmante, e il compito del developer è anche quello di portare innovazione costante nel suo lavoro. Ecco perché formarsi e studiare è fondamentale per uno sviluppatore: imparare nuove tecnologie è cruciale, e per fortuna il web ci viene incontro mettendoci a disposizione una quantità infinita di informazioni spesso fornite in maniera completamente gratuita. E tra forum, community e social, è possibile confrontarsi costantemente con altre figure sia per risolvere dubbi di codice ma anche per farsi trasmettere conoscenze nuove.

La formazione è alla base del successo, ma una formazione di qualità fa tutta la differenza del mondo. È giusto entusiasmarsi per tutto ciò che è nuovo, ma prima di farlo approfondite al meglio quello che già conoscete: studiare le complessità dei linguaggi che già si utilizzano quotidianamente dovrebbe essere la base. Vi potrebbe capitare di ritrovare logiche comuni fra linguaggi, quindi piuttosto che apprenderle su una base nuova, cercate di completare la conoscenza di quello che già avete, senza lasciare a metà le cose. Se volete sviluppare qualcosa di diverso, provate a farlo "spremendo" al massimo il framework che già usate, prima di rivolgervi a una nuova libreria o a un altro linguaggio.

Il magico potere del riordino

Nel lavoro, spesso l'ordine vince sul disordine. Sebbene le cose fatte di impulso possano essere lo specchio di un flusso di creatività improvviso, nell'ordine si riesce a trovare un equilibrio che ha grossi benefici sulla qualità di quello che si sta facendo. Nella programmazione l'ordine è tutto, come accade nella matematica: non si può ottenere il risultato corretto se non si tiene conto di come i fattori sono posizionati l'uno rispetto all'altro. Scrivere codice ordinato è fondamentale: si riducono gli errori, diventa più semplice fare debugging, condividere e riutilizzare codice risulta molto più semplice.

Un buon programmatore quindi evita di scrivere spaghetti code, un'espressione che non ha quasi bisogno di spiegazione: il codice disordinato è come una matassa senza capo né coda, come un piatto di spaghetti arrotolati su loro stessi. Codice ben scritto permette anche di renderlo leggibile ad altri sviluppatori, e "riciclare" spezzoni su altri progetti diventa decisamente più semplice. Se volete darvi la carica giusta per sistemare e mettere in ordine il vostro lavoro, partite dall'ambiente dove lavorate: togliete il superfluo dalla scrivania (e anche dal desktop, perché no) per fare tabula rasa e ripartire con mente fresca.

Il bicchiere è mezzo pieno

Un ultimo consiglio più generale riguarda l'umore con cui ci si approccia a un progetto e in generale alla giornata di lavoro. Essersi svegliati con la luna storta non aiuterà la produttività, con effetti percepibili sulla qualità del lavoro che si sta portando avanti. Cattivo umore può portare a cattivo codice: sebbene non esista la bacchetta magica capace di risolvere ogni problema, può aiutare cercare di mantenere un approccio positivo nei confronti di quello che si sta portando avanti. Se per esempio il progetto non è entusiasmante, cercate sempre di cogliere un lato positivo: cosa ci può comunque insegnare? Cosa si può prendere di buono?

E invece di intestardirsi se qualcosa non funziona, provate momentaneamente a occuparvi di altro: se non c'è verso di sistemare un bug di codice, tornateci con la mente fresca dopo qualche ora che avrete magari passato a fare qualcosa che in quel momento vi funziona meglio. Cercate di guardare cosa fanno gli altri per darvi lo stimolo e la carica giusta, senza però fare paragoni su chi sta facendo di più. Non fatevi prendere dalla sindrome dell'impostore, che può portarvi a credere di non essere all'altezza di quello che state portando avanti. Molto spesso i nodi con un progetto vengono al pettine nel giro di poco, se affrontati con l'umore giusto.

Conclusioni

Se pensavate di trovare consigli su quali linguaggi di programmazione imparare o quale IDE utilizzare in questo articolo, ci dispiace avervi deluso: se siete sviluppatori (o lo state diventando) avete in mano tutte le risorse per poter creare progetti incredibili, ma magari vi manca il mettere a fuoco alcuni aspetti di questa professione - per i quali speriamo questo articolo possa aver dato qualche risposta. Molto di quello che abbiamo detto si riassume nel mantenere una attitudine positiva: la buona volontà nel mettersi in gioco rimane alla base di tutto, e le difficoltà devono diventare l'occasione per poter imparare altro e metterlo poi a frutto in un secondo momento.

In Boolean crediamo in questo, ecco perché il corso è strutturato per accompagnare gli studenti in fase, dai primi passi con l'HTML, fino all'inserimento del mondo del lavoro. Poniamo la formazione di qualità al centro di tutto, perché costruire una base solida è fondamentale per costruire progetti di successo. Agli studenti non vengono soltanto insegnati i linguaggi di programmazione, ma anche l'approccio giusto per affrontare problemi, per potersi confrontare con altri e per non perdere la motivazione, ottenendo come risultato codice di qualità e con un impatto reale nel lavoro di tutti i giorni.

Read next

Sofia, la teacher Boolean con la passione per l'insegnamento

Tenacia, intraprendenza e voglia di mettersi in gioco: quando la programmazione è donna.

Qui in Boolean pensiamo che la nostra storia sia l'insieme...

Boolean #booleanpeople 12/06/2020 · 3 minutes read