27 puan yazan GN⁺ 2025-11-30 | 1 yorum | WhatsApp'ta paylaş
  • Aylar boyunca korku yüzünden yazmayı ve çevrimiçi etkinliklerini durdurmuş bir geliştirici, öz sansürü bırakıp bugüne kadar kabullenemediği teknik ve kişisel eksiklerini itiraf ediyor
  • Polimorfizm (polymorphism) kavramını 10 yıldan uzun süre anlayamadığını, SQL becerilerini kaybettiğini ve kodlarının büyük bölümünü otomatik test olmadan yayına aldığını kabul ediyor
  • Şirketin teknoloji yığını değişimine ayak uydurmaya çalışırken C# ve Blazor öğrenimini yarıda bırakması, hâlâ Ruby’yi sevmesine rağmen onu profesyonel olarak kullanamaması ve yöneticileriyle ekip arkadaşlarının blogunu okumasının yarattığı psikolojik baskı
  • Yapay zeka ile yazılmış bir PR gönderdikten sonra siber zorbalığa uğrama deneyimi, uzaktan çalışmaya dair dürüst duyguları ve kurum içindeki özel geliştirme süreçlerinin gereksizliği hakkında açık görüşleri
  • Korkuyu geride bırakıp artık öz sansür uygulamadan sürekli öğrenmeyi ve açıkça yazmayı sürdüreceğine dair bir kararlılıkla bitiyor

Başlangıç: Korkuyu ve öz sansürü bırakmaya karar vermeme ne sebep oldu

  • Nisan’dan sonra korkunun çok büyüdüğü ve yazı yayımlayamadığım bir dönem oldu; sosyal medya, haber toplayıcılar ve forumların hepsini bırakmıştım
    • Bu hâli daha fazla sürdüremeyeceğimi hissedip korkunun ötesine geçerek yeniden yazmaya karar verdim
  • Zayıf temellerimi göstermek istemediğim için bunları sıkıca sakladım, ama aslında birçok geliştiricinin benzer bilgi boşluklarıyla çalıştığını görmeye başladım
    • O güne kadarki öğrenme biçimim, yalnızca kullanılan alanın aşırı büyüdüğü bir slime mold gibiydi; kullanılmayan bilgi ise olduğu yerde kuruyup kalmıştı
  • Son dönemde temelleri yeniden doldurmaya başladım ve öğrendiklerimi yazarak, anlatarak yeniden kurarken “bilmiyorum” demeyi hafifçe kabullenme hissi yerleşmeye başladı
  • Temellerin yeniden öğrenilebileceğini bizzat hissedince, artık geç kalmış sayılmayacağına dair bir güven oluştu

Polimorfizmi 10 yıldan uzun süre anlayamadığım dönem

  • 2012’den beri nesne yönelimli kod yazdığımı sanıyordum, ama yakın zamana, hatta yaklaşık bir yıl öncesine kadar polimorfizmi gerçekten anlamadığımı kendi kendime kabul ettim
    • Şimdiye kadar yazdığım kodun nesne yönelimliden çok yapısal programlamaya daha yakın olduğu gerçeğiyle yüzleştim
    • Koşul ifadelerini sınıflarla değiştirerek tasarımı dönüştürme fikrini daha önce hiç düşünmemiştim
  • Sandi Metz’in yazılarını ve Martin Fowler’ın kaynaklarını okuyunca kavramı geç de olsa anladım; bu süreçte kaçırdığım şeylerin ne kadar çok olduğu da netleşti
  • Bunu açığa vurmanın zor olmasının nedeni

    • İşe alım mülakatlarında nesne yönelimli kavramları değerlendiren kişi rolünü üstlenmiş birinin aslında polimorfizmi bilmediğini ortaya koyması çok ağır geliyordu
    • Kariyerimin başında ilkelerden çok araç odaklı öğrenmeye kaymış olmam doğrudan görünür hâle geliyordu; ayrıca CS mezunu olmamam nedeniyle kaçırdığım temel konuların çokluğu ile yüzleşmek kolay değildi
Reklam

SQL’i unutma deneyimi

  • Geçmişte SQL kitaplarındaki alıştırmaları çözerek JOIN ve alt sorguları rahatça yazabildiğim bir dönem gerçekten vardı
  • Ön uç ağırlıklı işlerin sürmesi ve SQL kullanma ihtiyacının tamamen ortadan kalkmasıyla, bir noktada bütün bir becerinin zihnimden silinmiş olduğunu fark ettim
    • Temel sorgular aklıma geliyor ama left join ile outer join arasındaki farkı açıklamak için yeniden dokümantasyona bakmam gereken bir duruma gelmiştim
  • Bunu kabul etmenin zor olmasının nedeni

    • Gençken, yıllar geçse bile bilgi ve becerilerin küçük bir ipucuyla yeniden canlanabileceğine dair bir hafıza gücüne sahip olduğuma inanıyordum
    • Artık bunun aynı şekilde sürmediğini hissediyorum; üstelik hafızamdan ilk tamamen silinen becerinin SQL olması bana özellikle çarpıcı geldi
    • Yaş almayı ve belleğin değişen akışını kamusal olarak yazmak kolay değildi

