Erkin Ünlü

Software Engineer

“Kodlama” eğitimleri dertlerimize çare olur mu?

Posted on May 21, 2020

Scala

Geçen aylarda Twitter’da BMO’nun kodlama eğitimleri üzerine yaptığı açıklamaya dair hararetli tartışmalar yapıldı: http://www.bmo.org.tr/2018/07/04/bilgisayar-muhendisligi-kodlamaya-algoritmaya-indirgenemez/. Pek kimsenin varlığından haberdar olmadığı Bilgisayar Mühendisleri Odası, kodlama eğitimlerine karşı çıkan bir eleştiri kaleme almış. Başlarda pek dikkat etmedim ama bir süre sonra bir çok meslektaşımın bu konu hakkında yazdığını görünce yapılan açıklamayı dikkatle okudum. Bu tarz lonca tipi meslek örgütlenmelerinin başarısı hakkında pek bir fikrim yok ama yapılan açıklamayı incelediğimde en azından yazıyı kaleme alan kişi yada kişilerin bu konuda yeterli bilgiye sahip olduğunu gördüm.


Linki okumayanlar için özetlemem gerekirse, ülkemizde son zamanlarda büyüyen bir furya haline gelen “kodlama” eğitimlerine eleştiriler yapılmış. Ben açıkcası bu “kodlama” deyimini oldukça kaba bulsam da, ülkemiz açısından önemli bir tartışma konusu olduğunu düşünüyorum. Sonuçta yazılım gün sonunda bütün dünyada tartışılan, “aman yapay zeka bizi kesecek mi?”, “yazılım otomasyonu bütün mavi yaka işleri çalacak mı?” şeklinde sorularla insanları meşgul eden önemli bir gelişim ve tartışma konusu.

Prolog

Anladığım kadarıyla bardağı taşıran damla, YÖK tarafından bu tarz eğitimler verileceğinin duyurulması olmuş. Görünen o ki bu duyurunun ardından BMO’da birilerinin şalterleri atmış ve bu duyurunun yapılmasına karar verilmiş. Merak edenler YÖK açıklamasına buradan erişebilirler => http://www.yok.gov.tr/web/guest/genclere-ucretsiz-kodlama-egitimi . Dürüst olmak gerekirse açıklamayı okuduğumda olumlu bulduğumu söylemeliyim. Üniversitelerin analitik yetenekleri geliştiren bölümlerinden mezun insanlara, gene ilgili üniversite bölümlerinde çalışan akademik personel tarafıdnan eğitim verileceği duyurulmuş. Bu gayet mantıklı bir hareket çünkü zaten piyasada bir çok “alaylı” dediğimiz meslektaşımız mevcut. Bu insanların daha formel bir eğitim almasında hiç bir sakınca olmadığı gibi bir matematik mühendisinin iyi bir programcı olmasına da bir engel yok(hatta daha iyi programcı olabilirler). Bu konuyu ileride açacağım.

C

BMO, kendisinden beklenen biçimde bilgisayar mühendisliğinin kutsal bir meslek olduğunu, bir mühendisin kolay yetişmediğini, üniversitelerin halinin berbat olduğunu, piyasada zaten yeterince iş bulunmadığını, yaptığımız işin zaten çok zor olduğunu, bir çok mezunun zor şartlar altında ve bölümüyle ilgisi olmayan işler yapmak zorunda kaldığını vurgulamış duyurusunda. Bir taksiciye de sorsanız benzer şeyleri işitebilirsiniz.

Bir mühendisin kolay yetişmediğinin ve üniversitelerin halinin berbat olduğuna katılıyorum. Dört (buçuk:)) sene boyunca bir çok farklı matematik, elektronik ve bilgisayar dersine katılmakla, bunların pek düşünülmemiş ders programına ayak uydurmakla, acımasız ödevlerini yapmakla, anlamsız sınavlarını geçmekle uğraştım. İTÜ’de okumama rağmen, genellikle açık bulabileceğimiz bir bilgisayar laboratuvarımız dahi yoktu. Bilgisayar kulubü işlevsizdi, zaten kulubün nerede olduğunu da bilen yoktu. Son sınıfta aldığım derslerden birine, dersin hocası 7–8 hafta kadar devamsızlık yaptı. Bölümün önemli bir hocası şimdi olsa cinsel tacizden mesleğini erkenden bırakmak zorunda kalırdı. Daha bunun gibi bir çok şey yazabilirim. Konuyu dağıtmamak için burada bırakıyorum.

