2023’ten beri emek verdiğim Python projem için yapıcı kod incelemesi ricası

Merhaba arkadaşlar ben Şerif.

Python öğrenme sürecimde 2023 yılında CS50P ile temelleri attıktan sonra kendi başıma bir projeye başladım. Yaklaşık üç yıldır bu proje üzerinde çalışarak kendimi geliştirmeye gayret ediyorum.

Bu süreçte tek başıma olduğum için yapay zeka araçlarından çok fazla yardım aldım. Yapay zeka son yıllarda epey gelişmiş olsa da, projem büyüdükçe kod karmaşıklaştı ve yapay zekanın bütünsel bağlamı kaçırıp hatalar yaptığı yerler olmaya başladı. Şu an kodumda ciddi bir aşırı mühendislik problemi olduğunu fark ediyorum, basit olması gereken yerleri gereksiz yere karmaşıklaştırdığımı hissediyorum. Ki büyük ihtimalle design pattern olayını tam anlamıyla bir türlü kavrayamamış olmamdan kaynaklanabilir. Kısmen örneklerden çok rahat anlaşılıyor ama kendi projeme gelince bir türlü oturmayan şeyler ortaya çıkıyor…

Uzun süredir iş bulamamak ve hep tek başıma kod yazmak bende ciddi bir “imposter” sendromu ve yetersizlik hissi yarattı. Bu yüzden, kodumu inceleyecek olanlardan ricam eleştirilerini biraz daha yumuşak ve yapıcı bir dille yapmalarıdır.

Amacım kesinlikle hazıra konmak veya başkalarına iş yaptırmak değil. Sadece yıllarımı verdiğim bu projede neleri daha sade ve doğru yapabileceğimi, işin içindeki deneyimli insanlardan duymaya ihtiyacım var. Vaktiniz olursa kodumu inceleyip bana yol gösterebilirseniz çok sevinirim.

Zaman ayırıp okuyan ve geri bildirim veren herkese şimdiden teşekkür ederim.

Merhabalar,

Projede 1000 commit, 85,000 satir kod var. Hakkiyla review etmenin bir is gununden fazla surecegini tahmin ediyorum. Tanimadigim birine, ilgilenmedigim bir projeye ayiracak koca bir gunum yok.

Bunu yazmamin sebebi, buraya gelen cogu kisinin muhtemelen ayni durumda olacagi. Insanin yazdigi koda bile ayirabilecek vaktimiz sinirliyken, bir bilgisayar programinin ciktisina niye bu kadar fazla vakit ayiralim? Kaldi ki, bu sure icerisinde bir AI modeli bunun 10 kati daha kod uretebilir. Bu isin ucu yok…

Claude’in kod ciktisini inceleyen, urettigi kodun profosyonel dunyada kullanilabilir olup olmadigina bakan, muhtelif yazilim muhendisligi standartlarina uyumlulugunu olcen kocaman bir takim var. Bu, onlarin isi. Bu is icin para aliyorlar. Onlar baksin.

Yazdiginiz kodu kullanarak, “AI kullanarak bir proje yapabilen insan” sifatiyla ise basvurmayi deneyebilirsiniz. Su aralar aranan bir pozisyon gibi.

Is dunyasiyla ilgili soru isaretlerini, imposter olup olmadiginizi ise girdikten sonra ogrenebilirsiniz. Oncesinde sadece sunu soyleyebilirim: Su donemde is bulamamak bir yetersizlik emaresi degil.

Daha bu sabah “2025’te 500 is ilani verdim, sadece 34’unu doldurdum; amac basvuru toplayip datasetimi genisletmekti” diyen bir yazi okudum. Buna, kitlelerin issiz kalmasini isteyen yatirimcilarin trilyon dolarlik AI yatirimlarini, bir AI ile replace etmenin inanilmaz kolay olacagi yoneticilerin muhendislik takimlarini dagitmalarini eklediginizde, ortalikta is olmamasi surpriz olmayacaktir. Bi de buna programlama temellerini bile bilmeyen insanlarin artik kimseden yardim almadan bitmis kod projesi uretebileceklerini ekleyin, onumuzdeki buhran daha acik olacaktir.

Belki bu projenin aynisini, sifirdan, AI kullanmadan yazmak isteyebilirsiniz. (Hatta belki baska bir dilde.) AI’in hakim oldugu veya olmadigi konulari, design pattern’lari vs. gormenin ve dogrularini elle implement etmenin yaninda, mevcut AI agent’larinin nerede iyi ve nerede kotu olduklari hakkinda da bilgi sahibi olup, butun bu bilgileri bir sonraki isyerinize tasiyabilirsiniz.

4 Beğeni

Merhabalar,

