55 puan yazan GN⁺ 2025-05-07 | 21 yorum | WhatsApp'ta paylaş
  • Küçük otomasyonları tekrar ede ede, bir noktada tüm araçlar ve sistemler düzeltilmesi gereken şeyler gibi görünmeye başladığı bir bilişsel eşiğe ulaşılır
  • Teknik yetkinlik arttıkça, sorunları sadece fark etmenin ötesinde, onları bir sorumluluk gibi hissettiren duygusal bir ağırlık oluşur
  • Düzeltme isteği, basit bir verimlilik artışının ötesine geçip bazen duyguları düzenleme aracı hâline gelir ve kimi zaman insanın kendi kurduğu sistemin içine hapsolmasına yol açar
  • Sistemler zamanla mutlaka bozulur ve kusursuz çözüm diye bir yanılsama yoktur
  • Sonuçta gerçekten gereken beceri, her şeyi düzeltme yeteneği değil, bir şeyi düzeltmeden de dayanabilmeye yetecek zihinsel ferahlıktır

Başlangıç, küçük otomasyonlar

  • Dosya adlarını değiştiren bir Python betiği ya da git komut kısayolları gibi küçük verimlilik iyileştirmeleriyle başlar
  • Sistemdeki rahatsızlıkları doğrudan düzeltince, dünyadaki her şey geliştirilecek bir hedef gibi görünmeye başlar
  • Bir noktadan sonra bu durum “yapabilirim”in ötesine geçip, “yapmalıyım” diye hissedilen ahlaki bir takıntıya dönüşür

Teknik yetkinliğin ağırlığı

  • Programlama öncesinde rahatsız eden yazılımları görmezden gelmek mümkünken, artık sorunlar apaçık görünür
  • Başkalarının yazdığı özensiz kodlar ya da hardcoded ayarlar bir azar gibi hissedilir
  • Tüm sistemler ve yazılımlar, düzeltilmesi gereken bir TODO listesi gibi algılanmaya başlar

Sürekli refactor edilen bir hayat

  • Her seferinde “Bunu daha iyi yapabilirim” düşüncesiyle kendi araçlarını geliştirmeye kapılırsın
  • Düzenlenmemiş kod dizinleri, sayısız deneme ve vazgeçiş, bitmeyen yapısal yeniden tasarımlar bazen kişiyi kendine bağlayan bir emeğe dönüşür
  • Kafka’nın “kafesi inşa edip kuşu beklemek” benzetmesindeki gibi, amaçsız araç üretimine saplanılabilir

Yazılım çürür

  • Kusursuz görünen bir betik bile bir gün dış değişiklikler yüzünden işe yaramaz hâle gelir
    • Web sitesi düzeninin değişmesi, paket sürümü değişiklikleri, bağımlılık hataları gibi
  • Sorun çıktığında bu durum sadece rahatsızlık değil, suçluluk duygusu da yaratır
  • Sonunda insan, sürekli bakım gerekliliği gerçeğiyle yüzleşir

Otomasyon yanılsaması

  • “Bir kez kurarım, sonra bir daha dokunmam” şeklindeki sahte umuda sık sık kapılırız
  • Programlamayı sorun çözmenin zaferi sanırız ama bu aslında sadece bitmeyen bir savaştır
  • Tamamlanmışlık diye bir şey yoktur; yalnızca sürekli su basan siperler kazıyoruzdur

Duygu düzenleme aracına dönüşen kodlama

  • Araç yapmak bazen hayattaki karmaşayı kontrol etme yönünde psikolojik bir tepkidir
  • Sistem karmaşıklaştıkça, insan ironik biçimde kendini daha düzenli hisseder
  • Karmaşık bir hayattan kaçmak için yeni uygulamalar ya da refactor denemeleri yapıp kendimizi avutabiliriz

Habersiz gelen burnout

  • Burnout, basitçe fazla çalışmaktan çok aşırı sorumluluk duygusundan doğar
  • “Ben düzeltebiliyorken neden düzeltmiyorum?” biçimindeki öz eleştiri, stresi daha da artırır
  • Bitmeyen teknik sorumluluk hissi, kendini yıpratan bir yüke dönüşür

Bırakabilme becerisini öğrenmek

  • Her sorunu çözmek zorunda değilsin
  • Bazen düzeltmek zorunda olmadığını bilmek, daha büyük bir kontrol duygusu sağlar
  • Kusurları kabul edip olduğu gibi kullanmak da bilinçli bir tercih olabilir

