Seleziona una pagina
Coding e Creatività

Home > Blog > Coding e Creatività

17 Settembre 2021
Categoria_Coding

La creatività è parte del nostro lavoro.

La creatività non è solo legata alla sfera artistica e all’invenzione ma all’innovazione. Serve creatività per generare innovazione.

È proprio il legame tra questi due concetti che rende l’innovazione un elemento così importante oggi nel mondo del lavoro.

 

 

Lavorare nel campo dell’IT significa essere creativi? O addirittura permette proprio di esserlo? Sviluppare un sistema software richiede creatività oppure significa solamente “tradurre” in codice le istruzioni fornite con linguaggio umano?

Jupitech-articolo-blog-coding-creativita-min

La verità è che creare software è un lavoro altamente creativo. Pur non avendo la completa libertà che hanno artisti o musicisti, un programmatore può far uso di una creatività cosiddetta “tecnica”, e questo concetto ha molte differenti sfaccettature.

Per prima cosa, nello sviluppo, creatività significa rispondere alla domanda “Come posso utilizzare il codice per risolvere uno specifico problema dati i vincoli presenti?” Avete mai giocato ad una Escape Room? Ecco, quel dover utilizzare al meglio, anche in maniera “diversa” dal consueto, gli oggetti che la stanza mette a disposizione e risolvere l’enigma corrisponde a questo tipo di creatività.

In secondo luogo, creatività significa plasmare e modellare il linguaggio di programmazione scelto al fine di creare il software desiderato. 

Il termine linguaggio non è casuale. Un linguaggio di programmazione condivide molte caratteristiche con il linguaggio umano ma, al contrario di quest’ultimo, il linguaggio di programmazione è più limitato nella sua espressività e più rigido nelle regole. Le licenze poetiche non esistono. Allora com’è possibile realizzare quello che si ha in mente utilizzando solo le limitate istruzioni che questo linguaggio e i computer mettono a disposizione?

 

Cosa dire poi del salvataggio dei dati? Come è possibile strutturare questo o quel tipo di database per modellare lo scenario complesso che si vuole rappresentare? Serve molta creatività unita ad una buona dose di innovazione per legare insieme le molteplici tecnologie che oggi esistono e star dietro a quelle che nascono, al fine di creare un sistema complesso, funzionale e funzionante.

Spesso, inoltre, i problemi che vengono presentati ad una software agency sono problemi che nessuno ha risolto prima, e pensare ad una soluzione senza potersi basare su qualcosa di pregresso richiede indubbiamente creatività. Si deve pensare a qualcosa che non esisteva prima, talvolta persino qualcosa al quale nessuno aveva mai pensato prima. Questo qualcosa all’inizio esiste solo nella mente del programmatore e solo dopo, tramite il software, viene reso reale. A ciò vanno anche aggiunti tutti i vincoli che mano a mano possono venir fuori e cambiare le carte in tavola.

Insomma, scrivere software non solo permette di essere creativi ma lo richiede. 

 

Viviamo in un mondo in continua evoluzione e sottovalutare questo aspetto significa non riuscire a stare al passo con esso; essere creativi consente invece di cogliere e incanalare ogni sfaccettatura del nostro presente.

 

Per cercare di evidenziare al meglio il processo creativo che si cela dietro il coding, proviamo ad immedesimarci in un aspirante artista, un pittore

Jupitech-articolo-blog-creativita-colori-min

L’artista in questione è una persona appassionata di arti visive e decide per questo di iniziare a disegnare. Come mezzo espressivo decide di utilizzare i pastelli a cera poiché il loro utilizzo sembra semplice come quello di una matita o di un pastello ma con sfumature e possibilità diverse dai classici pastelli. Li prende in mano la prima volta e si accorge subito delle differenze: il peso è diverso da come si aspettava e la lunghezza non permette di utilizzarli effettivamente come una matita. 

Decide comunque di andare avanti per vedere cosa viene fuori. Inizia così a fare alcuni scarabocchi rendendosi conto di come il percorso sarà molto più difficile di come se lo immaginava. Scopre che a differenza della matita, i colori possono, e anzi devono, essere sovrapposti per creare effetti migliori e donare più qualità alla sua opera. Capisce anche che esagerando con le sovrapposizioni potrebbe distruggere il disegno, mentre con il giusto equilibrio potrebbe elevarlo.

 

