Perché la robotica ti rende un ingegnere software migliore
Anni di insegnamento di robotica all’HKDI hanno cambiato il mio modo di pensare il software. Ecco cosa mi ha insegnato il motion planning sul design dei sistemi.
La disciplina dei vincoli
La robotica ti costringe a ragionare dentro i vincoli. Un servo ha limiti. Un sensore ha rumore. Un loop real-time ha una scadenza. Non sono scuse: sono il vero spazio di progetto.
Nel software spesso possiamo permetterci di essere approssimativi. Più memoria, un altro server o un try/catch in più. La robotica non perdona facilmente questo modo di ragionare.
Cosa ho imparato insegnando all’HKDI
Quando insegnavo all’Hong Kong Design Institute, vedevo studenti bloccati su concetti software astratti capirli di colpo non appena li collegavamo a un sistema fisico. Vedere un braccio robotico fallire per un errore nella macchina a stati rende la macchina a stati qualcosa di concreto.
Come lo applico al codice
Oggi, quando progetto software, penso a:
- Scadenze: cosa succede se questa parte è lenta?
- Stato: che forma ha il sistema in ogni momento?
- Modalità di guasto: quando si rompe, come si rompe?
Queste domande arrivano dalla robotica e portano a software più affidabile.