Le sei skills che deve avere un programmatore oggi
Anche gli sviluppatori software devono saper scrivere: ecco le sei skills che non ti aspetteresti da un programmatore
L’industria IcT sta cambiando e la ricerca di figure più trasversali, capaci di prendere in carico porzioni più grandi del lavoro digitale, ha imposto anche a chi lavora nell’ambito dello sviluppo informatico di adeguarsi alle nuove competenze richieste dal mercato, le digital skills.
Dalla capacità di scrivere email efficaci agli strumenti per costruire una strategia di digital marketing e di ecommerce, fino all’organizzazione del proprio tempo con Google Calendar o all’utilizzo corretto delle chat aziendali, i programmatori del domani sono architetti del digitale pronti a muoversi agevolmente all’interno di un range sempre più vasto di competenze.
In un mondo sempre più digitalizzato, le specializzazioni nel mondo della programmazione e dello sviluppo informatico si moltiplicano ogni anno, aumentando costantemente l’occupabilità nel settore digitale e mettendo al primo posto il lavoro del programmatore come un’ottima scelta dal punto di vista economico e professionale.
Anche in questo campo, però, per assumere posizioni di rilievo non basta più solo saper scrivere un codice e conoscere i linguaggi di scrittura più usati. In una realtà economica in cui la tecnologia fa ormai da padrona, diventare programmatore vuol dire imporsi come vero e proprio architetto del digital, a tutto tondo, in un mondo all’interno del quale si muovono le più importanti realtà economiche. Per questo servono competenze molto più trasversali di quelle che si possa pensare: dalla capacità di organizzazione del tempo e delle scadenze a quella di scrittura e di relazione con il cliente, le digital skills evolvono continuamente e diventano fondamentali anche in certi ambiti, se si vuole seguire la tecnologia e non farsi trovare impreparati.
Cosa vuol dire quindi lavorare nel mondo della programmazione e cosa serve per diventare programmatore o sviluppatore software oggi?
Sei digital e soft skills che ogni programmatore dovrebbe avere
Le competenze che distinguono un programmatore da uno sviluppatore sono differenti, ma molto spesso nemmeno gli stessi datori di lavoro del settore hanno ben chiara la differenza. Certo è, però, che l’industria IcT sta cambiando e non ricerca più solo figure monodisciplinari, capaci solo di prendere in carico piccole porzioni del lavoro digitale, ma vengono richiesti professionisti che sappiano muoversi agevolmente all’interno di un range sempre più vasto di competenze. Per ottenere competenze e conoscenze necessarie, però, non basterà una buona formazione universitaria.
Ecco perché, spiega Andrea Ciofani, fondatore di AcademyQue, Business & Technology School partner Google e Hubspot che promuove il primo Bootcamp per programmatori e sviluppatori software all’interno di una academy a cui affiancare percorsi formativi in digital marketing e copywriting, è importante iniziare da:
- 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.