Otomatik test olmadan geliştirmiş olmanın gerçeği

  • Şimdiye kadar yayına alınmış kodlarımın %95’ten fazlasının otomatik test olmadan çalıştığını kendime itiraf ettim
    • Kariyerimin başlarında test kavramıyla hiç karşılaşmamıştım; Ember döneminde de test araçlarını düzgün kullanmak zordu
  • Son zamanlarda daha çok legacy kodla uğraştığım için kodu test edilebilir hâle getirecek hazırlık işlerine yeterince zaman ayıramadım
    • Yalnızca yeni oluşturulan alt sistemlerde teste yer verebildim
  • Bunu açığa vurmanın zor olmasının nedeni

    • Bu itiraf, kariyerim açısından en yıkıcı gerçek gibi hissettirecek kadar ağırdı
    • Uncle Bob’un ölçütlerine göre test olmadan çalışan kod, etik dışı sayılabilecek bir tutum olarak görülebilir; bu ölçüt ile kendi gerçeğim arasındaki farkla yüzleşmek korkutucuydu
    • Bunun ortaya çıkmasının işe alım süreçlerinde aleyhime yorumlanma ihtimalini büyüttüğünü düşündüğüm için öğrenme sürecimi kaydetmeyi bile erteledim
Reklam

Blazor’u neden öğrenemedim

  • Şirket Angular’dan Blazor’a geçmeye karar verdiğinde, ekipte C# deneyimi olmayan tek kişi bendim; bu yüzden hızla yetişmek için çalışmaya başlamıştım
  • Birkaç ay sonra geçiş kararı geri çekilince, öğrenme motivasyonum tamamen kayboldu; kitabı da bitiremeden bıraktım
  • Zaten C# ya da .NET, yan projelerimde kullanmak istediğim diller değildi; bunu yalnızca iş için öğrendiğim gerçeği de açıkça ortaya çıktı
  • Bunu yazmanın zor olmasının nedeni

    • Önceki bir yazıda devam yazısı yazacağıma açıkça söz vermiştim; o sözü tutamadan başka şeyler yazmak gittikçe daha rahatsız edici gelmeye başladı
    • Blazor hakkındaki yazı yüksek görüntülenme aldığı için, yön değiştirdiğimi kabul etmenin bir yenilgi gibi görüneceğinden korktum

Ruby’yi daha çok kullanma isteği

  • Ruby hâlâ benim için en rahat ve en keyifli dil; örneklerde, open source’ta, kata’larda ve hackathon’larda elim doğal olarak ona gidiyor
  • Ancak 2013’ten beri Ruby ile maaş aldığım tek bir iş bile olmadı; işte ise TypeScript gibi diller kullanıyorum
  • Birlikte çalıştığım insanları birçok şirkette çok sevdiğim için, insanları seçerken dili taviz konusu yapmak zorunda kaldım
  • Mesai sonrası ve hafta sonu vaktimi Ruby’ye ayırmak istiyorum, ama başka sorumluluklar ve öğrenme hedefleri yüzünden Ruby’ye yeterince zaman ayırabildiğim anlar çok az
  • Bunu açıklamanın zor olmasının nedeni

    • Müdürüm ve CTO bu blogu okuyor; Ruby’yi daha çok kullanmak istediğimi söylemenin işten ayrılma sinyali gibi okunmasından korkuyordum
    • Şirkette alışılmadık bir dili zorla dayatmaya çalışan biri gibi görünmek de istemiyordum

