Dosya 05
Hakkımda
Benim için yazılım yalnızca çalışan kod değildir. Sahadaki gerçek ihtiyacı anlamak, doğru mimariyi kurmak, sistemi sürdürülebilir hâle getirmek ve kullanıcıya ölçülebilir değer üretmektir.
01 Nereden geldiğim
Yazılıma klavyeden değil, tornavidadan başladım. Lisede biyomedikal cihaz teknolojisi okudum; bir cihazın neden bozulduğunu anlamak için önce nasıl çalıştığını okumam gerektiğini orada öğrendim. Üniversitede bilişim sistemleri mühendisliğine geçtiğimde ölçek büyüdü ama soru aynı kaldı: bu şey neden böyle davranıyor?
Bugün ESP32 üzerinde bir sensörü kalibre ederken de, bir Oracle prosedürünün işlem sınırını incelerken de aynı yerden bakıyorum. Katman değişiyor, yöntem değişmiyor.
02 Nasıl çalıştığım
Önce problemi yazıyorum. Hangi teknolojiyle çözüleceğine karar vermeden önce, çözülmediğinde ne olduğunu net biçimde ifade edebilmem gerekiyor. Sahada bir usta günde kaç dakikasını nereye harcıyor, hangi kayıt neden kayboluyor, itiraz geldiğinde elde ne var — bunlar teknik kararlardan önce gelen sorular.
Sonra sistemin nasıl kırılacağını düşünüyorum. Mutlu yol zaten çalışır. Asıl tasarım, bağlantı koptuğunda, batarya bittiğinde, kullanıcı yanlış değeri girdiğinde ve iki katman aynı anda doğru olup birlikte yanlış olduğunda ortaya çıkıyor.
Bulduğum şeyi kanıtla belgeliyorum. Bir hatanın "muhtemelen şundan" olduğunu söylemek yetmiyor; hangi kaydın hangi durumda olduğunu, hangi satırda ne yazdığını göstermek gerekiyor. Bu yüzden pilot raporlarım kanıt listesiyle çıkar.
03 Neye inanıyorum
Sessiz başarı, gürültülü hatadan tehlikelidir. Gönderilmemiş bir kaydı "gönderildi" göstermek, çöken bir uygulamadan çok daha büyük bir hasar verir. Kullanıcının sisteme güveni tek seferde biter ve geri gelmez.
Kanıt üretmeyen kayıt, kayıt sayılmaz. Saha yazılımında fotoğraf, konum, zaman ve sicil alanları "ekstra özellik" değil; sistemin var olma nedeni.
Çeşitlilik koda değil veriye taşınmalı. Altı farklı iş tipini altı ayrı ekranla çözen bir sistem, yedinci iş tipinde çöker.
Bağımlılık eklemek bir maliyet kararıdır. Bugün kolaylık getiren her kütüphane, yarın güncellenmesi gereken bir yüzey.
Doküman çalıştırılabilir olmalı. Denenemeyen bir API dokümanı, yazıldığı gün eskimeye başlar.
04 Şu an
ASKİ Genel Müdürlüğü Bilgi İşlem Dairesi'nde saha operasyon sistemleri üzerinde çalışıyorum: mobil istemci, API katmanı, Oracle tarafı ve sahadaki cihazın kendisi. Beş ayrı dairenin operasyonu, aynı mühendislik problemini farklı kılıklarda karşıma çıkarıyor.
Kurumsal işin dışında görüntü işleme, gömülü sistemler ve otomasyon tarafında çalışmaya devam ediyorum. İki alanın birbirini beslediğini düşünüyorum — sahada donanımın davranışını bilmek, yazılım tarafında daha dürüst kararlar vermeyi sağlıyor.