ITU

ama asırlardır çağdaş he

Peki aldığımız eğitimin kalitesi ve mühendisliğin gerçeklerine uyumu nasıldı? Öncelikle belirteyim ki hocalarımın çoğu iyi niyetli insanlardı ve bize ellerinden geldiği kadarıyla iyi bir eğitim vermeye çalıştılar. Ama 80 kişilik sınıflarda 2 saat içerisinde öğrenciye ulaşmak pek kolay değil. Ayrıca bölümde okutulan dersler uzun yılların araştırmasından damıtılarak bir araya getirilen konular. Dolayısıyla ne yazık ki güncel olma şansları pek yok. Okuldan çıkar çıkmaz öğrendiğiniz bir kısım bilginin son kullanma tarihi geçmiş oluyor bile. Bölümümüz hocalarından Turgut Uyar (ünlü şairin oğlu) bir son sınıf dersinde, mezun olur olmaz öğrenmeye tekrardan başlamamız gerektiğini anlatmıştı(bilgimi sürekli olarak güncel tutma ve geliştirme konusunda kendisinin(ve kimya doçenti annemin) olumlu katkısını gözardı edemem). Yine de bazı temel derslerin katkısı kesinlikle yadsınamaz. Veri yapılarını, işletim sistemlerini, bilgisayar mimarisini, programlamanın temelini öğrenmeden gerçekten kaliteli bir programcı olamazsınız(gerekli koşuldur ama yeterli değildir). Peki bunları öğrenmenin tek yeri üniversite midir? Ve üniversitede öğrenilen kadarı yeterli midir? Örneğin işletim sistemleri üzerine çalışacak bir mühendis için bu bilgiler sadece giriş anlamında değerli olabilir. İşe başladığınız anda bilgi bombardımanına tutulursunuz. Söz konusu deneyiminiz esasında muhtemelen okulda öğrendiğinizden fazlasını öğrenirsiniz. Öğrenmek zorundasınız.

Haskell

Şu güzelliğe bakar mısınız?

Peki BMO’nun dediği gibi bir işsizlik sorunu var mı? Çevreme bakarak cevap vermem gerekirse hayır derim. Hatta bir çok meslektaşım çok fazla zorlanmadan yurtdışında iş bulup Türkiye’den ayrıldı. Ama BMO madalyonun diğer yüzünü görüyor olabilir: bahsettiğim meslektaşlarım genellikle Türkiye’deki en iyi üniversitelerin mezunları. Daha ortalama bir üniversiteden mezun olduğunuzda muhtemelen şansınız üstel olarak azalacaktır. Hızlı bir internet araması yaptığımızda ilginç sonuçlarla karşılaşıyoruz. Örneğin alttaki tabloyu İşkur’un sitesinden aldım (http://www.iskur.gov.tr/TabId/763/ArtMID/1707/ArticleID/750/Mezun-Olunan-B246l252mlere-G246re-%C4%B0%C5%9Fsizlik-Oranlar%C4%B1.aspx), TÜİK’in 2016 istihdam sonuçları üzerine derlenmiş. Sonuç pek iç açıcı değil, bilişim ve iletişim teknolojilerinde %17lik bir işsizlik oranı görünüyor. Benzer bir habere şuradan da ulaşılabilir: http://teknoyo.com/issiz-bilgisayar-muhendisleri-artiyor/. Dolayısıyla BMO’ya bu konuda belki de kulak kabartmakta fayda olabilir. (gençler iş beğenmiyor diyenleri döverim)

BMO

Öneriye gel:)

Yaptığımız iş zor mu? Evet zor. Henüz emekleme devresinde bir meslek dalı programcılık. Örnek vermek için iki mühendislik dalı olan İnşaat ve Bilgisayarı ele alalım. İnşaat(terimin İngilizcesi Civil Engineering, konunun ne kadar köklü olduğunu göstermesi açısından anlamlıdır) neredeyse tarım devriminden beri insanların yaptığı ve yapmak zorunda olduğu bir çalışma. Peki bilgisayarlar? Biz daha çok yeniyiz: Alan Turing kendi adıyla anılan makinasını 1930'larda tasarladığında ortada fiziksel bir bilgisayar dahi yoktu (Alan Turing bile başlangıçta programlarını bir “insanın” hesaplayacağını düşünüyordu, bu yüzden terime “Computer” yani hesaplayıcı demiştir). Sonuç olarak bu meslek belki bazılarımızın dedelerinden bile genç ve gelişiyor. Bu durum da bazı insanların bilgisayarları cadı kazanı, bulut, çer çöp vs gibi görmelerine sebep oluyor.

