Bir Yazılımcı Nasıl Düşünür?

Bir Yazılımcı Nasıl Düşünür?
Bilinmeyen Bilişim Kitabı

Bu konumuzda Yazılımcının düşünce ve bakış açısı nasıldır? sorularını cevaplıyoruz.

SORU:

bir kodcu-yazılımcı nasıl düşünür ?

CEVAP:

Bir Yazılımcı Nasıl Düşünür?

Güzel bir soru =) Ben yazılıma başladıktan sonra o zamana kadar bilgisayarda kullandığım her şeye bakış açım değişti. Çünkü gördüğünüz şeyin arka planında ne olduğunu, o şeyin nasıl oraya konulduğunu, o sitenin yada programın nasıl yapıldığını, nasıl çalıştığı hakkında fikir sahibi olabiliyorsunuz. Ondan sonra ister istemez kullandığınız her şeyi sorgulamaya başlıyorsunuz.

Bir internet sitesine girdiğinizde, daha önce görmediğiniz yada hoşunuza giden bir şeyi gördüğünüzde hemen kaynak kodlarına bakmaya başlıyorsunuz. Nerede, Ne kullanmış? Hangi kodlama diliyle yapmış? Dolayısıyla yazılımcılar meraklı bir düşünce yapısına sahiptir diyebiliriz.

Yazılımcının en zor işi proje yapmaktan çok kullanacak kişileri düşünerek hareket etme zorunluluğudur. Çünkü bir yazılımı birden fazla kişi kullanacak ise bütün olasılıkları hesaplamak zorundadır. En basit örnekten yola çıkacak olursak bir üyelik formu için bile bir sürü olasılık vardır ve bunları düşünerek hareket etmek zorundadır. Örneğin bir yazılımcının üyelik formu yaparken düşünmek zorunda olduğu kısımlara bakalım;

Üye olacak kişi;
*Kullanıcı adını yazmış mı?
*Yazdıysa bu daha önce kayıtlı olan kullanıcı adı ile aynı mı?
*Kullanıcı adı sistemde sorun çıkaracak karakterler içeriyor mu?
*Şifresini yazmış mı?
*Şifre doğrulama kısmını yazmış mı?
*Şifre ile şifre doğrulama kısmı birbiriyle uyuşuyor mu?
*Şifreler yeterli uzunlukta mı?
*Mail adresini yazmış mı?
*Mail adresi gerçekten bir mail adresi mi yoksa saçma sapan bir şey mi yazmış?
*Mail doğrulama kısmına mail adresi yazmış mı?
*Mail adresi ile mail doğrulama kısmı uyuşuyor mu?
*(Varsa) kullanıcı sözleşmesini kabul etmiş mi?

Yazılımcının Olasılık DüşüncesiBunlar ilk aklıma gelenler. Tüm bu bilgilerin doğru şekilde girilmesini kontrol etmesinin yanı sıra bu bilgileri sisteme girecek kodları yazmasını ve bunda da sorun çıkmamasını söylemiyorum bile. Bu bahsettiğim sadece basit bir üyelik formunda bir yazılımcının düşünmesi gerekenler. Bu üyelik formunda doldurulması gereken ad,soyad,yaş,cinsiyet gibi daha sayılabilecek bir sürü bilginin olması durumunda yazılımcının düşünmesi gerekenleri siz hesap edin. Bir projede buna benzer hesap etmesi gereken yüzlerce şey olabiliyor.

Diğer yandan yazılımcı yaptığı bir siteyi yada projeyi dünyanın en salak kişisi kullanacakmış gibi yapmak zorunda. “Böyle yapması gerektiğini anlar artık, o kadar da değil …” deme lüksü yok. Birde sistemsel güvenliği de hesaba katmak zorunda. İşin kolayına kaçmaması gerek.

SONUÇ

Şartlar böyle olunca bir yazılımcı çok yönlü düşünür, zaten düşünmek zorunda da. Özellikle algoritmik bir düşünce yapısına sahiptir. Bu düşünce yapısını hem yazılım kodlarında hemde olasılıklarda göz önünde bulundurur. Dolayısıyla bir yazılımcı sadece kodlama bilmesiyle yazılımcı değildir, aynı zamanda düşünce yapısıyla da yazılımcı olmak zorundadır.

Bilinmeyen Bilişim Kitabı
  • McPearce

    O değilde , resimde ortada duran adamın kafasındaki çarkların dönüş yönünü yanlış göstermişler …

    • Herhalde yazılımcılar “kural dışı düşünür” denilmek isteniliyor =)