Robotik neden seni daha iyi bir yazılım mühendisi yapar
HKDI’de yıllarca robotik öğretmek, yazılıma bakışımı değiştirdi. Hareket planlamasının sistem tasarımı hakkında öğrettikleri.
Kısıtların disiplini
Robotik seni kısıtlar içinde düşünmeye zorlar. Bir servo motorun sınırı vardır. Bir sensörde gürültü vardır. Gerçek zamanlı bir döngünün son tarihi vardır. Bunlar bahane değildir; tasarım alanının ta kendisidir.
Yazılımda çoğu zaman rahat davranabiliriz. Daha fazla bellek ekler, bir sunucu daha açar ya da hatayı yakalar geçeriz. Robotik böyle bir düşünceyi kolay kolay affetmez.
HKDI’de ders verirken öğrendiğim şey
Hong Kong Design Institute’ta ders verirken, soyut yazılım kavramlarında zorlanan öğrencilerin fiziksel bir sistemle bağlantı kurulduğunda bir anda konuyu kavradığını gördüm. Bir robot kolunun state machine hatası yüzünden başarısız olduğunu görmek, state machine kavramını gerçek hale getiriyor.
Bunu koda nasıl uyguluyorum
Bugün yazılım tasarlarken şunları soruyorum:
- Süre sınırları: Bu yavaş olursa ne olur?
- Durum: Sistem o anda nasıl bir durumda?
- Hata biçimleri: Bozulduğunda nasıl bozuluyor?
Bu sorular robotikten geliyor ve sonunda daha sağlam yazılım ortaya çıkarıyor.