Bu konumuzda bir yazılımcı nasıl düşünür? 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ı Proje Yaparken Nasıl Düşünür?
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?
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.