Vizyon

Bu bilgisizlik de hem bizim ne yaptığımızı pek bilmediğimiz hem de insanların bizden ne beklemesi gerektiğini bilmedikleri anlamına geliyor. Dolayısıyla hatalar, sistem çökmeleri, güvenlik açıkları, sürdürülemez karmaşıklıklar, acımasız teslim tarihleri ortalığı dolduruyor. Bunun üzerine Türkiye’ye özgü “XYZ beyin şu şu tarihe kadar kesin teslim beklentisi var” şeklindeki otoriter yaklaşımları eklenince iş bazen içinden çıkılmaz bir hale gelebiliyor. Peki BMO’nun bahsettiği Türkiye’deki çalışma şartlarının kötülüğü hakkında ne demeliyiz? O Türkiye’nin genel kötülüğü arkadaşlar ve siyasetin konusu. Yoksa biraz düşünürseniz, daha Türkiye’de insan olmanın zor olduğunu görebilirsiniz.

Peki “kodlama” eğitimi gerçekten gerekli midir? Bir kere kodlama eğitimi denmesi beni rahatsız ediyor, daha doğrusu Temel Programlama Eğitimi olacaktır. Peki böyle bir eğitimi vermenin zararı var mıdır? Kesinlikle yoktur, nasıl ki İngilizce kursu açmanın kimseye zararı yoksa, bunun da yok. Sonuçta bir İngilizce kursu sertifikası edindiğinizde İngiliz Dili ve Edebiyatı diploması almış olmuyorsanız, bu da aynı şekilde. Peki dertlerimize çare olur mu? Dertlerimizin ne olduğuna göre değişir. Asıl amaç gelişen bilgisayar bilimleri sektörlerinde şansını denemek isteyen insanlara katkı sağlamaksa, çare olur. Ama amaç programlama mesleklerine Türkiye şartlarına görece ödenen yüksek ücretleri düşürmekse, başarılı olamaz. Bir uçak bileti alıp dünyanın diğer ucuna yerleşebildiğiniz bir dönemde insanları düşük ücretlere mahkum edemezsiniz, dolayısıyla beyhude bir çaba olur.

Python

Peki amaç Türkiye’nin gelişen çağa ve teknolojiye ayak uydurması, ve yazılım üreten, ihraç eden bir ülke haline gelmesi midir? Bu bence uzun vadede ulaşılması daha önemli bir hedef. Şu anda bu hedefe “kodlama” eğitimleri vererek ulaşabilir miyiz? Bu konuda pek umutlu değilim. Elindeki nitelikli insan gücünün her gün ülkeden nasıl kaçarım diye düşündüğü bir ortamda bunu başaramazsınız. Acaba siyasi/dini görüşlerimden ötürü başıma bir şey gelir mi diye düşünen insanların arasında, başaramazsınız. PİSA sonuçlarında okuduğunu anlamada ve matematikte sonuncu olan çocuklarla, başaramazsınız. Kaldı ki yazılım üretmek, yazılım ihracının gerekli koşulu ama yeter koşulu değil. Dünya’ya açık olmanız, dil bilmeniz ve belirli bir uluslararası burjuvaziye sahip olmanız gerekiyor. Bunlar bugun Türkiye’de ne kadar var? Dahası yarın ne kadar olacak?

Java

Unutursak yüreğimiz kurusun

Peki biz ne yapmalıyız? “Kodlama” eğitimlerine devam edelim, sorun değil. Alaylı programcılar hali hazırda çalıştığına göre, neden olmasın? Diğer yandan yukarıda değindiğim PİSA, okuduğunu anlama, matematik gibi alanlarda gençliğimizi yetiştirmemiz gerekir, ki bu orta ve uzun vadeli hedeflerdir. Eleştirel, analitik düşünceyi, bilgisayar okur yazarlığını ve önemini ve doğru bilgiye nasıl ulaşılacağını öğrenmeli ve öğretmeliyiz. Bu daha da uzun vadeli bir hedeftir. Özgürlük nedir? Öğretmeliyiz. Bu ise belki de en uzun vadeli hedefimiz olmalıdır.

Sevgiler.