Dopo alcune prove ed errori prende una gomma e inizia a cancellare qualche sbavatura per perfezionare il disegno. Ma la gomma non cancella, anzi sembra solo pasticciare il disegno. Preme più forte, sembra che qualcosa si cancelli ma ecco che il foglio si strappa.

 

Non capisce se ha premuto troppo forte o se il foglio era inadeguato per usare quei colori, oppure se effettivamente il pastello a cera non si cancelli. Quello che però capisce è che saranno necessari anni di lavoro, impegno e apprendimento per padroneggiare la tecnica che ha scelto. Dovrà inoltre studiare non solo le caratteristiche legate ai colori in sé, ma anche quelle dei fogli, delle tecniche, e di tutti gli strumenti complementari che si troverà ad utilizzare.

 

Il “problema” iniziale dell’artista era quello di portare nel mondo reale una sua idea, la sua visione artistica di qualcosa che esiste solo dentro la sua mente. Il mezzo individuato per questo compito era il pastello a cera. Ma nel momento in cui ha iniziato ad usare questo mezzo per portare alla luce la sua idea, si è imbattuto in nuovi e ulteriori problemi.

 

Disegnare non è solo espressione ma anche seguire delle regole. Regole che devono essere conosciute, studiate, e anche infrante quando necessario. Finché queste non vengono dominate, la rappresentazione che l’artista porterà nel mondo reale sarà sempre incompleta rispetto a quella che aveva nella mente. Allora l’artista realizza che i pastelli che ha scelto e le tecniche di disegno esistono come supporto per la creazione dell’opera, e non per creare l’opera al posto suo.

Alla stessa maniera il problema iniziale del programmatore è che qualunque sia il software che gli viene chiesto di realizzare – dalla gestione delle cartelle cliniche dei pazienti in un ospedale alla macchina a guida autonoma – i processi che stanno alla base di tali progetti sono per natura imperfetti. Il ruolo del programmatore è quello di immaginare e concepire possibili soluzioni a questo problema.

 

Come l’artista, il programmatore si scontra con quelle regole che guidano la scelta di cosa sia possibile realizzare e cosa no. In questo caso le regole possono venire sia dal processo specifico – ad esempio le regole di gestione del personale e dei pazienti nel caso dell’ospedale – che dagli strumenti utilizzati – regole e limitazione degli strumenti di sviluppo, del linguaggio di programmazione… Il programmatore esperto è colui che, come l’artista, ha appreso e compreso queste regole, padroneggiando al contempo gli strumenti che gli permettono di esprimere e modellare la soluzione che ha trovato al problema.

 

L’aspetto sfidante è dato proprio dalle regole che guidano e definiscono questo processo. Disegnare con i pastelli a cera su un foglio di carta ha dei limiti, ma questi limiti non frenano l’abilità e la creatività dell’artista nel plasmare l’opera che ha in mente, quanto piuttosto delineano il percorso attraverso il quale tale opera può essere realizzata.

 

Per analogia, le leggi della fisica sono i limiti dell’espressione di un programmatore: se la soluzione a un problema non può essere espressa in termini logici, allora tale soluzione non è un buon candidato per essere realizzata tramite il logico mezzo che è il codice. La buona notizia è che quasi tutti i problemi si possono risolvere tramite un’espressione logica creativa.

 

La maniera migliore in cui l’arte, la bellezza e la nuda creatività di un programmatore visionario possono brillare è attraverso la ricerca dell’espressione logica più semplice, più pura, più elegante che sia in grado di risolvere un problema. E questo sì, richiede una buona dose di creatività!

 

Potrebbe interessarti anche

 

Consigli per la lettura

Consigli per la lettura

Ormai è tradizione consolidata in azienda regalarci per Natale libri che vanno ad arricchire la biblioteca aziendale e le nostre biblioteche personali. Libri che hanno sempre la duplice finalità di farci svagare, da un lato, e crescere personalmente...

leggi tutto

Pin It on Pinterest

Share This

Spargi la voce!

Se ti è piaciuto questo articolo condividilo con i tuoi contatti.