Yazılımcı Yetiştirmek
Yazılımcı yetiştirmek uzun süredir hayalini kurduğum bir projedir ve imkan bulduğumda yapacaklarımın başında gelmektedir. Eğer maddi altyapı ve uygun kurumsal yapıyı oluşturabilirsem, kar amacı gütmeyen bir kuruma başkanlık ederek, bu hayalimi gerçekleştirmek istiyorum. Peki yazılımcı nasıl yetiştirilir? 1 milyoncuda yazılımcı da 1 milyon mudur?
Öncelikle son cümlemden lafı nereye getireceğimi anladığınızı umuyorum, anlamadıysanız da size yuh diyorum 😃 Oraya yazının sonunda geleceğim. Kendi kafamdaki yapıyı biraz anlatmak istiyorum. Tabii ki şu ana kadar bu konuda herhangi bir girişimim olmadığı için yazdıklarım tamamen fikirsel düzeyde olacaktır. Yani burada yazdıklarım ile imkan bulduğumda gerçekleştirdiğim arasında illa ki farklılıklar olacaktır.
Yazılımcı olmanın zor olduğunu düşünmüyorum. Bu yüzden 1 milyon olmasa da yeterli miktarda yazılımcı yetiştirebileceğine inanıyorum. Yani “ağbi yazılımcı olmak çok zor, matematik kimya fizik offf …” diyenleri umursayınız, zira kimse günlük hayatta atomu parçalamıyor veya uzaya çıkmıyor. Zaten o tarz adamlar atomu da parçalar uzaya da çıkar; siz rahat olun 😃
Framework Nefreti yazımda “Yazılım geliştirmek daha çok sözelci işi olmalıdır” diyerek bomba bir açıklama yapmış ve ne işe yaradığı belli olmayan, sadece şikayet eden ve üyesi olmayan kimseyi mühendis saymayan meslek odaları tarafından saldırıya uğramıştım 😃 Bu tam olarak böyle olmasa da, yazılım geliştirmenin sözel tarafını öne çıkarmanın herkese daha faydalı olacağını düşünüyorum.
Yazılımcı yetiştireceğiz ama kimi? Benim buradaki hedefim daha çok ortaokul ve lise talebeleri olurdu. Mümkün mertebe tüm Türkiye’ye erişebilmek isterdim ve hatta mümkünse yatılı eğitim ile normalde erişemeyeceğim öğrencilere de erişmek isterdim.
Peki, bunları neye göre eleyeceğiz? Küçük yaştaki insanlar ile mülakat yapıp bir sonuca varabilmek imkansızdır. Bu yüzden çok basit bir temel yetenek sınavı yapılıp veya yerine koyulabilecek başka bir kaynak (karne gibi) varsa ona bakılıp, ayrıca konuya heveslerini ölçen ödevler verilebilir. Burada bence en önemlisi kişinin isteğidir. Bu isteği kamçılayan farklı nedenler olabilir; ailenin maddi durumundan tutun da gençlik hevesine kadar. Tutkuyu ölçmek bir nebze kolay olsa da canlı tutmak zordur ve bu da bence eğitimcinin işidir.
Öğrenciler seçildikten sonra seviye sınıflandırmaları yapılıp, her seviyeye uygun bir öğrenim takvimi çıkarılabilir. Bir de bu işin eğitim kısmı var; yani sosyal becerilerin desteklenmesi de gerekmektedir. Eğitmenlerin yazılım sektöründe aktif olarak çalışan, tecrübeli kişiler olması bu açıdan önemlidir. Bilmek ile öğretmek farklı olduğu için, bu kişilerin de dikkatle seçilmesi gerekmektedir.
Sınıfları kurduk, plan-program yaptık ve hocalarımız da var. Öğrenciler belirli bir seviyeye getirildi ve artık uzmanlaşmaları gerekiyor. Burada diğer eğitim kurumlarının yaptığı yanlışı yapmaz; mesela 4 yıllık eğitimin son 2 yılında üç-beş ders vererek öğrencileri uzmanlaştırmaya çalışmaz, onun yerine 1 yıllık eğitim veriyorsak 2 ya da 3. aydan sonra uzmanlaştırmaya çalışırdım.
“İyi güzel diyorsun da hocam, sürekli yeni araçlar çıkıyor, bu iş öyle olmaz ki” diyenler olacaktır. Evet, haklısınız fakat şu da var ki çoğu profesyonel bile üç-beş araç ile ömrünü geçiriyor. Bence burada genellikle bir konsorsiyum tarafından desteklenen, standartlaşmış ve sektör tarafından kabul görmüş dil ve framework’lerin eğitimi verilmelidir. Bir yazılımcının, yazdığı kodun makine tarafında ne yaptırdığını bilmesine gerek yoktur. Bir yazılımcının, insanlar tarafından anlaşılır ve bilgisayar tarafından da beklediği gibi çalıştırılan kod yazması gerekmektedir. Eğer eğitimci bu çerçeveyi belirleyebilirse, altı üstü bir framework ile kod yazacak kişinin yaptığı işin tüm detaylarını bilmesine gerek olmaz. Bence zaten yazılımcı da bu seviyede olmalıdır ki sadece bildiği işi hızlıca yapabilsin. Zira ne kadar gereksiz detaya boğulursanız, üründen odağınız o kadar sapar.
Ve evet, eğitim de bitti ve öğrencileri mezun edeceksiniz. Öncelikle mezun olmadan önce hepsinin en azından tasarımını kendilerinin yaptıkları ve bir sorunu çözen yani bir işe yarayan uygulama yapmaları istenmelidir. Buna binaen öğrenciler mezun edilip, sektörde çalışabilir hale getirilmelidir. Peki bu öğrencileri biz ortaokul ve lisede aldık, eğittik. E nasıl olacak şimdi 😃 İşte burada hayatın bana saçma gelen bir gerçeğiyle karşı karşıyayız. Öğrenciler, ileride para kazanmak için okul okuyor. Okul tabii kişiye bir görgü katıyor ama görgülenmek için kimse okul okumuyor. Yani aslında keşke kişiler okul okumasa da, yazılımın ön planda olduğu ama Milli Eğitim Bakanlığı’nın tanıdığı özel (paralı manasında değil, kategorik olarak) okullar da olsa. Belki de vardır, bilmiyorum. Bence böyle olsa çok başarılı yazılımcılar gelişir. Bu sayede yıllarca okuyup bir de üstüne iş bulmak için çabalayan yığınları bir nebze azaltmış oluruz. Zira başarılı bir yazılımcı her şartta iş bulur diye düşünüyorum.
Eğer özelleşmiş bir kurum açma gibi bir durum mevzuata uygun değilse, ortaokul ve lise öğrencileri yerine lise mezunları hedef alınabilir. Ortaokul ve lise öğrencilerine yaz tatilinde “bootcamp” tarzı yoğunlaştırılmış eğitimler sunulabilir. Böylece potansiyel öğrenciler ile de iletişime geçilmiş olunur. Liseden sonra üniversite okumayacaklar da gelip mesleki eğitimini ücretsiz olarak alabilir.
Ya kardeş, sana mı kaldı diyenleriniz olacaktır. E bana kaldı, ya kime kalacaktı 😃 Şimdi bu soruyu sordunuz o yüzden yazacağım şu uzun paragrafı okuyun bakalım 😃 Ben, ilkokul ve ortaokuldayken az sayıda bilgisayarı olan öğrencilerdendim; çok şükür durumumuz da vardı, bizimkiler de bu konuda daha açık görüşlüydü. Fakat doğru dürüst bilgi kaynağım yoktu. Gülçin Latifaoğlu’nun “MSDOS 6.2-6.22” diye bir kitabı vardı, çevire çevire onu okur kendimce bir şeyler yapmaya çalışırdım 😃 O zamanlar bilgisayar donanımındaki gelişmeler baş döndürücü hızla ilerliyordu, Moore Yasası geçerliydi yani, her sene işlemci hızları katlanarak gidiyordu. Bu sayede 66 MHz, 233 MHz ve MS-DOS, Windows 95 vs gittik. Sadece okuldaki bilgisayar derslerinde hocamla ve bilgisayara meraklı komşumuz Arda abi ile bilgisayar konuşabiliyordum. Arda abi Winamp “skin”i yapmayı öğrenmişti ama bana göstermemişti 😃 Sağolsun ama onun sayesinde başka başka bilgiler edinmiştim. Çocukluğumda bu bilgi kaynağı eksikliğinden muzdariptim ve her yerden bilgi edinmeye çalışırdım. Örneğin; disketlere oyun çektirmeye gittiğimde işyeri sahipleri ile konuşur ve bilgi edinmeye çalışırdım. Veyahut bir internet kafeye gittiğimde, orada yazılım işini bilen abiler varsa onlarla konuşurdum. Gerçi böyle bir abi oldu sadece, o da bana oyunlardaki “texture”lardan bahsetmişti. Aslında arkaplanın sürekli yenilenmediğini, oyun alanının kaydığını anlatmıştı. Kısacası, o yaşlarda bilgiye erişimim olmadığından, 56K da evimize ben 8. sınıftayken geldiği için, kaynak eksikliğinden çok muzdarip olmuştum. Şimdi az da olsa kaynaklara erişemeyenler hala ne yazık ki var, öncelikle onlara bir imkan sağlamak isterim. Bir de kaynaklara erişebilen fakat yanlış yönlendirilen kalabalık bir kesim var, onları da doğru yönlendirmek isterim.
Ayrıca ülkemizde bu kadar genç nüfus varken neden Türkiye’nin hala daha doğru düzgün bir yazılım ekosistemi yok diye sormak lazım. Bu konu ekonomik değil, kültürel bir durum. Pakistan’ın, Hindistan’ın bizim ülkeden daha fazla kaynağını yazılımcı yetiştirmeye ayırmadığı kesin. İşte şimdi geldik, “1 milyon yazılımcı” projesine 😃
Bu projeyi yapan insanlar! Eminim ki iyi niyetlisinizdir. Fakat hiç mi düşünmediniz, ya biz ne yapıyoruz diye? İnsanlığın genel problemlerimden biri, kendilerini veya yaptıklarını tanımladıkları zaman onun öyle olduğunu düşünmeleridir. Bizim gibi denetim mekanizması olmayan ülkelerde, bu daha büyük bir sorun teşkil eder zira o hatayı düzeltecek biri de yoktur. Dediğim gibi, bu kültürel bir durum ve çözümünü yurtdışında aramamalıyız. Burası önemli zira şu da yanlış: “Pakistan-Hindistan öyle, biz de öyle yapalım”. Olmaz babacım, koşullar farklı, o iş öyle olmaz. Sen alacağın dersleri alacaksın, kendi ülkene ve insanına göre yani koşullara göre çalışan bir model ortaya çıkarmaya çalışacaksın.
Bir de lütfen çağımızın vebası olan şovenistlikten vazgeçilsin. Ülkede Silikon Vadisi olsun diye Bilişim Vadisi diye yer açıldı. Adı “vadi” olunca oradan bilişim fışkırıyorsa, Tosun Paşa’nın “Yeşil Vadi”si vardı, “Vadistanbul AVM” var. Yani buralar değerlendirilebilirdi 😃
Velhasılı kelam, çok uzattım. Hala okuyanlara teşekkür ediyorum. İleride imkan bulursam, bu hayalimi gerçekleştirmeyi umut ediyorum.