Yazılımcıların Algısal Sorunları

Image for post
Image for post

Aşağıda anlatmaya çalışacağım bu sorunlar sadece yazılımcılarda yok. İnsanların genelinde olan sorunlar bunlar. Kavgaları ve uzun süren verimsiz tartışmaların da temelinde bu sorunlar yatıyor. Bundan dolayı bazen temellerimiz çatışıyor ve ortak cevaplarda buluşamıyoruz. Anlatmak istediğimi bir örnek ile anlatayım ve bu sayede sadece soyut kavramlar ile değil, bunun günlük hayatta nasıl somutlaşabileceğini görelim.

Geçenlerde yazılım güvenliği ile alakalı konuşuyorduk. Bazı arkadaşların beğenmediği şeylerden bir tanesi: belli aralıklarla şifre yenilemeyi zorunlu tutmak. Mesela email adresinizin şifresini belli aralıklar ile değiştirmeyi bir şirkette policy haline getirmek. Bazıları bunun gereksiz ve işe yaramaz olduğunu ve kaldırılmaları gerektiğini söyledi. Kendi açılarından haklı oldukları durum: insanların bir şekilde bu önlemi de yararsız kılacak işler yapmaları. Çünkü meslekleri boyunca böyle insanlar ile karşılaştıklarını söylediler. İnsanların gördükleri şeylere göre algılarının geliştiğini düşünürsek, acaba bu policy olmasaydı, kaç kişinin hesabı hacklenecekti? Eğer hesabı hacklenen insanların bu policy ile korunduklarını görseler, bu çözüm tek başına yetecek kadar güçlü diyecekler miydi?

Yukarıda ki ifadelerde gördüğüm sorun, yaşanmış bazı tecrübelerin insanları radikal bir anlayıştan başka radikal ya da diğer bir tabirle aşırıcı bir anlayışa sevk ediyor olması. Bu sorun, günlük hayatta o kadar çok karşılaşılan bir durum ki, insanların bu algısal sorunlarından dolayı, yıllardır birbirlerine tepki olarak çıkmış farklı akımların elinde dünya çok defa kan gölüne dönmüştür. Yaşadığı sorunlardan dolayı orta bir yol bulmak yerine sorunlara karşı geliştirilen bu aşırıcı çözümler, insan zihnine daha kolay geliyor olsa gerek. Çünkü detaylı düşünmek ve yaşanılan sorunları etraflıca anlamak yerine, zaten bildiğiniz bir yöntemin tam tersini yapmak suretiyle, aynı sorunları bir daha yaşamayacağımızı düşünüyoruz. Halbuki yaşadığımız sorunlarına neden olan işte bu aşırıcı anlayışın kullanılması ve farklı düşünce ve opsiyonlara yaşam hakkı tanınmaması. Meseleyi biraz abartıyor muyum acaba diye düşünenlere cevaben, farklı ideolojik kavgaların sebep olduğunu söylememin sebebi, bu yanlış anlayışın nerelere varabileceğini anlatmak.

Benim düşüncem ise, belli aralıklar ile passwordları güncellemeyi zorunlu kılmanın yararlı olacağına dairdi. Haklı mıyım değil miyim, buna asıl karar verecek olan sağlam verilerdir ama kendi mantığım ise şu şekilde: Bir uçurumun yanına yapmış olduğunuz barikatların üzerinden bazıları atlamakta ısrar ediyor diye, farkında olmadan uçuruma giden binlercesini korumak için oraya barikat koymaya değer. Bu barikatlardan hala insanlar atlıyor, bunu kaldıralım demek doğru düşüncenin ürünü değildir maalesef. Düşüncelerimi ifade ettikten sonra gelen eleştirilerden bir tanesi de, insanların şifrelerini değiştirmek için çok zaman harcadığı ve dolayısıyla zaman israfı olduğu konusunda oldu. Açıkcası bu konu da o kadar emin değilim. Bir şifre değiştirmek ne kadar zaman alabilir? Kaybedilen zaman, hassas bilgilere ulaşıldığından meydana gelecek milyonlarca dolar zarardan daha mı büyük bir sorun? Bu soruların cevaplarını vermek için doğru bir araştırma yapmadan yaşadığımız tecrübeleri diğer tüm opsiyonların ve durumların önüne koymak ne kadar doğru bir yaklaşım?

