Berk Akademi kurucusu / Ticarify kurucu & yazılım ekibi lideri / Medyografya dijital strateji lideri
Yazılım öğretiminde asıl sorunun içerik eksikliği değil, öğrencinin hata anında yalnız bırakılması olduğunu söylüyor. Bu sayfada Berk Keskin’in yaklaşımını, Berk Akademi’nin Python kursu, Java kursu ve online yazılım kursu programlarını, sıfırdan yazılım öğrenme yol haritasını ve “mühendis zihniyeti” dediği öğretim yöntemini inceledik.
Berk Keskin, Berk Akademi’nin kurucusu ve aktif eğitmeni olan bir yazılım geliştiricidir. 14 yıllık yazılım deneyimi, 30’dan fazla sektörel proje ve 300’ü aşkın öğrenci deneyimi vardır. İzmir Ekonomi Üniversitesi Bilgisayar Programcılığı bölümünü bölüm birincisi olarak tamamlamış, bugün aynı üniversitenin Danışma Kurulu üyesidir.
Berk Akademi’nin çıkış noktası, yazılım öğrenenlerin takıldığı “Tutorial Hell” döngüsünü kırmaktır: kurs biter, sertifika alınır, ama gerçek bir hatayla karşılaşıldığında ne yapılacağı bilinmez. Buna karşı önerilen yaklaşım “mühendis zihniyeti”dir — ezber yerine problemi parçalara ayırma, mimariyi kurgulama ve inşa etme.
Programlar üç formatta sunulur: birebir özel ders (Python, Java, AP CSP), sekiz kişilik canlı grup dersleri (Django, Spring Boot, .NET) ve ücretsiz video ders (Sıfırdan Temel Python Kursu).
Berk Keskin’in eğitmenliği akademik bir kariyerin uzantısı değil; hâlâ üretim ortamında kod yazan birinin yaptığı bir iş. Bu ayrım göründüğünden önemli, çünkü anlatılan şeyin niteliğini doğrudan belirliyor: ders verdiği konuları aynı hafta içinde gerçek sistemlerde uyguluyor.
Yazılımla 12 yaşında tanıştı. İzmir Ekonomi Üniversitesi Bilgisayar Programcılığı bölümünü bölüm birincisi ve dört dönem yüksek şeref öğrencisi olarak tamamladı. Bugün aynı üniversitenin Danışma Kurulu üyesi olarak bölümün müfredatını sektör ihtiyaçlarına uyumlamak üzere çalışıyor — yani hem öğrencinin hem işverenin tarafını aynı anda görüyor.
14 yıllık yazılım deneyimi ve 30’dan fazla sektörel proje, Berk Akademi’de anlatılan konuların kitaptan değil sahadan gelmesini sağlıyor. Bir e-ticaret entegrasyonunun neden bozulduğunu, yüksek trafikte hangi sorgunun sistemi kilitlediğini ya da bir API’nin neden yavaşladığını anlatırken referansı teorik örnekler değil, kendi ekiplerinin çözdüğü gerçek olaylar.
Eğitmenlik tarafında 300’ü aşkın öğrenciye ders verdi; sosyal medya üzerinden ürettiği teknik içerikler 3 milyonun üzerinde erişime ulaştı. Ancak kendi vurguladığı ölçüt bu sayılar değil: bir öğrencinin, ders dışında kendi projesinde takıldığında ilerleyebilmesi.
Kurucu ve aktif eğitmen. Eğitim sistemini kendisi kuruyor ve yürütüyor.
Kurucu ve yazılım ekibi lideri. E-fatura, sipariş ve kargo takibi; binlerce siparişin anlık işlendiği API mimarisi.
Yazılım ekibi lideri. Yüksek trafikli oyun kontrol panelleri ve sunucu altyapıları.
Dijital strateji lideri. Kurumsal dijital çözüm ve ölçümleme danışmanlığı.
Danışma Kurulu üyesi. Bilgisayar Programcılığı müfredat güncellemesi.
Yazılıma başlayanların büyük bölümü aynı döngüye takılıyor. Kurslar izleniyor, sertifikalar alınıyor, ders içindeki her örnek çalışıyor. Sonra ilk gerçek hata çıkıyor ve ne yapılacağı bilinmiyor. Öğrenci kendini yetersiz hissediyor, çözüm üretmek yerine yeni bir kurs arıyor ve döngü başa sarıyor.
Berk Keskin bu döngünün sebebini içerik eksikliğinde aramıyor. İnternette fazlasıyla içerik var; eksik olan şey, hata anında devreye giren geri bildirim.
Bu tespitin pratik sonucu şu: bir eğitimin değeri anlattığı konu sayısıyla değil, öğrenci tıkandığında ne kadar hızlı müdahale ettiğiyle ölçülür. İçerik zaten bir emtia; kıt olan şey zamanında verilen doğru geri bildirim.
Kırılma noktası üçüncü adımdadır. Hata anında geri bildirim alınmadığında öğrenme değil, yalnızca ezber birikir — ve ezber, ilk beklenmedik durumda çöker.
Yapay zeka araçlarının yaygınlaşmasıyla “kod yazmayı öğrenmenin anlamı kaldı mı?” sorusu sık soruluyor. Berk Keskin’in cevabı net bir ayrım üzerine kurulu ve bu ayrım, bugün yazılım öğrenmeye başlayan herkesin çalışma planını doğrudan etkiliyor.
Bir döngünün nasıl yazıldığı, bir fonksiyonun taslağı, tekrar eden veri dönüşümleri, test iskeletleri, basit dönüştürme işleri. Bunlar yapay zekanın hızlandırdığı ve hata payının görece düşük olduğu alanlardır.
Bu alanlarda direnmek anlamsız — üretkenlik kazancı gerçek. Kimse artık bir for döngüsünün sözdizimini ezberlediği için işe alınmıyor.
Verinin nasıl modellendiği, hangi katmanın neyi bilmesi gerektiği, hangi işlemin eşzamanlı hangisinin kuyrukta çalışacağı, sistem on kat büyüdüğünde nerenin kırılacağı.
Bu kararların bedelini üretimde siz ödersiniz — dolayısıyla kararı da siz vermelisiniz. Yapay zekaya “bu doğru mu?” diye soramazsınız, çünkü doğrunun ne olduğunu tanımlayan bağlam sizde.
Bunun öğrenme planına yansıması şudur: sözdizimi ezberlemeye ayrılan süre azalmalı, üretilen kodu okuma ve denetleme becerisine ayrılan süre artmalıdır. Yapay zekanın ürettiği kodu değerlendiremeyen biri, aslında ne yazdığını bilmeden üretime kod göndermiş olur. Aynı ilke içerik tarafında da geçerli — bu konuyu yapay zeka ile içerik üretimi yazımızda ayrıca ele aldık.
Berk Akademi’nin öğretim yöntemi üç uygulama üzerine kurulu. Üçünün ortak noktası, öğrenciyi doğru cevabı okumaktan çıkarıp karar vermek zorunda bırakmak.
Öğrenciler yalnızca çalışan kodu okumaz. Sistemler kasten bozulur ve hatanın sebebini bulmaları istenir. Hata mesajını okumak, yığın izini takip etmek ve varsayımı test etmek ayrı birer beceri olarak çalışılır.
Amaç, hata mesajını korkutucu bir engel olmaktan çıkarıp bir bilgi kaynağına çevirmek.
Yazılan kod; bellek yönetimi, performans ve temiz kod prensipleri açısından kurumsal standartlarda incelenir. “Çalışıyor” cevabı sürecin sonu değil başlangıcı sayılır.
Çalışan kod ile iyi kod arasındaki farkı görmek, yeni bir framework öğrenmekten daha belirleyicidir.
Öğrenme canlı dersin ötesine uzanır: günlük algoritma görevleri, ödev takibi ve soru bankaları portal üzerinden yürür. Ders arasındaki günler boş geçmez.
“Tutorial Hell” döngüsünü kıran asıl unsur budur: haftada bir değil, sürekli temas.
Aşağıdaki iki kod da doğru sonucu üretir; ikisi de testten geçer. Aradaki fark kullanıcı sayısı arttığında ortaya çıkar: ilkinde her kullanıcı için ayrı bir veritabanı sorgusu çalışır, ikincisinde tek sorgu yeterlidir.
1.000 kullanıcıda birinci yaklaşım 1.000 sorgu, ikincisi 1 sorgu çalıştırır. Bu, literatürde N+1 sorgu problemi olarak bilinir ve yeni geliştiricilerin ürettiği kodda en sık yakalanan performans hatasıdır.
Bu örneğin öğrettiği şey sözdizimi değil: ölçeklendiğinde ne olacağını düşünmek. Kod incelemesi tam olarak bu alışkanlığı kurar.
# önce — her kullanıcı için ayrı sorgu
toplamlar = {}
for kullanici in kullanicilar:
satirlar = db.sorgula(
"SELECT tutar FROM siparisler WHERE user_id = ?",
kullanici.id) # 1000 kullanıcı = 1000 sorgu
toplamlar[kullanici.id] = sum(s.tutar for s in satirlar)
# sonra — tek sorgu, toplamayı veritabanı yapsın
idler = [k.id for k in kullanicilar]
satirlar = db.sorgula(
"SELECT user_id, SUM(tutar) AS toplam FROM siparisler "
"WHERE user_id IN (%s) GROUP BY user_id" % yer_tutucu(idler),
idler) # 1000 kullanıcı = 1 sorgu
toplamlar = {s.user_id: s.toplam for s in satirlar}
“Yazılım öğrenmek ne kadar sürer?” sorusunun tek cevabı yok, çünkü “öğrenmek” ile “iş yapabilmek” farklı eşikler. Aşağıdaki tablo, haftada 8–10 saat düzenli çalışan biri için gerçekçi bir ilerleme çizgisi sunuyor. Süreleri belirleyen şey toplam saat değil süreklilik: haftada 8 saat düzenli çalışan biri, iki ayda bir 40 saatlik maraton yapandan çok daha hızlı ilerler.
Çünkü işe alım eşiği “dil biliyorum” değil “bir sistemi baştan sona kurabiliyorum”dur. Bu da veritabanı, arayüz, dağıtım ve hata yönetimini birlikte görmeyi gerektirir — bunların hepsine dokunmak zaman alır.
Haftalık saati artırmak süreyi kısaltır ama doğrusal değil. Asıl hızlandırıcı, hata anında beklemeden geri bildirim almaktır: tek başına iki günde çözülen bir tıkanma, doğru soruyla on dakikada geçilebilir.
Tek başına belirleyici değil. İşverenin baktığı şey çalışan kod ve o kodun arkasındaki kararları savunabilme becerisidir. Sertifika bir kapı açabilir; içeride tutan şey portföydür.
Bu üç dil de Berk Akademi programlarında yer alıyor ve “hangisiyle başlamalıyım?” en sık gelen soru. Cevap dilin kalitesiyle değil, hedefle ilgilidir. Aşağıdaki tablo üçünü aynı kriterlerde karşılaştırıyor.
Pratik kural: amacınız “programlamayı öğrenmek” ise Python’dan başlayın; amacınız doğrudan kurumsal yazılım kariyeri ise Java’dan. Yanlış dil seçmek diye bir şey yok — ikinci dili öğrenmek birincisinin yarısı kadar sürer, çünkü asıl öğrendiğiniz şey dilin kendisi değil programlama mantığıdır.
Üç ayrı format sunuluyor ve aralarındaki fark yalnızca fiyat değil; öğrenme disiplinine ve hedefe göre değişiyor. Aşağıdaki tablo hangi yazılım kursu formatının kime uyduğunu karşılaştırıyor.
Piyasada yüzlerce online yazılım kursu var ve tanıtım metinlerinin çoğu birbirinin aynı. Ayrıştırıcı sorular tanıtımda yazmaz; sormanız gerekir.
Aşağıdaki sekiz kriter, hangi kurumu seçerseniz seçin sormaya değer. Cevapları net verilemiyorsa bu, tek başına bir cevaptır.
Yalnızca ders veren biri ile üretim ortamında çalışan biri aynı şeyi anlatmaz. Güncel sorunlar ancak sahadan gelir.
Bu tek soru, kursun gerçek değerini diğer hepsinden daha iyi gösterir. Cevap “forumdan sorabilirsiniz” ise dikkat edin.
Kod incelemesi olmayan bir eğitimde “çalışıyor” tek ölçüttür — bu da kötü alışkanlıkları pekiştirir.
Katılımcı sayısı arttıkça soru sorma imkânı düşer. 8 kişilik bir sınıfla 80 kişilik bir yayın aynı ürün değildir.
Herkese aynı sırayı uygulayan program, ileri seviyeyi sıkar başlangıç seviyesini boğar.
Öğrenme haftada iki saatte değil, aradaki günlerde olur. Görev, ödev ve takip yoksa süreklilik kırılır.
Sertifika değil, anlatılabilir bir proje. İş görüşmesinde savunacağınız şey odur.
Ücretsiz bir başlangıç kursu sunan kurum, ürününe güveniyor demektir — ve siz de uyumu ödemeden test edersiniz.
Bunların hiçbiri zekâ ya da yetenek meselesi değil; hepsi süreç hatası. Ve hepsi düzeltilebilir.
İzlerken her şey anlaşılır görünür. Tanımak ile yapabilmek farklı becerilerdir; ikincisi ancak klavye başında kazanılır. Kural basit: her ders sonrası aynı kodu kaynağa bakmadan yeniden yazın.
Hata mesajı çoğu zaman çözümü doğrudan söyler. Okumadan kopyalayıp aramak, sistemin size verdiği en net bilgiyi çöpe atmaktır.
Zorlandıkça “belki yanlış dil seçtim” diye başka dile geçmek ilerlemeyi sıfırlar. Zorluk dilden değil aşamadan gelir — ve her dilde aynı yerde çıkar.
Django ya da Spring Boot, temel kavramların üzerine kurulur. Temel eksikse framework sizi bir süre taşır, sonra ilk beklenmedik durumda bırakır.
Yapay zekanın ürettiği kod çoğu zaman çalışır — ama sizin bağlamınıza uygun olduğunu garanti etmez. Okuyup anlamadığınız hiçbir satırı projenize almayın.
Git’i “sonra öğrenirim” diyenler, ilk ciddi kaybı yaşadıklarında öğrenir. İlk günden itibaren kullanmak hem güvenlik hem profesyonel alışkanlıktır.
Yarım kalmış on proje, bitmiş bir projenin öğrettiğini öğretmez. Çünkü asıl zor kısımlar — dağıtım, hata yönetimi, kenar durumlar — hep sonda çıkar.
Yedi hatanın altısı geri bildirim eksikliğinden doğuyor. Yanlış yaptığınızı zamanında söyleyen biri varsa, bu hataların çoğu hiç oluşmadan kapanır.
“Mühendis zihniyeti” soyut bir slogan değil; ders içinde somut olarak farklı davranmak anlamına geliyor. Aşağıdaki tablo iki yaklaşımın aynı durumda ne yaptığını karşılaştırıyor.
“Öğrenemeyen öğrenci yoktur; sadece yanlış bir sistemin içine hapsedilmiş, geri bildirim almadan tek başına bırakılmış öğrenci vardır.”
— Berk Keskin
Medyografya olarak Berk Keskin’le dijital strateji tarafında birlikte çalışıyoruz ve yazılım bilgisinin farkını en net iki noktada görüyoruz: ölçüm ve otomasyon.
Bir e-ticaret sitesinde binlerce ürün sayfasının yapısal veri işaretlemesini elle kontrol etmek pratikte imkânsızdır. Aynı işi bir betikle taramak birkaç dakika sürer. Aradaki fark bilgi farkı değil; o bilginin kod yazabilen biri tarafından uygulanmasıdır.
Ölçüm tarafında da aynısı geçerli. Piksel kurulumunun doğru olup olmadığını, dönüşüm olaylarının mükerrer sayılıp sayılmadığını ya da sayfayı yavaşlatan asıl kaynağı bulmak teknik bakış gerektirir — panelde görünen sayıya bakarak anlaşılmaz. Bu konuları Meta Pixel ve Conversion API kurulumu, GA4 analizi ve veri analizi metrikleri yazılarımızda ayrıntılı ele aldık.
Site performansı da doğrudan teknik bir konu: Core Web Vitals değerlerini iyileştirmek, hızlı bir web sitesi kurmak ve güvenlik katmanını doğru yapılandırmak pazarlama değil mühendislik işidir. Aynı şekilde e-ticaret altyapısı kurarken alınan teknik kararlar, sonraki iki yılın maliyetini belirler.
Yapay zeka aramalarına hazırlık da benzer biçimde teknik bir iş — GEO optimizasyonu ve yapay zeka destekli müşteri hizmetleri tarafında da aynı ilke geçerli.
Aklınızdaki soru burada yoksa WhatsApp veya telefon ile ulaşabilirsiniz.
Soru SorBerk Keskin, Berk Akademi’nin kurucusu ve aktif eğitmeni olan bir yazılım geliştiricidir. Yazılımla 12 yaşında tanışmış, İzmir Ekonomi Üniversitesi Bilgisayar Programcılığı bölümünü bölüm birincisi ve dört dönem yüksek şeref öğrencisi olarak tamamlamıştır. 14 yıllık yazılım deneyimi ve 30’dan fazla sektörel proje deneyimi bulunuyor.
Eğitmenliğin yanı sıra Ticarify’ın kurucusu ve yazılım ekibi lideri, Siberdizayn’da yazılım ekibi lideri, Medyografya’da dijital strateji lideri ve İzmir Ekonomi Üniversitesi Danışma Kurulu üyesidir. Yani ders verdiği konuları aynı dönemde üretim ortamında da uygulamaktadır.
Berk Akademi üç formatta program sunuyor:
Üç formatın ortak paydası, ezber yerine problem çözme becerisi kazandırmayı hedefleyen “mühendis zihniyeti” yaklaşımıdır.
Tutorial Hell, yazılıma başlayanların sıkça düştüğü bir döngüdür: kurslar bitirilir, sertifikalar alınır, ders içindeki her örnek çalışır. Ancak öğrenci kendi projesinde ilk gerçek hatayla karşılaştığında ne yapacağını bilemez ve çözüm üretmek yerine yeni bir kurs aramaya başlar.
Sebep içerik eksikliği değildir — internette fazlasıyla içerik vardır. Sebep, öğrencinin hata anında yalnız bırakılması ve aynı müfredatın seviye farkı gözetilmeden herkese uygulanmasıdır. Döngüyü kıran şey yeni bir kurs değil, hata anında alınan geri bildirimdir.
Kodlamayı ezber değil; problemi parçalara ayırma, mimariyi kurgulama ve inşa etme süreci olarak görmeyi ifade eder. Pratikte üç davranışa dönüşür: hata çıktığında doğru kodu kopyalamak yerine sebebini bulmak, kod çalıştığında durmayıp performans ve okunabilirlik açısından incelemek, ve bir çözümü uygularken sistem büyüdüğünde ne olacağını düşünmek.
Yapay zeka bağlamında kritik bir ayrım yapılır: yapay zeka iyi bir kod yazıcısıdır ama mimari bir karar verici değildir. Kodu yapay zeka yazabilir; sistemin nasıl kurulacağına karar vermek geliştiricinin sorumluluğundadır.
Hedefe bağlıdır. Python, sözdiziminin sadeliği nedeniyle programlama mantığını öğrenmek için en düşük giriş engelini sunar; veri analizi, otomasyon, yapay zeka ve web tarafında yaygındır. İlk çalışan projeyi en hızlı buradan çıkarırsınız.
Java ise nesne yönelimli programlama disiplinini daha katı biçimde öğretir. Kurumsal yazılım, büyük ölçekli sistem mimarisi ve Android hedefleyenler için doğru başlangıçtır; öğrenme eğrisi daha diktir ama mimari düşünmeyi baştan zorunlu kılar.
Kararsızsanız pratik kural şudur: amacınız “programlamayı öğrenmek” ise Python, amacınız doğrudan kurumsal yazılım kariyeri ise Java.
Belirleyici olan bütçe değil, öğrenme disiplini ve geçmiş denemelerdir.
Dürüst cevap: “kurs bitirme” ile “iş yapabilme” farklı sürelerdir. Düzenli çalışmayla (haftada 8–10 saat) temel sözdizimi ve programlama mantığı 1–2 ayda oturur, ilk çalışan proje 3–4 ay içinde çıkar, işe alınabilir düzeyde bir portföy ise genellikle 8–12 ayı bulur.
Süreyi asıl belirleyen toplam saat değil, sürekliliktir. Haftada 8 saat düzenli çalışan biri, iki ayda bir 40 saatlik maraton yapan birinden çok daha hızlı ilerler; çünkü öğrenme geri bildirim döngüsünün sıklığına bağlıdır.
Var, ancak öğrenilmesi gereken şeyin ağırlığı değişti. Yapay zeka sözdizimini ve tekrar eden kod bloklarını üretmede çok iyidir; bu yüzden “ezberden sözdizimi bilmek” eskisi kadar değerli değildir.
Buna karşılık üretilen kodun doğru olup olmadığını değerlendirmek, hangi mimarinin seçileceğine karar vermek ve sistem büyüdüğünde nerenin kırılacağını öngörmek insana ait kalmaya devam ediyor. Yapay zekanın ürettiği kodu denetleyemeyen biri, aslında ne yazdığını bilmeden üretime kod göndermiş olur — bu yüzden temel bilgi artık daha da kritik.
Çünkü çalışan kod ile iyi kod aynı şey değildir. Bir döngü içinde her kayıt için ayrı veritabanı sorgusu atmak da doğru sonucu üretir, tek sorguyla toplamak da — ama biri 1.000 kullanıcıda 1.000 sorgu çalıştırır, diğeri 1 sorgu.
Kod incelemesi; bellek yönetimi, performans ve temiz kod prensipleri açısından yazılanı kurumsal standartlarda değerlendirir. Bu farkı görmeyi öğrenmek, yeni bir framework öğrenmekten daha belirleyicidir; çünkü aradaki fark üretimde fatura olarak geri döner.
Bu inceleme, Berk Keskin’in Berk Akademi üzerinde yayımladığı profil ve program bilgileri temel alınarak Medyografya editör ekibi tarafından hazırlanmıştır. Program içerikleri ve güncel koşullar için berkakademi.com adresindeki resmî bilgiler esastır. Yol haritası, dil karşılaştırması ve kurs seçim kriterleri bölümleri Medyografya teknik ekibinin kendi değerlendirmesini yansıtır.
Ücretsiz Sıfırdan Temel Python Kursu ile başlayıp, hedefinize göre birebir özel derse veya sekiz kişilik canlı grup programına geçebilirsiniz. Programların tamamı Berk Akademi üzerinden yürütülüyor.
Medyografya’nın dijital hizmetleri için hizmetler sayfasına bakabilirsiniz.
Ücretsiz analiz görüşmesinde markanız için neler yapabileceğimizi konuşalım. Hiçbir taahhüt yok.