Vakit ayırıp bu kadar detaylı, gerçekçi bir yanıt yazdığınız için çok teşekkür ederim. Sektörün güncel durumu ve iş bulma süreçleriyle ilgili paylaştığınız bilgiler gerçekten içimi bir nebze rahatlattı.

Öncelikle haklısınız, 85 bin satırlık bir projeyi kimsenin bedelsiz incelemesini bekleyemem. Açıkçası açık kaynak dünyasında ve “code review” kültüründe tecrübesiz olduğum için ana modülleri belirtmeyi akıl edemedim. Niyetim tüm projeden ziyade, cli/command/ klasörü altındaki (Command design pattern kullanarak yazdığım) install ve update gibi temel modüllere ufak bir göz atılmasıydı. Yine de uyarınız bana çok iyi bir ders oldu, teşekkür ederim.

Yapay zeka kullanımı konusuna biraz açıklık getirmek isterim, zira “AI kullanarak proje yapan insan” izlenimi vermiş olabilirim. Bilgisayar programcılığı mezunuyum ancak okulda algoritma veya C++ gibi dersleri maalesef sadece sınavları geçecek kadar öğrenmiştim. Kodlamayı syntax/temel kavramlar harici proje geliştirerek öğrenmeye 2023 yılında bu projeye benzer script ile başladım ve bu proje de o yazmış olduğum basit projelerin devamı. 2023-2024 yıllarında yapay zeka araçları bugünkü kadar yetenekli değildi; bana daha çok şablonlar (template) sunabiliyordu. O dönemde çok fazla manuel inceleme yapıyor ve hataları kendim çözüyordum.

Bahsettiğim “overengineering” problemi aslında 2025 sonrasında, AI araçları çok yetenekli hale geldiğinde başladı. Ben bir yandan “design pattern” konseptlerini öğrenip projeme entegre etmeye çalışırken, bir yandan da AI’ın karmaşık önerilerini kabul ettim. İkisi birleşince kod gereksiz yere şişti ve karmaşıklaştı. Kısacası her Pull Request’in düzgün yazıldığından, test edildiğinden emin olarak ilerledim ama mimari kararlarda ipin ucunu kaçırdım diyebilirim.

Geç kaldığımı düşündüğüm için yazılımcı pozisyonlarına hiç başvurmadım. Şu an kariyerimi Linux Sistem Yöneticiliği üzerine kuruyorum. Ancak bir Linux yöneticisinin de eninde sonunda sürekli script yazması ve okuması gerekeceğini bildiğim için, “sürekli dil değiştirenlerin” hatasına düşmemek adına ısrarla Python’da kalıp programlama mantığını tam oturtmaya çalışıyorum. Buradaki mükemmeliyetçiliğim biraz da bu yüzden.

Projeyi sıfırdan, yapay zeka olmadan yazma tavsiyeniz üzerine çok düşündüm. C veya Rust ile yazmak hep aklımdaydı çünkü linux admin için önemli diller. Üniversitede C’nin bellek yönetimi ve matematiksel yaklaşımı beni zorlamıştı, Rust ise özellikle “async” yapılarında çok dik bir öğrenme eğrisine sahip görünüyor. Bu dilleri kesinlikle öğreneceğim ama temel mantığı kaybetmemek için sıfırdan yazma denemesini ilk etapta yine Python ile yapmayı planlıyorum.

Fakat burada kafama takılan ve sizin fikrinizi çok merak ettiğim bir ikilem var: AI kullanmadan kod yazmak, 2026 yılı itibarıyla bana sanki geride kalıyormuşum veya vakit kaybediyormuşum hissi veriyor. Eskiden StackOverflow’da veya dokümantasyonlarda saatler harcardık; şimdi AI göremediğimiz bir hatayı saniyeler içinde sunabiliyor.

Yabancı kaynaklarda okuduğum kadarıyla artık AI’ı bir “agent” olarak kendi başına bırakmak yerine, bir danışman (suggestion/autocomplete) gibi kullanmanın sektör standardı haline geldiği söyleniyor. Hatta birçok Lead Developer’ın artık kod yazmaktan ziyade AI çıktılarını “review” ettiği konuşuluyor. Bu şartlar altında, yapay zekayı tamamen kapatıp her şeyi elle yazmak, StackOverflow’da gezinmek sizce bugün hala doğru ve verimli bir pratik mi? Yoksa kas hafızası oluşturmaktan öteye gitmeyen bir zaman kaybı riski taşıyor mu?

Eleştirileriniz ve bu değerli yönlendirmeleriniz için tekrar teşekkür ederim. Zamanınızı boşa harcamak gibi bir niyetim asla yoktu, aksine uyarınızla hatamı fark ettim.