150 puan yazan GN⁺ 2025-04-10 | 19 yorum | WhatsApp'ta paylaş
  • Yazar, farklı geliştiricilerle karşılaşırken en iyi geliştiricilerin ortak özellikleri üzerine düşünmeye başlıyor
  • Bu yazı, yeni başlayan geliştiricilere veya gelişmek isteyen kişilere ilham vermek için yazılmış bir gözlem kaydıdır

Önce referans dokümantasyonunu okuyun

  • Önce Stack Overflow ya da LLM aramak yerine, resmi dokümantasyonu önce okuma alışkanlığı edinmek önemlidir
  • Apache, Python, TOML gibi projelerin resmi dokümantasyonu aslında oldukça iyi yazılmıştır
  • Kaynaktan doğrudan öğrenme alışkanlığı uzun vadede çok faydalıdır

Araçları derinlemesine anlayın

  • Bir aracı "kullanmayı" bilmek ile onu "anlamak" aynı şey değildir; bunlar farklı düzeylerdir
  • Bir aracı gerçekten iyi bilen kişi, her bir ayarı tek tek açıklayabilir
  • İyi anlamak için aracın şu yönlerini de kavramak gerekir:
    • geçmişi (neden yapıldı)
    • bugünü (kim tarafından sürdürülüyor)
    • sınırları (hangi durumlarda uygun değildir)
    • ekosistemi (çevresindeki araçlar, kütüphaneler vb.)
  • Kafka gibi araçları ana çalışma alanınızda kullanıyorsanız, Reddit'te görülenden daha derin bir bilgiye sahip olmanız gerekir

Hata mesajlarını dikkatle okuyun

  • Hata mesajlarına dikkatle bakıldığında içlerinde ipuçları bulunur
  • En iyi geliştiriciler, çok az bilgiyle bile problemi çıkarım yaparak anlayabilir
  • Problemlerin %80'i sadece hata mesajlarına dikkatlice bakarak çözülebilir
Reklam

Problemleri küçük parçalara ayırmayı bilin

  • Tıkanmak herkesin yaşadığı bir şeydir; çözebilmek için problemi küçük parçalara ayırabilmek gerekir
  • Deneyimi fazla olan ya da problem çözme becerisi güçlü kişiler bunu kolayca yapar
  • Bir geliştiricinin temel işi, sonuçta büyük problemleri küçük problemlere bölme işidir
  • Basit problemler adım adım çözüldüğünde, bütün problem de çözülür

Kodla korkmadan uğraşın

  • En iyi geliştiriciler kod okumaktan korkmaz
  • "Bu benim alanım değil" gibi sözler söylemeden doğrudan dener ve öğrenirler
  • İlk kez karşılaştıkları bir kod tabanında bile kısa sürede ekip içi uzman haline geldikleri sık görülür

Her zaman başkalarına yardım edin

  • Yoğunken bile yardım eden geliştiriciler, iyi ekip arkadaşları ve harika uzmanlardır
  • Merak ve iş birliğine açık bir tutum, iyi bir geliştiricinin vazgeçilmez nitelikleridir

Yazı yazın

  • Üstün geliştiriciler iyi konuşur ve düşüncelerini yazıyla da ifade edebilir
  • Blog, sunum, açık kaynak faaliyetleri gibi yollarla düşüncelerini paylaşırlar
  • Yazma becerisi, düşüncenin yapısıyla doğrudan bağlantılıdır
  • İyi yazan insanların kodu da yapılı, açık ve bazen esprilidir

Öğrenmeyi bırakmayın

  • Yaştan bağımsız olarak öğrenmeye devam eden kişiler gerçekten üstün geliştiricilerdir
  • Yeni araçları veya dilleri denemekten çekinmezler
  • En yeni teknolojileri körü körüne takip etmez, artılarını ve eksilerini kendileri analiz ederler
  • Genç yaşta bile kalıplaşmış düşüncelere kapılınırsa gelişim durur

