Cronaca

Quando Steve Jobs sosteneva che qualsiasi americano dovesse imparare a programmare un computer si riferiva sicuramente alla capacità dei coder di pensare, ma soprattutto all’utilità della programmazione nel forgiare una forma mentis orientata al problem solving. E questo invito da parte del fondatore di Apple è stato apparentemente seguito alla lettera da tantissime persone che decidono di diventare programmatore informatico. Per farlo basta iniziare dal corso giusto, proprio come quello proposto dalla PMI italiana aulab. Con l’Hackademy, il bootcamp intensivo della durata di 3 mesi, si ha la possibilità di acquisire le competenze tecniche e pratiche per poter proporsi sin da subito nel mondo del lavoro attraverso lezioni teoriche svolte dagli esperti e tanta, tanta pratica.

Perché avere capacità di problem solving è così importante?

A tutti capita di avere dei problemi, anche di piccola entità, e anche se talvolta non vogliamo, dobbiamo perdere del tempo per farvi fronte. Per riuscirci, banalmente, ci serve una soluzione. Se la prima non funziona, ne dovremo trovare un’altra, un’altra ancora e così via. Alcune volte risulteremo baciati dalla fortuna, altre volte dovremo sbatterci la testa per tanto tempo. Affidarsi alla dea bendata non è però il modo giusto per pensare di affrontare delle difficoltà. Semmai, quello che serve è uno schema ben preciso che ci guidi, ma soprattutto tantissimo allenamento.
Ed è quello che un bravo coder dovrebbe fare anziché fissarsi solo sull’acquisizione di un patrimonio tecnico inappuntabile: pensare a come affrontare i problemi che quotidianamente si troverà davanti!

Come risolvere un problema in 3 mosse

1. Comprensione

Capire il contesto e quello che ci viene chiesto rappresenta l’aspetto forse più difficile del processo di risoluzione di un problema. Avremo la certezza di aver compreso l’inghippo quando saremo in grado di spiegarlo in maniera lineare nella propria lingua, senza voragini logiche o contraddizioni di sorta.
A tutti sarà capitato di non essere in grado di schematizzare una situazione per renderla più chiara e semplice da affrontare. La frustrazione che ne segue è quella che giornalmente anima un programmatore quando si ritrova davanti a una montagna da scalare.

2. Pianificazione

Una volta giunti alla comprensione del problema, l’errore che solitamente si fa è quello di procedere senza un piano ben preciso, per tentativi poco razionali, affidandosi al caso.
Ecco, la verità è che non ci sarà probabilmente happy ending se non ci si sofferma sulla scrittura di tutti i passaggi che servono per arrivare alla soluzione. Per farlo bisogna dare tempo al cervello per metabolizzare e analizzare tutti i dati in proprio possesso. Una volta fatto questo bisognerà cominciare a porsi dei quesiti appropriati per capire quali siano i passaggi necessari per addivenire a un determinato risultato.

3. Divisione

Per molti quest’ultimo step è quello più importante, ma è sicuramente quello che richiede più impegno per entrare nell’ottica giusta. L’uomo ha la naturale tendenza ad vedere un problema nella sua interezza e ad affrontarlo quindi in quanto tale. Nulla di più sbagliato! C’è la scomposizione dello stesso alla base del successo, e questo i programmatori lo sanno benissimo. Un problema segmentato in sub-problemi sarà di più semplice risoluzione e permetterà comunque una progressione che, dopo che i singoli tasselli verranno messi in ordine e connessi logicamente, alla lunga garantirà il raggiungimento del risultato finale.

Nessuna via d’uscita

Sulla carta queste – per nulla semplici – mosse sembrerebbero garantire una strategia valida e applicabile a ogni situazione. Capiterà invece di rimanere bloccati e di non essere in grado di raggiungere la soluzione sperata.

L’errore da non fare è quello di cadere nella disperazione più totale, anche perché si tratta di evenienze del tutto normali. Prima di tutto perché c’è sempre qualche dettaglio che viene perso per strada durante il lavoro di comprensione del problema, ma anche in quello di scomposizione. Dovesse non essere così ci sono due strade: ripetere tutti i passi sino a quando non si riuscirà a venire a capo della vicenda. Oppure saranno la ricerca e l’approfondimento a indicare la via. In un mondo o nell’altro sarà un’occasione di crescita che risulterà utile in futuro.

Lascia un commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Commenti sul post