Gerçek beceri, duygusal berraklık

  • Asıl önemli olan, düzeltme becerisinden çok düzeltmeden de rahat kalabilme becerisidir
  • Ne zaman duracağını, hangi projelerin sadece kendini rahatlatmak için yapıldığını ayırt edebilmek gerekir
  • Her şeyi düzeltme takıntısından çıkıp, kusurluluğun içinde de rahatlık bulabilen bir tutuma ihtiyaç vardır

Sonuçta programlamadaki en zor beceri,
"bozuk olanı olduğu gibi bırakmayı" öğrenmektir

21 yorum

 
ndrgrd 2025-05-10

Her şeyin bir amacı vardır. Amaç yerine geldiyse artık düzeltmeyi bırakabilirsiniz. Ancak amaç yerine gelmediyse düzeltmek gerekir.
Görünüşe göre başlangıç noktası, projenin amacını net biçimde kavramak.

 
techiemann 2025-05-08

Dünyada sadece bankaların ve ödeme şirketlerinin darmadağın API'lerini bir araya getirip düzenlemek bile yüz milyarlarca won değerinde şirketler yaratabildiğini fark edince insan rahatlıyor haha

 
dkang 2025-05-08

Ku x..

 
techiemann 2025-05-08

VB 6.0 ve COM + OLE + ActiveX ile yapılmış bir sistemin hâlâ gayet iyi çalıştığını görüp de dehşete kapılarak onu yeniden yazma arzusu duyuyorsanız, acı çekecek kişi sizsiniz

 
wedding 2025-05-08

Sonuçta programlamadaki en zor beceri,
"bozuk olanı olduğu gibi bırakmayı" öğrenmek sanırım.

Katılıyorum. İş açan bir tip olduğum için hep zorlanıyorum...

 
techiemann 2025-05-08

Sıradan bir programcının alelacele bir araya getirdiği otomasyonun bozulması zaten kaçınılmazdır.

 
bluekai17 2025-05-08

İyi içerik

 
kgh1379 2025-05-07

Burnout totemi
: İş otomasyonunu büyük emekle kurduğunda, faydasını yanındaki iş arkadaşı görürken kendin başka işlerin otomasyonuna koşulunca;

 
bungker 2025-05-10

15 dakikada yapılacak işi 2 günde otomatikleştirenlerdenim; yani maaşını yan gelip yatarak alanlardan biri.

 
loblue 2025-05-07

Aşırı sorumluluk duygusu programcıların meslek hastalığı gibi; bunu sistemle çözmek gerekiyor.
Bunu Quality Assurance ekibi assure etmeli.

 
roxie 2025-05-08

QA, geliştiricinin aşırı sorumluluk duygusunu dizginleyebilir mi? Tam anlayamadım da.

 
loblue 2025-05-08

Bir geliştiriciye kusur aranarak üst üste "kodu yanlış yazmışsın" denirse
üzerine binen sorumluluk duygusu yüzünden yeni denemelerden kaçınmaya başlar
ve sonuçta gelişim getirmeyen, sadece güvenli kod yazmaya yönelir.
QA'nin güvence vermesi gerektiği derken kastedilen de budur.
Geliştirici bir kodlama yapmak için belli ölçüde risk almak zorundadır
bunu doğrulayıp sorumluluğunu üstlenecek olan da QA olmalıdır.

 
roxie 2025-05-08

Bu yazı o şekilde de okunabiliyormuş, öyle mi? Bana kalırsa bu yazı, illa bir yere koymak gerekirse, daha çok yak shaving’i eleştiren bir yazı gibi gelmişti.

 
loblue 2025-05-08

roxie’nin dediği gibi, metnin kendisi gerçekten de yak shaving ile ilgili bir anlatı,
ancak bunu kendi kişisel deneyimlerime göre yorumlayınca, metnin içeriğinden biraz farklı bir hikâyeye dönüştü.

 
savvykang 2025-05-07

Bunu NIH (not invented here) olgusuyla da açıklayamaz mıyız? Bakımın sonuçta sabit maliyet olduğunu ve maliyetin insan emeğini de içerdiğini unutmamak gerektiğini düşünüyorum.

 
ztaka 2025-05-07

Bunu uzun süre yapabilmek için, aşırı sorumluluk duygusunun telafi psikolojisinin kısır döngüsüne dönüşmesinden önce
ara sıra sorumluluğun ve duyguların ağırlığını biraz olsun bırakmayı da öğrenmek gerekiyor gibi görünüyor.
Benim de pek iyi dengeleyemediğim bir taraf aslında haha... güzel bir yazı olmuş

 
roxie 2025-05-08

