La cosa che forse mi rende più attaccato al mio lavoro, è la continua necessità di risolvere problemi: a me piace risolvere problemi, e mi piace farlo nel modo più pragmatico e creativo possibile.
Quando risolvo un problema che sembra insormontabile con un ragionamento, che sia astrazione del problema, pensiero laterale o altro, mi sento fiero e ricompensato.
L’altra faccia della medaglia è la maniacalità che non mi dà tregua finché un problema resta irrisolto: ci penso in continuazione, resto assente al mondo che mi circonda, fino alla agognata soluzione.
Vista la mia passione sull’argomento mi ergo immediatamente a esperto e vi propino la mia lista su come si risolvono i problemi nello sviluppo software, e forse un po’ anche nel team e nella vita.
- La prima strada da tentare è sempre la più semplice: il rasoio di Occam docet, il problema è risolvibile in maniera diretta, affrontandolo di petto? Si risolve scrivendo codice o non va l’architettura? Le soluzioni comuni a questo genere di problema possono funzionare? Allora attuale.
- Il problema è astruso e non sembra risolvibile immediatamente con il know-how che abbiamo a disposizione? Studiamo. Cerchiamo se il problema è stato affrontato da qualcun altro, troviamo se ha una soluzione adatta anche per noi: abbiamo internet a disposizione, i motori di ricerca, non dobbiamo nemmeno consultare migliaia di libri per farlo.
- Il problema è causato dal modo in cui stiamo svolgendo il compito: astraiamo le parti comuni, input, elaborazione, risultato: c’è un altro modo di farlo? Una soluzione alternativa? Cosa ci consiglia il nostro intuito e la nostra creatività?
- Il problema non esiste: è lecito porsi la domanda se il problema è reale: qual è il ragionamento che lo identifica come tale? Sicuri che non sia viziato da qualche bias personale o aziendale, sicuri che altrove sia considerato un problema? Interrogatevi in proposito.
- Risolvere il problema è costoso: qui bisogna cercare di contenere i costi della soluzione, trovare il modo di risparmiare, rendere le parti che generano costi più efficienti e utilizzarle il meno possibile, quindi introdurre la soluzione anche se, visto il costo, non piacerà.
In ogni caso ricordate che non esiste un problema senza soluzione, che col giusto tempo e mezzi anche la fantascienza diviene realtà: è successo milioni di volte nel mondo.
Non scoraggiatevi ed affrontate tutti i problemi sempre, con intelligenza e creatività.