Yetişkin olunca da can yakan siber zorbalık deneyimi

  • Bir open source projeye LLM ile hazırlanmış küçük bir yama gönderdikten ve bu deneyimi çevrimiçi bir forumda paylaştıktan sonra,
    yetersiz, iğrenç, tehditkâr gibi kişisel saldırıların patlama hâlinde üzerime geldiği bir durum yaşadım
  • Bu saldırılar siteyi aşarak başka web sitelerine, e-postaya, SMS’e ve telefona kadar uzandı; gerçekten güvende olmadığımı hissettim
  • Forum yöneticilerinden gerçek adımı kaldırmalarını istedim ama bunun yerine profilime daha fazla PII eklendi ve
    dışarıdan gelen iletişimlerle ilgili yalan uydurduğuma dair asılsız bir ifade kalıcı biçimde profilime işlendi
  • Sonunda hesabımı devre dışı bırakıp siteden ayrılmaktan başka çarem kalmadı
  • Bunu yazmanın zor olmasının nedeni

    • Günlerce süren bu zorbalık, hayatımda yaşadığım en zehirli çevrimiçi deneyimdi ve etkisi hâlâ sürüyor
    • Bunu anlatırsam saldırganların yeniden beni bulabileceğine dair korku devam ediyor
    • Profilimde kalan yanlış bilgilerin istihdamımı olumsuz etkileyebileceği ihtimali de konuşmayı daha da zorlaştırdı
Reklam

SaaS ekiplerinin ‘özel süreçlere’ ihtiyacı olmadığını düşünmem

  • Yazılım sektöründe onlarca yıl içinde rafine edilmiş süreçler zaten var;
    Agile, Lean, Kanban ve XP gibi yaklaşımlar zaten doğrulanmış yapılar olarak mevcut
  • Şirketin sınırlı kapasitesini yeni süreç icat etmeye değil ürün geliştirmeye odaklaması gerektiği düşüncesi bende doğal biçimde yer etti
  • Bunu söylemenin zor olmasının nedeni

    • Yazarken her zaman iyi bildiğim konulara dayanma alışkanlığım var ve bu durumda çıkış noktası, aynı şirketteki bir çalışma arkadaşının önerdiği özel bir yazılım geliştirme süreci olmuştu
      • Bunun belirli bir çalışma arkadaşını ya da onun fikrini kamu önünde eleştiriyormuş gibi görünme riski taşıdığını hissettim
    • Kent Beck ve Martin Fowler gibi isimlerin, daha iyi işbirliği yollarını anlatırken aynı anda hata yapan iş arkadaşlarını doğrudan hedef almayan yazı yazabilme becerisine hayranım
      • Benimse henüz o dengeyi kuracak kadar iyi olmadığımı düşündüğüm için yazmakta tereddüt ettim

Uzaktan çalışmanın gerçek işbirliğini engelleme biçimi

  • Uzaktan çalışma birçok sorunu çözüyor ama yazılım geliştirmenin bizzat aynı fiziksel ortamda daha iyi aktığı hissini üzerimden atamıyorum
  • Görüntülü görüşmeler düşük bant genişlikli, düşük duyusal iletişim biçimleri; çevresel farkındalık kaybolduğu için ekip arkadaşlarının zorlandığı anları yakalamak zorlaşıyor
  • Yardım istemek de daha büyük bir yük hâline geliyor; beyaz tahta ve yapışkan notlar gibi mekânsal düşünme araçları çevrimiçi araçlarda kolayca dağılıyor
  • Çatışmalar, monitördeki insana düşman imgesi yüklemenin kolay olması nedeniyle daha hızlı tırmanıyor
  • Bunu yazmanın zor olmasının nedeni

    • Pandemiden sonra şirket tamamen uzaktan çalışan bir yapıya dönüştü ve bu sayede 27 dönümlük araziye ve aile için süt ineğine kadar uzanan bir hayat kurabildim
    • Şehre taşınmayı zorlaştıran bir yaşam düzeni oluştuğu için, uzaktan çalışmayı tercih etmediğimi söylemek
      hem mevcut işimde hem de gelecekte başvurabileceğim tüm uzaktan işlerde aleyhime izlenim yaratacakmış gibi geldi

Bundan sonraki plan

  • Bu yazıyla birlikte korkunun ötesine geçmek için ilk adımı yeniden attığımı hissediyorum;
    bundan sonra da temel bilgileri öğrenmeyi sürdürecek ve öğrendiğim her şeyi saklamadan yazacağım
  • Benzer deneyimler yaşamış olanlara, yardımcı olmak isteyenlere ya da sonraki yazıları merak edenlere
    Mastodon, RSS ve e-posta listesi üzerinden haberleri takip edebileceklerini söylüyor