Statüye takılıp kalmayın

  • İyi geliştiriciler, unvanlarından bağımsız olarak herkesten bir şeyler öğrenmeye çalışır
  • Yeni başlayanlardan bile öğrenilecek şeyler olduğu yaklaşımına sahiptirler
  • Yeni bakış açılarına sahip insanlarla yapılan sohbetlerden ilham alırlar
Reklam

İtibar oluşturun

  • Yetenek önemli olsa da, bu yeteneğin bilinir hale gelmesi de önemlidir
  • İtibar, etki alanını genişletmenin bir aracıdır
  • Şu yollarla itibar inşa edilebilir:
    • önemli servisleri bizzat inşa etmek veya dağıtıma almak
    • iyi bilinen araçlar geliştirmek
    • tanınmış açık kaynak projelerine katkı vermek
    • sıkça alıntılanan kitaplar yazmak
  • İtibar bir gecede oluşmaz; sürekli emek ve zaman gerekir

Sabırlı olun

  • Hem insanlara hem bilgisayarlara karşı sabır gerekir
  • Etrafınızdaki insanlar aptal değildir; sadece yeterli bilgiye sahip olmayabilirler
  • Sabır yoksa kolayca memnuniyetsizlik birikir ve birlikte çalışmak zorlaşır
  • Zor problemleri çözmek için odaklanma ve sebat gerekir

Bilgisayarı suçlamayın

  • En iyi geliştiriciler asla sistemi ya da dış etkenleri suçlamaz
  • Yüzeyde rastgele görünen problemlerin bile mantıklı bir nedeni vardır
  • Nedeni bulmak için sonuna kadar kazıyan bir tutum önemlidir

"Bilmiyorum" diyebilin

  • Mülakatlarda özellikle birinin "Bilmiyorum" dediği anı beklediğim olmuştur
  • Önemli olan cevap değil, tutumdur
  • En iyi adaylar bilmediklerini kabul eder ve ardından akıl yürütmeye başlar
  • Bilmediğini kabul etme tavrı, öğrenme potansiyelini gösterir
  • Yalan söyleyen ya da biliyormuş gibi yapan kişiler ekip için olumsuzdur
Reklam

Tahmin etmeyin

  • PEP 20'nin felsefesinde olduğu gibi, belirsizlik varsa asla tahmin etmeyin
  • Tahmin etmenin riskleri:
    • yanlışsa bug üretir
    • doğru olsa bile yanlış bir varsayıma güvenmeye yol açar ve sonradan sorun çıkarır
  • Emin değilseniz:
    • sorun
    • dokümantasyon okuyun
    • debug araçlarını kullanın
    • kanıt bulun

Sade tutun

  • Zeki insanlar zeki kod yazar, gerçekten büyük insanlar ise sade kod yazar
  • Sade kod bakım açısından çok daha avantajlıdır
  • Karmaşıklığın gerekli olduğu durumlarla olmadığı durumları ayırt edebilmek gerçek ustalıktır

Kapanış düşünceleri

  • Bu yazı bir kontrol listesi değildir ve iyi mühendislik bir yarış değildir
  • Ancak zor işleri atlayabileceğinize kendinizi inandırmayın
  • Harika bir geliştirici olmanın kestirme yolu yoktur

19 yorum

 
dduha 2025-04-24

Güzel yazı için çok teşekkürler.!!

 
openman 2025-04-17

Bunun bir kontrol listesi olmadığını söylemesi bana teselli veriyor; kestirme bir yol olmadığını söylemesi ise bana cesaret veriyor.

 
geekbini 2025-04-13

Şirketin projesini anlıyorsanız,
hangi alanda kıdemli geliştirici olursanız olun,
o alan ister firmware, ister uygulama, ister web olsun,
web, uygulama veya firmware debug loglarına bakarak
sorunun nasıl ortaya çıktığını debug edebilecek seviyeye geldiğiniz anlaşılıyor.

 
softer 2025-04-11

Mülakatta tahmin ettiğim davranışı hatırlıyorum

 
wogns3623 2025-04-11

Kişisel olarak, “Ne yaptığımı her zaman düşünmek” ilkesini de önemli buluyorum.

 
wogns3623 2025-04-13

"Critical Thinking" diye güzel bir terim varmış.

 
lighteach 2025-04-10