Peki başka hangi durumlarda bu sorunlara şahit oluyoruz? Yazılımcılar bir proje geliştirmek istediklerinde teknoloji seçerken bu sorunu yaşıyorlar. Daha önceden bir teknoloji ile sorun yaşayanlar, belki seçtiğim teknoloji geliştirmek istediğim project için uygun değildi diye düşünmek yerine, ilk olarak onu yerden yere vurmak ile başlıyorlar eleştirilerine. Bu radikal yaklaşımın arkasında yatan nedenler aşağıdakiler olabilir:

  1. Tecrübesizlik: Yeteri kadar bu meslekte çalışmamış insanlar, her teknolojinin kendisine ait bazı sorunları olabileceği gerçeğini bilmiyor olabilirler. Alternatif çözümler üretmek yerine, sunulan teknolojilerin tüm dertlerine derman olmasını beklemek, üzerinde düşünülmesi gereken bir eksiklik.
  2. Düşüncesizlik: Zihinsel fakültelerini eğitmemiş insanlarda, bir radikal anlayıştan diğerine geçiş yaşamak kaçınılmaz oluyor. Yazılımcılar olarak, her aklımıza geleni söylemek yerine, her söylenileni aklımızla düşünmemiz gerekiyor.

Teknolojinin kendisi de gerçekten kötü olabilir. Maalesef bayağı bir proje var hayatlarını çok devam ettiremeyen. Ama fail eden projelerin çoğu, çok fazla yazılımcıya ulaşamadan yarı yolda yaşama veda ediyorlar. Dolayısıyla, insanların kötü teknolojiler ile uğraşmak zorunda kalma riskleri düşündüklerinden daha az oluyor. Bugün kullandığımız teknolojilerin çoğu ciddi bir yatırım, tecrübe, ve zamanın eseri. Özellikle de açık kaynak kodlu projelere dünyanın her yerinden yardım gelebiliyor.

Objective kalamıyor olmak ve subjective rüzgarların sağa sola savurması, kendim de dahil çok insanda gördüğüm en ciddi sorunların başında geliyor. Orta yol, ve gibi kelimeleri içeren iddiaların çok olmadığı bir yaklaşım tarzı. Orta yol, içerisinde bulunulan durumun etraflıca incelenmesiyle karar alınması demek. Orta yol, değişimin kabullenildiği ve kararların bu değişim gerçeği ekseninde alındığı bir yer.

Aşırıcı anlayışa sahip insanların en belirgin özellikleri: en basit tartışmalarda bile sinirlemeleri ve kendilerini haklı çıkarmak için en temel hakikatleri kolayca yalanlayabilmeleri. Bu tarz insanlar ile karşı karşıya kalınca, lafı uzatmak yerine, sonuç doğuracak işlere yönelmek lazım. Eğer bir şeyler başarılacak ve yol alınacaksa, uç noktalarda yaşayanlar ile değil, ayakları yere basan ve orta yolda yürüyen insanlar ile çalışmak gerekiyor. Bırakın bir şirketi ya da bir projeyi batırmayı, eğer bu zihniyet toplumun geneline yayılırsa, siyaset vasıtasıyla ülkeleri bile batırabiliyor.

Orta yollu ve mantıklı bir anlayışa sahip olmak, insanın psikolojisi üzerinde de pozitif etkiler yapabiliyor. Örneğin, hiç bir tartışmayı kaybetmiyorsunuz, çünkü kazanmak için orada değilsiniz. Doğru ve mantıklı olanı aradığınızdan dolayı, gereksiz tartışmalar ve kavgalar ile zaman kaybetmediğinizden sonuç çıkaracak işler yapıyorsunuz ve bu sizi tatmin ediyor. Mesela, her teknolojiye laf atmak ve hiç birini işe yarar görmeyerek zaman kaybetmek yerine; sorunu doğru anlayıp, doğru teknolojiyi seçmek ile bir proje üzerine çalışmaya başlıyorsunuz.

Neyse, umarım düşüncelerimi aktarabilmişimdir. Bir sonra ki yazımda görüşmek üzere, esenlikle kalın…

Written by

Senior Manager in Software Engineering. Former Technical Lead. Author of the book: Hands-on with Go http://amzn.to/2QYFoaV YT: http://youtube.com/c/tarikguney

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store