Published by Alper Akalın at 19 Eylül 2016
Uzun zamandır ele almayı düşündüğüm bu konuyu bana yukarıkaki görseldeki gibi beklediğim türden bir soru sorarak tetikleyen Ömer kardeşime çok teşekkür ederim.
Konuya soru sorma sanatından yola çıkılarak “Soru Sorma Mühendisliği” başlığı verildi. Ancak olayın sanatsal ve edebi yönünden ziyade mühendislikte “soru” nun ele alınış şekli hakkında bazı sorulara / sorunlara sahibim.
Sanatçı, yaratıcılığını konuşturarak insanların gözüne/gönlüne hitap eden eserler ortaya koyan kişidir. Bunu yaparken eserinin kullanışlı olup olmadığını çok önemesemez. Önemli olan estetik açında muhatabında bir ilgi ve/veya sevgi yaratmasıdır. Mühendis ise öyle eserler ortaya koymalıdır ki hem kullanışlı olmalı hem estetiğe sahip olmalıdır.
Bir heykeltraşın önceliği güzellik sahibi heykellerdir. Bir mimar ya da inşaat mühendisin önceliği ise estetik sahibi kullanışlı binalardır. Alınan bir heykelin nerde kullanılacağı değil nasıl duracağı önemli iken, bir ofis ya da binadan belirli bir seviyede estetik ve kullanım kalitesi olması beklenir.
Bir şairin yazdığı şiirin okuyucuların duygularını harekete geçirecek özelliklere sahip olması yeterlidir. Kimi zaman neşelendirmek kimi zaman duygulandırmaktır ana hedef. Bunun için herkesin anlayabileceği kadar sade bir kafiye tutturulmalı, dil kullanılmalıdır.
Bir yazılımcı öyle midir. Yazdığı kodun şairane olması beklenirken kullanışlı ve pratik olması da istenir. Yine yazılım estetiği içerisinde şairane yazılmış bir kod beklenilen performansı gösteremediğinde hiçbir anlam taşımaz. Yazılım estetiğine sahip olmayan ancak beklenilen performansı gösterebilen kod parçaları iş görse de diğer yazılımcılar tarafından hoş karşılanmaz. Çünkü başka sıkıntılar ortaya çıkarma ihtimalleri yüksektir. Öyle ise “Yazılım Mühendisi” nin asıl görevi estetik sahibi ve kullanışlı kod yazmaktır.
Sanatçı arkadaşlarım ve/veya büyüklerim alınmasınlar yaptığınız eserlerin değeri hiçbir şeyle kıyaslanamaz. Ben kendimce “mühendis” lerin de sanatçı ruha sahip canlılar olduğunu söylüyorum. İşin aslı burada sanatçı ruhlarımızdan da dem vurmak istemiyorum.
Kullanılşı ve/veya kaliteli yazılım yapmak doğru kararlar almamıza bağlıdır. Doğru kararlar; kendimize, analiste ya da müşteriye kaliteli soru sormaktan geçer. Bu yazıda konuyu biraz daha özelleştirip kendimize yani yazılımcıdan yazılımcıya ya da az tecrübeli yazılımcıdan daha çok tecrübeli yazılımcılara sorulan soruların nasıl olması gerektiği üzerinde durmaya çalışacağım. Özetle bir mühendis olarak soru sorma sanatını ele alacağım. Soru sormanın da bir estetiği ve kalitesi olmalıdır. Sorunun kalitesi soran kişinin kalitesinin ispatıdır, kanaatimce…
Yukarıdaki görselde Ömer’in bir sorusu var soruda Enterprise Java kitabında olan bir konu hakkında şüphelerinin giderilmesini istiyor. Aslında biraz da (ben) eleştiri gibi algılarım korkusuyla ürkek bir eda ile sorulmuş bir soru. Ömer sorudan önce kitabı incelemiş, konu örneklerini çalıştırmış ve sonrasında örneği daha iyiye nasıl götürebileceğini merak ediyor. Böyle soruya can feda.
Birazdan dönmek için bunu bırada bırakalım çok yoğun olarak gelen diğer sorulara bakalım. Soruları karşılarındaki farazi isimler sormuş olsun.
Ali: “Hocam Java’da şu konuda tez ödevi aldım, nasıl yapabilirim?”
Veli: “Hocam Java’da tez ödevi alacağım hangi konuyu seçmeliyim?”
Osman: “Hocam Java’da tez ödevi aldım, parasıyla yapar mısınız?”
Hemen 3. sorudan başlayalım. İşin içinde para olduğundan önemli ya… Hiçbir şekilde para vb bir meta karşılığında tez, ödev yapmıyorum. Bir ülkede en olmaması gerken şey insanların kopya ile para ile bir yerlere gelmesidir. Bu gibi yöntemlerle ülkemizde liyakat konusunun tarumar edildiğini, liyakatsızlığında ülkeyi tarumar ettiğini düşünüyorum.
Olayın mühendislik kısmına yani 1. ve 2. sorulara dönersek. 1 ve 2. sorulara üst pencereden bakıldığında genişlik/belirsizlik seviyelerinin neredeyse birbirine yakın olduğu gözlemlenir. Ancak biraz yakınlaşıldığında 1. soruda kopya isteme söz konusuyken, 2. soruda yardım isteme söz konusudur.
1. Sorunun sahibi hiçbir hazırlık yapmadan tez konusunu söylemiş ve yapılması konusunda yardım istemiştir. Tez konusunu Ömer’in sorusu ile eşleştirelim. (Ömer’i de tez yapıyor gibi düşünebiliriz.)
Konu: JDBC ile Veri Tabanı işlemlerini inceleyiniz olsun. O zaman
Soru: Ali: “Hocam Java’da JDBC ile veri tabanı işlemleri konusunu tez ödevi olarak aldım, nasıl yapabilirim?” şeklinde olacaktır. Ömer’in sorusu ile Ali’nin sorusu arasındaki farkı görebildik/hissedebildik mi?
Ömer, belirli çalışmalar yani ön hazırlıklar yapmış ve aklına takılan bir noktayı bir başkasına sorarak bilgi almaya çalışmıştır. Ali ise hiçbir zahmete girmeden doğrudan başka birinden bilgi istemiştir. İyi niyetli bir yaklaşımda Ali’nin bilgisi yok ondan sormuştur diye düşünülebilir. Ancak günümüzde bilgi ortalığa bu kadar çok saçılmış, yayılmışken hiç bir araştırma yapmadan bu soruyu sormak kopya istemektir.
2. Sorunun sahibi aslında bilgisi olmadığını kabul etmiş ya da kararsızlığını kabul etmiştir. Yani seçim konusunda yardım istemektedir. Seçilmiş ödevin nasıl yapılacağını konusuna henüz gelmemiştir. Veli görünüşte Ali’ye göre daha olumlu bir soru sorsa da cevaptan sonra ödevi nasıl yapacağım sorusunu sormayacağını hiç kimse garanti edemez. Ve Ali gibi hiçbir ön hazırlığa da sahip değildir. Veli en azından birkaç tane Java konusu sıralayıp hangisi seçmeliyim dese çok çok daha iyi bir noktada olabilirdi.
Sorular bilgi edinme amaçlı yardım istekleridir. Ya da herhangi bir problemin daha kaliteli bir biçimde nasıl çözüleceğinin araştırılmasıdır. Ali/Veli’nin soruları doğrudan kopya isteği çağrışımı yapmaktadır. Bizim hiçbir hazırlığımız yok hazırlanmak gibi bir niyetimiz de yok, bir zahmet birileri bizim adımıza yapı versin demektir. Tam bu noktadan bakıldığında Osman daha dürüst/cesur gibi gelmektedir sanki? Açık açık niyetini belli etmiştir. Ben bu işi yapmam parası neyse verir yaptırırım diyor gibi.
Özellikle yazılım/java üzerinden gitsek de tüm mühendislik dallarında kullanışlı sanat eserleri yaratabilmek adına kendi kalitemizi en üst seviye taşımalıyız. Hiçbirimiz sahip olduğumuz bilgi ile doğmadık. Hep bir yerlerden öğrendik. Öğrenmenin kalitesi sorulan soruların kalitesi ile doğru orantılıdır. Soruyu gerçek mühendislik kalitesinde kullanmak isteyenlerin problem hakkında araştırma yapmaları şarttır. Araştırma yapılmadan sorulan her sorunun akıbeti meçhuldür. Meçhule giden gemi misali sorunun menziline varması yani cevabının tam olarak anlaşılması ihtimali çok düşüktür.
Tüm bunların sonucunda çalışma hayatına atılmış eksik bilgi sahibi bir çalışan, çalışma arkadaşları için fazladan iş yükü yaratacaktır. Çalıştığı firma için gereksiz kaynak israfı olacağından firmanın başarısını gölgeleyecektir. Firmanın başarısı ülke başarısını etkileyecektir vs vs. Bu zincir istenildiği kadar detaylandırılabilir ya da uzatılabilir.
Sorunun nezaket kuralları içerisinde sorulması olayın sanatsal boyutudur. Önceden yapılan hazırlık miktarı ise sorunun kalite boyutudur.
“Mühendis, estetik ve kaliteyi birleştirdiği oranda başarılıdır” denilirse yanlış olmaz…
Ömer ne yapmış,
örneklerdeki çözümleri daha iyi nasıl yapabilirim diye düşünmüş (estetik olarak da güzel bir yazılım ortaya koyayım demiş),
sonra yardım istemiş.
o zaman Ömer gibi olun…
Not: Konuşmanın devamı için aşağıdaki görsellere tıklayınız.