Bu bence iyi bir nokta. Sorumluluk duygusu, kelimenin tam anlamıyla sorumluluk hissetmek olduğu için, kendi başına bir karşılık talep etmez. Ama zaman geçtikçe beden ve zihin yorulurken sorumluluk duygusu kolay kolay kaybolmaz; insan da bu aradaki boşluğu kapatmak için (aslında böyle bağlanmaması gereken bir şey olsa da) farkında olmadan bir karşılık beklemeye başlıyor gibi görünüyor.

 
madsyntst 2025-05-07

Şey, "bozuk olanı olduğu gibi bırakmayı öğrenmek"ten daha iyi bir uzlaşma noktası varsa, o da herhalde "bozulana kadar dokunma"dır :)

 
GN⁺ 2025-05-07
Hacker News görüşü
  • Tiyatro yaparken öğrendiğim bir alıntı var. Sanat sürecini, zor olanı alışkanlık haline getirmek, alışkanlık haline geleni kolaylaştırmak ve kolayı güzel kılmak olarak açıklıyordu

    • Bir oyuncu olarak replikleri ezberler, karakterin motivasyonunu anlar ve seyircinin duyguyu ve anlamı paylaşabilmesi için performansı yönlendirirsin
    • Yazılımda ise bilgisayarın istediğin gibi çalışmasını sağlayan sihirli sözleri öğrenir, bu sözlerin neden işe yaradığını anlar ve sorunu daha zarif bir şekilde çözmenin yollarını ararsın
  • UI sorunları hakkında kişisel bir görüş sunuyor

    • Arayüz, (yeniden) render tamamlandıktan sonra birkaç milisaniye boyunca etkileşime kapalı olmalı
    • Bildirime yanlışlıkla hatalı tıklarsan bildirimi kaybettiğin durumlar olabiliyor
  • Kişisel projelerle ilgili zorluklardan yakınıyor

    • Yeni bir dil öğrenmek istiyor ama her gün dokümantasyon okumak zor geliyor
    • Yapay zeka kullanarak kod üretmek istemiyor
  • Yazılım mühendislerine saygısını ifade ediyor

    • Veri merkezinde büyürken yazılımın hiçbir zaman tamamen çözülmüş bir şey olmadığını fark ediyor
    • Sistem yöneticileri her şeyin en baştan sorunlu olduğunu kabul ediyor
  • Mükemmeliyetçiliğe yönelik bir eleştiri getiriyor

    • Ekip arkadaşlarıyla işbirliği yaparken mükemmeliyetçiliğin verimsiz olduğunu deneyimliyor
    • "Yeterince iyi" bir çözüm bulmanın önemli olduğunu söylüyor
  • Kişisel bir içgörü paylaşıyor

    • Her sorunu çözmek gerekmediğini ve mükemmelliğin bir yanılsama olduğunu söylüyor
    • Duygusal olgunluğun ve öz sevginin önemini vurguluyor
  • Aile ve çocukların mükemmeliyetçiliği aşmaya yardımcı olduğundan bahsediyor

  • Yazılımı doğrudan yazmanın daha eğlenceli olduğunu ve daha basit çözümler sunduğunu söylüyor

  • Yeni olana saplantılı kültürün sorunun kökeni olduğunu savunuyor

    • Uzun vadede istikrarlı ve basit şeyler inşa etmenin önemli olduğunu söylüyor
  • Psikologların insanları en iyiyi arayanlar ve yeterince iyi olanı arayanlar olarak sınıflandırdığını belirtiyor

    • Optimize edenler daha fazlasını başarsa da, yeterince iyi olanı arayanlar daha mutlu oluyor
 
beoks 2025-05-07

"Bozuk olanı olduğu gibi bırakmayı öğrenmek"tense "önemli olmayan şeyi bırakmayı öğrenmek" daha uygun bir ifade gibi görünüyor.
Mutlaka düzeltilmesi gereken şeyi elbette düzeltmek gerekir.

 
ethanhur 2025-05-08

Katılıyorum. Kişinin kendi bahçesini daha güzel hâle mi getirdiğini, yoksa gerçekten önemli bir iş mi yaptığını iyi anlayıp gerektiğinde bırakabilmesi gerektiğini düşünüyorum.