Mengapa robotika membuat Anda menjadi insinyur perangkat lunak yang lebih baik
Bertahun-tahun mengajar robotika di HKDI mengubah cara saya memandang perangkat lunak. Inilah pelajaran desain sistem dari motion planning.
Disiplin dari keterbatasan
Robotika memaksa kita berpikir dalam keterbatasan. Servo punya batas. Sensor punya noise. Loop real-time punya deadline. Itu bukan alasan, itu justru ruang desainnya.
Di dunia perangkat lunak, kita sering bisa longgar. Tinggal tambah memori, naikkan server lain, atau tangkap exception lalu lanjut. Robotika tidak mudah memaafkan pola pikir seperti itu.
Pelajaran saat mengajar di HKDI
Saat saya mengajar di Hong Kong Design Institute, saya melihat mahasiswa yang kesulitan memahami konsep perangkat lunak yang abstrak justru cepat mengerti ketika konsep itu dihubungkan ke sistem fisik. Melihat lengan robot gagal karena error pada state machine membuat konsep state machine terasa nyata.
Cara saya menerapkannya ke kode
Sekarang ketika saya merancang perangkat lunak, saya memikirkan:
- Deadline: apa yang terjadi jika bagian ini lambat?
- State: seperti apa sistem pada setiap momen?
- Failure mode: saat sistem rusak, rusaknya seperti apa?
Pertanyaan-pertanyaan ini datang dari robotika. Dan hasilnya adalah perangkat lunak yang lebih baik.