Gerçekten çok yardımcı oldu. Güzel yazı için teşekkür ederim

 
kylian 2025-04-10

O zaman resmi belgeleri LLM’e okutmak yeterli olacak!

 
dudlf016 2025-04-10

RTFM: Resmî belgeleri biraz okuyun.

 
kandk 2025-04-10

Bunun bir kontrol listesi olmadığı söyleniyor ama sanırım bunu kendi kontrol listem yapmalıyım.

 
haejuk99 2025-04-10

Resmi dokümantasyona mutlaka bakmak gerektiği konusunda size kesinlikle katılıyorum.

 
aer0700 2025-04-10

Kodlamayı ilk öğretirken, bir kişinin hata mesajlarını dikkatle okuyup okuyamadığında programcılığa yatkınlığının ilk kez ortaya çıktığını düşünüyorum.

 
postinsight 2025-04-19

.... Hataların ve bug'ların her zaman var olduğunu kabul eden temel farkındalıktan yoksun insanlar dolandırıcıdır.

 
roxie 2025-05-05

Cümleler fazla zor..

 
postinsight 2025-04-19

Web'de ise.

 
coremaker 2025-04-10

Hepsi için geçerli olmasa da, çoğunda empati kurulacak maddeler var gibi görünüyor.

 
GN⁺ 2025-04-10
Hacker News görüşleri
  • Tahminde bulunmamak iş hayatında en önemli şeydir

    • Yarı iletken üretiminde problem çözme becerisi geliştirdim; yanlış varsayımların maliyeti çok yüksektir
    • Her zaman kök nedeni %100 anlamak gerekir
    • Alışılmadık teknik yığınlardan kaçınmanın nedeni, kök neden analizini engellemeleridir
    • Sorunu tam isabetle çözmek, itibar kazanmanın en hızlı yoludur
  • Yeni bir şeyle uğraşırken, referans dokümanlarını derinlemesine okumadan önce biraz tahminde bulunmaktan hoşlanırım

    • Yeni bir dil veya API öğrenirken, eğitim içerikleri üzerinden tahmin yürütüp sonra referans dokümanlarını okurum
    • Intellisense gibi özellikleri destekleyen dilleri ve IDE'leri tercih ederim
  • Stack Overflow veya LLM'lere bel bağlamak yerine doğrudan kaynağa başvurmak daha iyidir

    • Tıpkı matematik kitabı gibi, başta zor gelir ama zamanla anlaşılır hale gelir
    • Rust crate'leri için docs.rs, Haskell için hoogle, C++ reference gibi kaynaklar harika referanslardır
  • En iyi geliştiriciler her seviyeden insanla iletişim kurar ve onlardan öğrenir

    • Yeni insanlar taze bakış açıları sunar; geçmişteki engeller artık ortadan kalkmış olabilir
    • Kuralların neden var olduğunu düzenli olarak doğrulamak gerekir
  • Stack Overflow doğru kullanıldığında çok yardımcı olur

    • LLM'ler gerçek zamanlı olay analizi veya otomasyon için faydalıdır, ancak programcıların yerini alamaz
    • Bir konuyu LLM ile anladıktan sonra resmî dokümantasyona başvurmak iyi olur
  • En iyi programcılar, bilgisayar bilimi geçmişi olmasa da üstün performans gösterebilir

    • Alan dışından gelip programlamayı öğrenerek hızla gelişen örnekler vardır
  • Programlamanın yanında iş alanıyla iletişim de önemlidir

    • Programlama dışındaki çeşitli unsurları da hesaba katmak gerekir
  • Hata mesajlarını okuyup anlamak, sorun çözmede büyük yardım sağlar

    • asdf kullanarak Python, Go, NodeJS sürümlerini yönetirken, hata mesajları üzerinden sorunu çözebilmiştim
 
postinsight 2025-04-19

asdf nedir? Uyarıya bakmalısınız.

 
postinsight 2025-04-19

Bence mesele, mutlak en iyi olmamaya yönelik bir tavrın daha iyi olması. Yazmakmış... yardım etmekmiş... öyle insanlara bakınca...