Warum Robotik dich zu einem besseren Softwareingenieur macht
Jahrelanges Unterrichten von Robotik am HKDI hat meine Sicht auf Software verändert. Das habe ich durch Motion Planning über Systemdesign gelernt.
Die Disziplin der Grenzen
Robotik zwingt dich dazu, in Begrenzungen zu denken. Ein Servo hat Limits. Ein Sensor hat Rauschen. Eine Echtzeitschleife hat eine Deadline. Das sind keine Ausreden, sondern der eigentliche Designraum.
In Software können wir oft schlampig sein. Mehr Speicher, noch ein Server oder einfach die Exception fangen. Die Robotik verzeiht diese Denkweise nicht so leicht.
Was ich am HKDI gelernt habe
Als ich am Hong Kong Design Institute unterrichtete, sah ich oft, wie Studierende mit abstrakten Softwarekonzepten kämpften, sie aber sofort verstanden, sobald wir sie mit einem physischen System verbanden. Wenn ein Roboterarm wegen eines Fehlers in der State Machine scheitert, wird eine State Machine plötzlich real.
Wie ich das auf Code anwende
Heute frage ich mich beim Entwurf von Software:
- Deadlines: Was passiert, wenn das hier zu langsam ist?
- State: Wie sieht das System in jedem Moment aus?
- Failure Modes: Wenn es kaputtgeht, wie genau geht es kaputt?
Diese Fragen kommen direkt aus der Robotik. Und sie führen zu besserer Software.