1 yorum

 
GN⁺ 2025-11-30
Hacker News görüşleri
  • Çok zeki bir meslektaşımdan bir şey öğrendim. Bilmemekten korkmuyor ve anlayana kadar soru sormaya devam ediyor. Açıkça öğrenmek için gereken özgüven ve sabır gerçekten etkileyiciydi
  • Yazının alçakgönüllülüğünü ve dürüstlüğünü sevdim. Bir şeyi bilmiyor olmaktan utanmaya gerek yok. 37 yıldır öğreniyorum ama hâlâ yeni şeyler öğreniyorum.
    Ben de ofisten çalışmayı tercih ederim ama bu RTO'yu (ofise dönüş) savunduğum anlamına gelmez. Bu sadece benim eğilimim.
    Sektördeki kaygı ve imposter sendromu insanları saldırganlaştırıyor gibi görünüyor. Herkes biraz daha dürüst olsa sanırım daha rahat olurdu.
    Ve itiraf edeyim, Lisp ya da Haskell ile Fibonacci'den daha karmaşık bir şey hiç yazmadım. Kafam o şekilde çalışmıyor
    • Uzaktan çalışmayla ilgili söylediğine katılmıyorum ama bunu kişisel görüş olarak ifade ettiğin için sorun olmadığını düşünüyorum.
      Ama asıl yazı, kendi deneyimini nesnel bir gerçekmiş gibi genelliyor. Özellikle ikinci tekil şahıs anlatımı kibirli geldi.
      Nasıl söylediğin, ne söylediğin kadar önemli. Uzaktan çalışma gibi hassas konularda ifade biçimine daha dikkat etmek gerekir.
      Ben de aile sağlığı sorunları nedeniyle uzaktan çalışmak zorunda kaldım, bu yüzden yazının tonu bana fazla hafif geldi ve sinirlendim.
      Sonuçta insanlar aşırı tepki veriyor demeden önce, kendi ifadelerinin nasıl bir etki yarattığını düşünmek gerekir
    • Ben de Lisp tabanlı bir projeye katılmadan önce Fibonacci'nin ötesine geçemiyordum. Her gün kullana kullana sonunda alıştım
    • Uzaktan çalışmayı tercih ettiğini söyleyince neden tepki alıyorsun? Çünkü Covid'den sonra özgürlük kazanan insanlar yeniden kısıtlandıklarını hissediyor. Sanırım bu yüzden tepki bu kadar güçlü
    • Bugünlerde YouTube kodlama guruları her konuda kendilerinin haklı olduğunu söylüyor. Ne yaparsan yap yanlış denilen bir dünyadayız
  • Uzaktan çalışma konuşuldukça IRC günlerini özlüyorum. O zamanlar bile uzaktan işbirliğini iyi yapıyorduk.
    Koridor sohbetleri yerine ekip sohbetiyle sorun çözüyor, herkes aktif biçimde yardımcı oluyordu.
    Şimdi ise araçları daha kötü kullanıyormuşuz gibi geliyor
    • Bugünlerde açık kanallara yazmaktan korkan çok insan var. Eskiden anonimlik vardı ama şimdi gerçek isim temelli olduğu için insanlar daha temkinli.
      Anonim konuşulabilecek alanların azalması, özgürce konuşmayı zorlaştıran bir kültür yarattı
    • Eskiden ofiste Slack kullanırken şimdikinden çok daha verimliydik.
      O zaman bir şey işlemezse yan masaya gidip çözerdin, şimdi işlemezse öylece bitiyor
    • Covid dönemindeki uzaktan çalışma gerçek uzaktan çalışma değildi. İzolasyon halindeydik ve kültürle süreçler hazır değildi.
      Bu yüzden insanlar yalnızlığı uzaktan çalışmanın suçu gibi gördü
    • Değişimin nedeni demografiden çok kişiliklerdeki değişim gibi geliyor. Eskiden daha çok 'garip çocuk' vardı ve onlar soru sormaktan korkmazdı.
      Şimdi daha sosyal olarak uyumlanmış insanlar çoğaldı, bu yüzden asenkron iletişimde daha zayıflar
    • Sohbet üzerinden bug düzeltmek, 'aynı havayı soluyor olmak' ile aynı şey değil.
      Sözsüz sinyalleri okuma yoğunluğu daha düşük olduğu için sosyal ipuçları azalıyor
  • Aynı SaaS sektöründe olsak da tamamen farklı dünyalarda yaşıyormuşuz gibi geliyor.
    Birçok geliştirici ilgi yerine kariyer yolunu takip ediyor.
    SQL'i üç kez yeniden öğrendim. Teknoloji sürekli değişiyor, bu yüzden her şeyi hatırlamak mümkün değil.
    Önemli olan sözdizimi değil, problem çözme yeteneği ve işbirliği becerisi.
    Yapay zekanın bunu ikame etmesinin zor olduğunu düşünüyorum
  • Yazdığım kodun %95'inin test kapsamı %0 idi. Birçok ülkede, birçok şirkette durum buydu. Sadece bende mi böyle diye merak ediyorum
    • Otomatik testler, tekrar eden geliştirmede güven veren bir araçtır. Bir kez alışınca geri dönmek istemiyorsun
    • Benim de durumum benzerdi ama artık değiştirmeye çalışıyorum. Testsiz bir projeye sonradan test eklemek gerçekten çok zor
    • Testler biraz fazla abartılıyor olabilir. Yanlış bir rahatlık hissi de verebilir. Dilin kendisi çoğu zaman teste uygun olmayabiliyor
  • Etrafımdaki çalışan insanların havası odaklanmayı teşvik ediyor.
    Odaklanmanın bulaşıcı bir etkisi var. Birlikte çalışılan alan üretkenliği artırıyor
    • Ben de aynı tipteyim. Ama şirketin 'clean desk policy' dayatması rahatsız edici. Kişiselleştirilmiş bir ortama ihtiyacım var
    • Hareketli bir kafede de benzer etkiyi hissediyorum. Başkalarının üretkenliği beni de tetikliyor
    • Bu, ADHD'deki 'body doubling' kavramına benziyor
    • Ben de ofisten çalışmayı tercih ederim ama kapısı olan bir alan benim için şart.
      Kapı, işbirliğiyle odaklanmayı ayarlamak için en iyi araçtır.
      Çevrimiçi 'away' durumundan çok, fiziksel bir kapı çok daha net bir sinyal verir
    • Ama herkes böyle bir ortamda iyi çalışmıyor.
      Birinin odaklanması için başkalarını zorla ofise çağırmak insanlık dışı olur
  • Bu yazı cesur. Ama aynı zamanda kişisel deneyimi genelleştirme sorununu iyi gösteriyor.
    Uzaktan çalışmanın kötü olmasından değil, destek sistemi kötü olan bir şirkette çalışmış olmaktan kaynaklanıyor olabilir
  • Yazar kendine fazla yükleniyor. Bilmediğini kabul etmek özgürleştirici oluyor.
    Ben de sık sık “bilmiyorum” derim. Bu, EQ'su yüksek insanlarda görülen bir özellik
    • Müdürüm benim “bilmiyorum” dememi severdi. Dürüstlük güven yaratır
    • İş yerinde sorun olmayabilir ama internette itibar kaygısı yüzünden “bilmiyorum” demek zor
    • Mülakatta git rebase sorulunca, teknik ayrıntıdan çok gerçek kullanım becerisinin önemli olduğunu düşünüyorum
  • Yazarın dürüstlüğünü sevdim. Benim de benzer bir deneyimim oldu.
    Kotlin ile live coding yaparken switch sözdizimini hatırlayamadım ve afalladım.
    Her gün kullanılan bir dili bile çok çabuk unutabileceğini o zaman anladım
    • Ben de switch sözdizimine her seferinde bakıyorum. Sık kullanmıyorsan unutman gayet normal
    • Yaşlı geliştiricilerin sayısı arttıkça bu tür 'unutma anlarına' daha hoşgörülü yaklaşılacağını düşünüyorum
    • Herkes hata yapar. Hatta müdürler bile bazen kopyala-yapıştır kısayolunu unutur
    • Sık kullanılmayınca beceri hızla köreliyor, ama tekrar kullanınca da hızla geri geliyor.
      Kavramlar uzun süre kalıyor ama ayrıntılı sözdizimi çabuk siliniyor
  • Başta yazının yapay zeka yüzünden geliştiricilerin yok oluşunu ele alacağını sanmıştım.
    Ama aslında mesele, bu kaygıyı dile getirmenin bile zor olduğu bir ortam olması.
    Ben de Claude ile kod yazarken keyif alıyorum ama aynı anda korku da hissediyorum.
    Eğer biz yaklaşan değişimin özünü en iyi bilen nesilsek, bunu konuşmamız gerekir
    • Claude'un ürettiği kodun insan kodundan daha iyi olacağı söylenemez. Sadece üretim hızını artırıyor.
      Sorun şu ki bu, sadece yeteneksiz insanların üretkenliğini artırıyor olabilir
    • Önümüzdeki birkaç yıl boyunca biz AI ajanlarının takım lideri olarak kalacağız.
      Ama şirketler AI'ı yönetici rolünde kullanmaya başlarsa, insan geliştiricilere daha az yer kalır.
      Şimdiden AI verimlilik danışmanı gibi rollere geçişe hazırlanmak gerekir
    • Ben sadece AI ile işbirliği yapmayı ya da başka ilginç işler yapmayı düşünüyorum. Programlama her şey demek değil
    • “AI doomer” politikası olan bir şirket mi? Bu toksik bir şirket kültürü. Hemen yeni bir iş aramak gerekir