Ülke gündemimize geçtiğimiz gün yazılımcı yetiştirme konusu geldi. Takdir eden ve eleştirenler elbette mevcut. Ben kendim bir yazılımcı değilim ancak zaman zaman aldığım eğitimlerle kendimi geliştirdim. Yazılım öğrenmek, meslek olarak bu işi yapmasam dahi öğrendiklerim çok şey kazandırdı. Ben de yazılım öğrenmek hakkında biraz görüşlerimi paylaşarak bu tartışmalara katkıda bulunmak istedim.
Kimler Yazılım Öğrenmeli?
Yazılımı sadece bunu meslek olarak yapacak kişiler öğrenmeli gibi bir zorunluluğun olduğunu düşünmüyorum. Bugün bir edebiyatçı nasıl senelerce matematik gördüyse, bir yazılımcı nasıl tarih, coğrafya gördüyse aynı hesaptır. Günümüzde bu kadar önem verilen ve bu kadar ihtiyaç duyulan bir alanda temel bilgi birikiminin herkeste olması gerektiği kanaatindeyim.
Genç Yaşta Yazılım Öğrenmek ve Kariyer Seçimine Katkısı
Genç yaşta yazılım öğrenmek, daha bilinçli bir kariyer seçiminin yapılmasını da sağlar. Herkes nasıl matematikten hoşlanmayabiliyorsa, herkes yazılım geliştirmeden de hoşlanmayabilir. Üniversite öncesinde biraz bilinçlenme olması doğru kariyer tercihlerini oluşturabilir.
Üniversite eğitimleri sırasında ya da 30-40’lı yaşlarda meslek değiştirmek isteyenler hayli mevcut. Çünkü tercih ettikleri mesleklerin kendisine uygun olmadığını maalesef bu eğitimleri alıp bu yolda kariyerinde belli bir noktaya geldikten sonra insanlar fark ediyor.
10-15 sene önce üniversite sınavlarına girerken bölüm tercihleri çok daha körlemesine yapılıyordu. Bilgisayar mühendisliği seçip bundan hiç hoşlanmayanlar olduğu gibi, başka bir meslek dalını tercih edip sonra kariyerleri sırasında yazılım öğrenip bu yolda kariyerlerine devam etmeye çalışanların sayısı azımsanamayacak ölçüde. Daha erken yaşlarda sadece yazılım değil, ekonomi, hukuk gibi dallarda az da olsa bir eğitim almak, üniversite sınavlarında bölüm seçimleri için oldukça faydalı olur. Yazılım geliştirmeyi sevmediğini bir gencin bilgisayar mühendisliği bölümünü seçmeden önce öğrenmesi gerek. Herkes sevdiği meslekte nispeten daha başarılı olur. Sevmediği bir işte başarı şansı daha azdır.
Yazılım öğretmenin çocukları ve gençleri tek tipleştirdiği ve makinalaştırdığına yönelik bir eleştiri gördüm. Eleştiriye saygı duyuyorum, ancak katılmıyorum. Aksine, yazılım öğrenmek insanları problem çözmeye ve farklı bakış açılarını değerlendirmeye sevk eder. Bir problemi iki kişi aynı yöntemle çözmeyebilir, özellikle problemin karmaşıklığı arttıkça farklı yollarla aynı sonucu elde eden yazılmış kodlar bulabilirsiniz.
Herkes Yazılımcı mı Olacak?
Herkes yazılım eğitimi alınca yazılımcı olmayacak. Bir kısmı sevmeyecek ve vazgeçecek, bir kısmı okur yazarlık seviyesinde bilgi edinip kariyerinde bunu bir avantaja çevirecek.
Kurumsal şirketlerde biraz yazılım öğrenmiş, biraz elindeki yazılım araçlarını kullanabilen insanların yazılımcılarla beraber çalışması kesinlikle daha etkili sonuç veriyor. Yazılımcının iş süreçlerini bilmesi ve öğrenmesi daha iyi çözümler sunabilmesinde katkı sağlar. Aynı şekilde iş tarafında çalışan kişilerin de biraz olsun yazılım bilmesi, yaşadığı problemi daha iyi açıklayabilmesini sağlar. Farklı disiplinlerin birlikte iş yapabilmesi için birbiri hakkında biraz fikir sahibi olması her zaman bir kazanımdır. Yeter ki karşılıklı olarak birbirlerinin uzmanlıklarına saygıları olsun.
İkinci olarak aslında ara rollere de ihtiyaç bulunmakta. Yazılım geliştirme öğrenip bu alanda kariyer yapmak istemeyenler de Bilgi Teknolojileri departmanlarında iş analisti, proje yöneticisi, yönetişim / süreç yönetimi uzmanı, risk yönetim uzmanı, tedarikçi yöneticisi gibi bilgi teknolojilerini destekleyen genel yönetim işlerinde yer alıyor. Bu ara roller genelde pek sevilmiyor. Ancak iş önceliklendirme, işlerin yürütülmesi ve iletişimin doğru sağlanması gibi pek çok büyümenin ve kurumsallaşmanın gerektirdiği süreçlerde bu rollerin büyük katkısı bulunmaktadır.
Yazılım öğrenmenin problem çözme kabiliyetine olan katkısı yüksektir. Öğrendiğiniz yazılım dili ne olursa olsun, problemi bir algoritma oluşturarak çözüm arayıp, ardından bunu kullandığınız yazılım dilinde uygularsınız. Bu problem çözme yetkinliğini kendi iş alanınızda problem çözümlerken de kullanabilirsiniz. Kendimden örnek vermek isterim. Yazılım dersleri bana veri yapısını doğru tasarlamayı öğretti. Kendi iş hayatımda da uygulama şansı verdi. Karmaşık exceller arasında dönüp durmak yerine veri yapısını mümkün oldukça basit, anlaşılabilir, tekrar kullanılabilir ve tutarlı bir şekilde tasarlayarak uzun vadeli düşünebilmeyi öğretti. Hatta bu verileri anlamlı bilgilere dönüştürmek için Power BI gibi araçlar ve güvenilir kaynaklardan kıyaslama verileri ile birleştirip yönetim kadrosunun karar verme süreçlerine destek oluyorum. Bonus olarak, kendi blogumu oluşturmaya cesaret verdi (blog oluşturmak için kod yazmak gerekmiyor ama zaten yazılım bilmiyorum varsayımından kurtardı) ve temamda beğenmediğim kısımlara ufak css kodlar kullanarak değiştirme şansım oldu.
Diğer Eleştiriler
Yazılım öğrenmenin gençleri doğadan uzaklaştırdığı söyleniyor. Bu görüşe de maalesef katılmıyorum. Bizi doğadan uzaklaştıran aslında büyük ve kalabalık şehirlerde yaşamamızdır. Kurumsal şirkette çalışan bir yazılımcı ile aynı şirkette çalışan bir İK’cının arasında doğayla etkileşim konusunda bir farkı yoktur, ikisi de doğadan uzak plaza ortamında çalışır.
Yazılımcıların pek çok meslek grubuna göre ek bir şansı bulunmaktadır. Kendi evinden remote çalışabilen ya da kendi işini kurup bir hayalini maddiyata dönüştürebilen bir meslek grubudur. Pek çok meslek grubu gibi kurumsalda ya da devlette belli saat dilimleri arasında çalışma zorunluluğu bulunmamaktadır. Bu şekilde uzaktan çalışma modelini tercih eden yazılımcıların daha az kalabalık ve doğaya yakın bölgelere yerleşme şansı bulunmaktadır. Yeter ki internet bağlantısı iyi olsun.
Ek olarak yazılımın eğitim sisteminde varolması, diğer konularda da eğitim alınamayacağı anlamına gelmez. Bir Fen-Matematik öğrencisi lisede sadece fen ve matematik dersleri görmez. Türkçe, tarih ve coğrafya gibi temel alanıyla bağlantısı olmayan ya da zayıf olan dersleri de görür. Hatta üniversitede de bir mühendislik fakültesi öğrencisi psikoloji, sosyoloji ve tarih derslerini almaya devam eder. Tek yönlü eğitim zaten ülkemizde yer almamaktadır.
Yazılım Öğrenmek Sürekli Öğrenmedir
Bilgi Teknolojileri dünyasına gerek yazılım, gerek başka bir dalda giriş yapacak olanlara ufak bir uyarıda bulunmak isterim. IT’deki değişim ve dönüşümün hızını yakalamak gerçekten zor. Özellikle yazılım geliştirme alanında da bu geçerli.
Eğer hayattan beklentiniz, bir meslek edinmek, altın bilezik sahibi olup öğrenciliğe veda etmek ise maalesef bu mesleği seçerseniz çok büyük hayal kırıklığına uğrayacaksınız.
Bu mesleğin önemli bir gerçeği hayat boyu öğrenciliktir, sürekli öğrenmek ve sürekli kendinizi geliştirmek durumundasınız. Okumak, araştırmak bu işin en kritik boyutu. Sadece derste öğrenmek değil, öğrendiklerinizi mutlaka uygulamak, uygularken de araştırmak durumundasınız. Aksi takdirde çok hızlı unutacaksınız öğrendiklerinizi. Bir-iki hızlandırılmış yazılım kursuyla da maalesef yazılımcı olmayacaksınız, ya da haftada 5-10 saat zaman ayırarak bu kariyere geçiş yapamayacaksınız, çok zaman ayırmak gerekli. Öğrenme o kadar uzun sürüyor ki. Zamanında attığım bir tweet var, onu da hemen aşağıda paylaşayım. Bir kişi yazılımcı olmak isteyenler için öğrenmeleri gerekenleri haritalamış. Bu haritanın her geçen gün daha kompleksleştiğini de unutmamak gerek.
Bunları heves kırmak için yazmıyorum, bu süreçte başarılı olunmak isteniyorsa gerçekçi olmak gerek. Çok çalışmak gerekecek, hep çalışmak gerekecek. Ben kendim de kariyer hayatıma devam ederken denedim, ancak verebildiğim zaman ve enerjiyle sadece okur yazarlığım oldu. İş hayatım sebebiyle ayırabildiğim zaman kısıtlıydı. Normal bir yeteneğim vardı, özel bir yeteneğim yoktu. Bu sebepten bu şekilde bir kariyer yoluna devam etmeme tercihim oldu. Ama yine ilgimi çeken bir şey olursa, kullanmayacak bile olsam yine öğrenirim. Harcadığım tek bir saati bile kayıp olarak görmüyorum, hobi olarak keyif alıyorum.
Çok Yazılımcı Yetiştirmenin Faydası Olur Mu?
Yüksek eğitim kalitesi ve bu eğitimin hakkını verecek bir öğrenci kitlesi buluştuğunda neden olmasın? Bu bile tek başına yetmiyor aslında. Neden mi?
Hem kamu hem de özel şirketlerin de bu eğitilmiş kesimi istihdam edebilmesi, bu kişilerin kariyerlerini geliştirebilmesi için projelere dahil edilmesi ve öğrendiklerini kullanabilmesi için fırsat tanınması gerekli. Ek olarak kamunun ve özel şirketlerin girişim programlarını desteklemesi/desteklemeye devam etmesi de gereklidir.
Bordrolu çalışanlar için globaldeki maaş skalaları ve alım gücünün araştırılıp ülke şartlarına uygun olarak belirlenmesi gerek. İyi bir yazılımcıyı ucuza çalıştıramazsınız, faydasını göremeden elinizden kaçırırsınız. Ya şirketinizden ya da ülkenizden. Bu meslek sahipleri dünyanın her yerinde günümüzde çok değer görüyor ve çok ihtiyaç olduğu da farklı pek çok araştırma kuruluşu tarafından beyan ediliyor. Kurumsalda BT birimlerinde ciddi bir personel tutundurma sorunu var, aynı zamanda özellikle bu dalda önemli düzeyde bir beyin göçü var.
Eğitim kalitesini konuşurken sadece içerikten bahsetmemek gerekli. İçerik çok iyi olabilir, ancak herkese aynı eğitimi uygulamamak gerek. Kişilerin yetenekleri, istekleri ve ülkedeki ihtiyaçlarla örtüşen farklı kariyer yolları oluşturmak ve dikey uzmanlıklar bünyeye katmak gerekli.
Sonuç olarak kaç yazılımcı yetiştirdiğinizden ziyade, yazılımcılara ne kadar nitelikli bilgi birikimi edindirdiğiniz, onlara ne fırsatlar sağlayabildiğiniz ve bu birikimi nasıl kullanabildiğiniz önemli. Bunu sağlamadıktan sonra sayının önemi yok. Bunları sağlayabiliyorsak, ne kadar çok kişiye ulaşırsak o kadar avantajlıyız.
Yazılım Öğrenmek – Son Söz
Kendim yazılımcı değilim, ancak Bilgi Teknolojileri birimlerinde yönetimsel alanlarda beş senelik tecrübem var. Bu süreç içinde bilgi teknolojileri risklerini analiz ettiğimizde değişmeyen bir gerçek vardı. Bilgi teknolojileri alanında gerek yazılım geliştirme, gerek başka pozisyonlarda personel çekmek de tutundurmak da çok zor. Hem bu zorluk hem de şirketlerin bilgi teknolojileri bütçelerindeki kısıtlar sebebiyle ihtiyaçtan az sayıda insan çalışıyor, bu kaynaklar kritik kaynak olup ciddi bir risk yaratıyor.
Tüm bu gerçeği bildiğim için olabilecek her bu alandaki eğitim fırsatını ve bu alanda çalışmak isteyen insanı olumlu bir gelişme olarak görürüm. Ama nihai noktada kaynaklar ve emekler boşa gitmemeli, harcananların karşılığı alınmalıdır. Bu bağlamda ben de kendi görüşlerimi paylaşmak istedim. Umarım bu alanda kendini geliştirmek isteyenler için bir fikir sağlamış olurum.
Kendim de Bilgi Teknolojileri alanında eğitim tecrübelerimi vakit buldukça paylaşmaya çalışıyorum. Eğer ilginizi çekerse bu konularda yazılarımı okuyabilirsiniz. Baştan sona bu yazıyı okumak için emek verdiğinizden dolayı teşekkür ederim.