Le sei competenze chiave di un buon programmatore

Con l’aumentare della digitalizzazione, la richiesta di esperti IT e professionisti digitali è cresciuta esponenzialmente, generando persino un certo allarme nelle aziende a causa della carenza di questo genere di professionalità. Sono oramai diverse le figure professionali specializzate che si vanno delineando, si va dal gettonatissimo data scientist al digital marketing manager, dal data architect al security officer, dal software engineer al programmatore. Quest’ultima figura, in particolare, sembra essere tra le più ricercate e anche ben pagate, specialmente quando alle hard skill specifiche, si accompagnano delle altre competenze che permettono a queste figure all’interno delle aziende, di lavorare effiaciemente in team e di sostenere la responsabilità di progetti complessi. Secondo Andrea Ciofani, fondatore di AcademyQue, Business & Technology School partner Google e Hubspot che promuove il primo Bootcamp per programmatori e sviluppatori software (www.academyque.com/bootcamp/), se si vuole fare carriera in questo settore, non basta più solo saper scrivere un codice e conoscere i linguaggi di scrittura più usati, servono competenze più trasversali, come quelle che ha sintetizzato qui di seguito.

Saper organizzare il proprio tempo

Soprattutto con l’imposizione dello smart working in molti luoghi di lavoro, è importante che chiunque da remoto possa avere a portata di mano gli strumenti digitali più all’avanguardia per saper gestire il proprio tempo e rispettare le scadenze, anche se da casa e da solo. Un primo passo può essere quello di organizzare le giornate per tematiche e dare a ciascuna un colore: il lunedì, giorno di allineamento, riunioni e incontri con il management, avrà il colore verde; martedì è dedicato allo sviluppo del prodotto e avrà il colore giallo; mercoledì al rilascio e avrà il colore rosso, e così via. Per fare questo, oltre a una normale agenda di carta, si possono utilizzare strumenti facili e intuitivi come il calendar di Google o un semplice excel, meglio ancora se con l’utilizzo di formule che permettono di aggiornare automaticamente le azioni in corso da quelle “to do”, per avere sempre sotto controllo lo stato delle attività.

Comunicare con altre aree aziendali

Essere capaci di lavorare da soli e di portare a termine le proprie attività necessita della collaborazione degli altri o di un supporto nei confronti di altre persone. Programmatori e sviluppatori sono per antonomasia i nerd che lavorano a tu per tu con il proprio computer, a volte per lunghe ore, spesso senza troppe interazioni con gli stessi colleghi. Purtroppo, però, in molti casi è proprio il programmatore o lo sviluppatore che deve fornire le informazioni necessarie alle altre aree, prima del rilascio del prodotto o del servizio. Ecco perché è importante saper sviluppare la capacità di comunicare anche con i colleghi del marketing, per esempio, utilizzando un linguaggio che sia comprensibile a entrambi. Come? Partecipando a corsi di formazione, per esempio, partendo dalle basi del digital marketing, che aiuteranno anche a migliorare la capacità di interazione con il cliente stesso. E poi utilizzare le chat aziendali per scambiarsi materiali, suggerimenti e opinioni o seguire le pagine social e digital dell’azienda, per rimanere sempre aggiornati sulle novità messe in gioco dal reparto marketing.

Automotivazione: condividere i propri successi con gli altri

Il programmatore lavora in solitaria e, molto spesso, condivide successi e insuccessi solo con se stesso. Questo può provocare una rottura con i colleghi, oltre a un calo di motivazione personale, soprattutto con il lavoro da remoto che limita ancora di più i contatti. Per trovare la spinta produttiva e non isolarsi, anche quando non c’è nessuno accanto che incoraggi lo sviluppo, si possono usare tool come Basecamp, Workplace di Facebook o Slack. Questi programmi aziendali vengono utilizzati proprio per favorire la condivisione delle informazioni e rimanere connessi con il proprio team, grazie a delle chat intuitive che permettono a tutti di vedere in tempo reale cosa stanno facendo i colleghi. Ricevere feedback e condividere il proprio lavoro aiuterà sicuramente a non chiudersi nello stereotipo del nerd.

Avere buone capacità di scrittura

Con il lavoro da remoto abbiamo riscoperto il valore della comunicazione scritta, insieme a quella verbale dettata dalle videochiamate. Non avendo a disposizione un collega seduto nelle vicinanze per porre domande o gestire idee, anche gli stessi programmatori e gli sviluppatori sono stati costretti ad adeguarsi alla scrittura, tra chat aziendali, email, ma anche documenti strategici di prodotto, per comunicare con i clienti o con il proprio manager. Comunicare efficacemente attraverso la scrittura è quindi diventata una prerogativa di tutti gli smart worker, anche in questo settore. Per farlo, può essere utile partecipare a un corso di copywriting, anche di livello base, così da acquisire buone capacità di scrittura per il web, uniformare il linguaggio tra le varie aree aziendali e sviluppare maggiore attitudine al problem solving quando un cliente vuole sapere, per iscritto, lo stato di avanzamento del lavoro, non conoscendo il linguaggio tecnico o informatico.

Aggiornamento continuo

Partecipare a riunioni e corsi di aggiornamento mensili o settimanali, anche online, aiuta anche i più nerd a relazionarsi meglio con il team e acquisire conoscenze a tutto tondo su altri settori. Ma perché un programmatore dovrebbe avere competenze in digital marketing o conoscere le regole di vendita di un ecommerce? Succede spesso che alcuni sviluppatori abbiano idee grandiose, ma non sanno come condividerle con il team, poiché la capacità di comunicarle li blocca. In questo senso diventano fondamentali le soft skills, soprattutto se pensiamo che il lavoro in capo allo sviluppatore è quello che nella maggior parte dei casi viene fruito dal pubblico. Non si tratta solo della parte nascosta dello sviluppo, fatto di codici e linguaggi informatici. Introdurre al manager una procedura, saper spiegare perché un’interfaccia grafica funziona meglio di un’altra, acquisire tecniche di persuasione con il cliente, sono competenze che si possono acquisire con percorsi paralleli allo sviluppo informatico che sicuramente miglioreranno anche la percezione dell’azienda e della persona stessa agli occhi del cliente.

Disciplina e capacità di analisi

Si dice che la risposta media del programmatore alla domanda “Si può fare?” è sicuramente “Sì”, ma diventa un “Non lo so” quando si parla del tempo di sviluppo. Perché? Perché molti corsi di programmazione insegnano a programmare ma non a fare l’analisi, una cosa che lo sviluppatore deve assolutamente fare prima di mettere mano al codice. Per analisi si intende la disamina del problema, il beneficio che porta la sua risoluzione e quali sono gli eventuali problemi correlati allo sviluppo di quella procedura. Se esiste una figura come l’analista, che si occupa nello specifico di fare l’analisi, molto spesso nelle aziende è il programmatore stesso ad assumere entrambi i ruoli. Ma in pochi sanno che iniziare a scrivere codice senza fare l’analisi è uno spreco di tempo di circa l’80% per qualsiasi sviluppatore o programmatore, anche i più talentuosi. Quando non è il programmatore a fare l’analisi, è importante comunque che lui stesso sia in grado di leggerla. Se nei normali corsi universitari non si trovano questo tipo di competenze, frequentare un corso che abbia delle basi di analisi applicate allo sviluppo può essere un plus che permetterà al programmatore e allo sviluppatore di organizzarsi meglio, non subire ritardi sulle scadenze e, di conseguenza, non pesare su tutta la squadra

© RIPRODUZIONE RISERVATA

    Iscriviti alla newsletter