3+5 Devrimi ve Birkaç Çıkarım
Daha 3 ile 5’i bir kod parçası ile toplatıp ekrana bastıktan sonra “Yazılım dünyası için küçük ama benim için dev bir adım!” dediğim yıllarda, yazılım sektöründeki benim için -ve genellikle diğer kişiler için de- yazılım gurusu olan insanların hayat hikayelerini okur, hayret içinde nasıl bu noktaya geldiklerini merak ederdim. Hala bu tarz insanların günlük ve sitelerinde bulunan hakkında kısmını okumaktan büyük zevk alırım. Ne yazık ki bu tarz insanların bazılarıyla tanışsam da merakımı giderecek kadar soru soracak seviyede bir sohbette bulunamadım.
Peki ben çok fazla ilerleme kaydettiğim için mi bu yazıyı yazıyorum. Kesinlikle HAYIR! Hatta yazılım hayatımda 3+5=8 adımı kadar büyük bir adım atamadım. Çok küçük adımlarla ilerliyorum.
Kimi insanlar inkar etse de, herkes küçükde olsa bir çizgi çizmek ister dünyaya. Bunu ben yaptım, işte benim eserim diyebilmek ister. Bunu ben de çok istiyorum. Yapılmamış bir şey yapmak, insanlara faydalı olmak. Belki insan psikolojisinde bir adı bile vardır bu durumun. Ama ben kesinlikle yanlış, olağandışı bir durum olarak görmüyorum bu hali.
Ama hayat her zaman elinizden tutup yardımcı olmuyor ilerlemenize. Öyle günler geliyor ki aslında bırakın bir çizgi çizmeyi kalemi bile tutamayacak durumda olduğunuz hissine kapılıyorsunuz. Ama bir yandan da o çizginin hayali duruyor kenarda.
Ben şu ana kadar bir çizgi çizemedim, belki çizemeyeceğimde. Ama bir şeyi farkettim. İlk üçe girecek yetenekte bir koşucu olamayabilirim, hatta her yarışı sonuncu da tamamlayabilirim. Ama en azından koşacağım. Belki seyirciler gülecek, hatta ben yarışı bitirene kadar kimse beklemeyecek. Fakat benim içimde koşmanın, amacımın olmasının, amacımın yolunda başarısız olmanın mutluluğu olacak.
Yazılım benim için çok büyük bir koşu, ve bu koşuda bir çizgi çizmek istiyorum. Belki hiçbir şey yapamam, belki de çok büyük işler başarırım. Ama en azından ne için mücadele ettiğimi, nasıl bir ortamda mücadele ettiğimi biliyorum.
Bu yazıyı yazmamdaki asıl amaç programlamaya, yazılıma başlarken nereden başlamalıyım, hangi kitapları okumalıyım, hangi programlama diliyle başlayabilirim vb. sorulara kendi bulduğum cevabı vermekti. Cevabımı birkaç madde halinde sıralamak gerekirse:
1-) Hangi kitapları, yazıları okumalıyım?
Bulabildiğiniz her metni, kitabı, haberi, yazıyı okuyun. Yazılımla ilgili olması yeterli olsun sizin için. Teknik kitapların yanında, yazılımın felsefesi ile ilgili kitapları da okuyun. Yazılım sektöründeki kişilerin günlüklerini ziyaret edin, çeşitli konular hakkındaki düşüncelerini okuyun. Yazılım ve teknoji ile ilgili haberleri kesinlikle takip edin.
2-) Hangi programlama dilini seçeyim?
Bu soruyu kendinize sormayın bile. O an başlamanız için en kısa süre, en az gereklilik isteyen dille başlayın. Daha sonra her dille en azından bir “Hello World” uygulaması yazın. Kesinlikle C dilini iyice öğrenin. Unutmayın yazılımı geliştiren programlama dili değil, sizsiniz. Tüm denizlere girin, en rahat hissettiğiniz denizde yüzün.
3-) Nasıl bir uygulama geliştirmeliyim?
Yazılımla ilgili aklınıza gelen her şeyi deneyin. Birisi size fikrinizin çok zor olduğunu, çok saçma olduğunu, başaramayacağınızı söylerse, ona fikri için çok teşekkür edin ve kesinlikle dikkate almayın. Belki gerçekten çok saçma bir fikir de olabilir, ama üzerinde emek verilen herşey bir tuğla daha koyacaktır gelişiminize.
4-) Hangi teknolojilere yönelmeliyim?
Yazılım geliştirme teknolojileri amaç değil, araçtır. Bu yüzden bu konuda ayrım yapmayın ve şirket yazılımcısı olmayın. Bazen gideceğiniz yere otomobille, bazen vapurla, bazen de yürüyerek gitmeniz gerekir. Şirket yazılımcısı olup vapurla caddeye, otomobille denize çıkmaya kalkmayın.
Alakasız gibi görünse de, aşağıdaki maddeler en önemlileri.
5-) Ne olursa olsun iştahınız kaybetmeyin.
6-) Hayal kurun! Hayal kurmadan yaşamak bile çok zorken, yazılım geliştirmek imkansız olur.
7-) Alçakgönüllü olun, ama neler başardığınızında farkında olun.