Şimdi öncelikle şunu söyleyeyim: Yazılım, çevremizde her yerde var. Bundan bahsederken bilgisayarlardan bahsetmiyorum; doğanın kendisi de bir yazılım. Bir yazılımcının çok iyi gözlemci olması gerekir. Ben "computer geek" diye bir kavramın doğru olduğuna inanmıyorum. Oturup makine başında tıkır tıkır bir şeyler yazan kişinin, en dahi insan olarak görülmesine katılmıyorum. Bir yazılımcının sosyal olması, iletişim becerilerinin iyi olması ve doğayı gözlemlemesi gerekiyor. Çünkü yazılımda çözdüğümüz problemlerin çoğu, doğada bir şekilde çözülmüş durumda. Doğayı gözlemlersek, mutlaka karşılaştığımız bir problemin karşılığı vardır.
Biz, yazılımda yaptığımız şeyin imitasyon olduğunu söyleyebilirim. Bugün "makine öğrenmesi" diyoruz. Ne yapıyoruz? Aslında insanın doğasını makineye yeniden yaratmaya çalışıyoruz. Dolayısıyla iyi bir gözlemci olmak çok önemlidir. Ayrıca, iyi algoritmalar bilmeleri gerekir. Algoritmalar, günlük hayatımızın her yerinde mevcut; günde yüzlerce algoritma kullanıyoruz. Örneğin, "Buradan yemeğe gideceğiz. Buradan çık, şu kapıya git, kapıyı aç, merdivenden in" dediğimizde bunlar birer algoritmadır. Farkına varmadan bu algoritmaları yaşamımızda uyguluyoruz; bunu iyi gözlemlemek gerekir.
Boğaziçili bir hocam, Network dersini kanalizasyon sistemi üzerinden anlatmıştı; o da bir network çünkü. Dolayısıyla çevremizde yazılımda çözülmüş problemler, dışarıda da çözülmüş durumdadır. Biz, sadece bu problemleri alıp uygun mimariyle uygulamamız gerekiyor.
Bunun dışında, yazılımdan bahsetmişken, kesinlikle açık kaynak kod konusunda bilgi sahibi olmaları gerekiyor. Doğru yazılım yazmak için "design pattern" ve "object-oriented programming" (nesne yönelimli programlama) konularını öğrenmeleri şart. Bunu mutlaka bir şekilde öğrenip araştırmalılar. Okullarında genellikle bu dersler mevcut; ancak derslerle yetinmemeli, araştırmalı ve kendileri bir şeyler yazmaya çalışmalıdırlar. Bunu yapan öğrencilerin, ileride çok daha başarılı olacaklarını düşünüyorum.
Bu metin otomatik olarak oluşturulmuştur. Hataları bildirerek geliştirilmesine katkı sağlayabilirsiniz.