Röportaj: Önceki Yazılımcı
Yazılımcıların Twitter’da sıkı takip ettiği, eğlenceli ve iğneleyici tweetleriyle çoğumuzun diline düşen Önceki Yazılımcı ile geçtiğimiz günlerde bir röportaj gerçekleştirdik. Aranızda hâlâ Önceki Yazılımcı’yı tanımayan ve takip etmeyenler varsa çok şey kaybediyor diyebiliriz. Röportaja geçmeden önce ilk olarak kendisine ait ilgi çekici ve en çok paylaşılan birkaç tweet’i paylaşalım. Önceki yazılımcıyı twitter’da takip etmek için: @oncekiyazilimci
Ben yıllardır Özgür Yazılımı “Standartları falan sallayın, kafanıza göre, özgürce kod yazın” demek sanıyordum. Olayı çok yanlış anlamışım.
— Önceki Yazılımcı (@oncekiyazilimci) 17 Nisan 2013
Madde 1: Çalışan koda dokunulmaz. Madde 2: Bir askerde bir de Önceki Yazılımcı da mantık aranılmaz. — Önceki Yazılımcı (@oncekiyazilimci) 10 Şubat 2015
Benim kendi versiyonlama sistemim var! (index_son, index_en_son, index_final, index_son_calisan_versiyon, index_valla_bu_en_son)
— Önceki Yazılımcı (@oncekiyazilimci) 17 Aralık 2014
Önceki Yazılımcı anonim bir hesap ve yakın arkadaşları dışında pek kimse kimliğini bilmiyor. Röportajı yapan ben dahi kendisi ile sosyal medya hesabı ve e-mail üzerinden iletişime geçerek bu röportajı yazılı olarak yaptım. Anonim bir hesap yönetmesinin sebebini zaten kendisine zaten sorduk, röportajda detaylı cevabını bulabilirsiniz. İlerleyen zamanlarda görsel olarak hazırlayacağımız röportajlarla da yine burada olacağız. İşte Önceki Yazılımcı’ya sorduğumuz sorular ve aldığımız yanıtlar:
Önceki Yazılımcı hesabı nasıl ortaya çıktı? Burada paylaştıklarınız tamamen meslek hayatınızda karşılaştığınız problemler ve olaylar mı, yoksa parodi amaçlı aklınıza gelen eğlenceli sözleri ve diyalogları da paylaşıyor musunuz?
“Abi durum felaket ya. Önceki Yazılımcı öyle şeyler yapmış ki projeyi adam etmeye çalışıyoruz. Baştan bile kodlayabiliriz.”
Çevremde iş değişikliği yapanlardan bu tarz serzenişleri çok sık duymaya başlamıştım. Daha önce benim de Önceki Yazılımcı yüzünden yaşadığım sıkıntıları hatırlayınca taşlar yerine oturdu ve @oncekiyazilimci hesabı ortaya çıktı.
Biraz sivri dil ve ironiyle sosyal mesaj vereyim, biraz da mizahi bir dil kullanarak yüzlerde tebessüm bırakayım gayesiyle başladım tweet’lemeye.
Paylaşımlar da nereden esinlendiğime gelecek olursak; Kişisel tecrübelerim, arkadaş sohbetlerinde yakaladığım anekdotlar, @oncekiyazilimci diline uyarlayabileceğim gündem maddeleri (Bknz: Binali Yıldırım’ın abur cuburlu cloud yorumu), @oncekiyazilimci’yı mention’layıp pas atanlarla tamamen doğaçlama gelişen diyaloglar vb.
Bildiğim kadarıyla profiliniz anonim ve çok yakın arkadaşlarınız dışında kimse sizi tanımıyor. Önceki Yazılımcı’nın siz olduğunuzu bilmeyen birileri yanınızda yazdığınız tweetler veya hesabınızdan bahsettiğinde ne yapıyorsunuz?
Anonim olmak tweet’lerin etkisini daha da güçlendiriyor. İnsanlar yazdıklarımı okurken, kafalarında gerçekten kendinden önce çalışan yazılımcıyı ve üzerinde çalıştığı projeleri canlandırıyorlar.
Bu nedenle @oncekiyazilimci hesabını; “Hani hergün kodlarını açıp düzenlemek ve geliştirmek zorunda kaldığın proje var ya! Ha işte o kodları yazan adam benim!” cümleleriyle tanımlıyorum.
Önceki Yazılımcı hesabını oluşturduğumda, yaklaşık 1 yıl hiç kimse gerçek kimliğimi bilmiyordu. En yakınımda ki arkadaşlarımla bile paylaşmamıştım. Hatta o dönem bir çok bilişim etkinliğinde; “Kim bu Önceki Yazılımcı ya?” geyikleri dönüyordu. Nice babayiğit “Önceki Yazılımcı sen misin la!? Ben senden kıllanıyorum haa!” ithamlarıyla psikolojik baskıya maruz kalmış, sorguya çekilmiş. Temsili olarak kullandığım profil fotoğrafına benzetilen sakallı geek abilerimiz; “Twitter’da ki Önceki Yazılımcı sen misin?” sorularına muhattab olmuşlar. Bak yine goygoya sardık, uzatmadan konumuza dönelim.
Ne diyorduk, heh! Şu an @oncekiyazilimci hesabının kime ait olduğunu bilen, pekte azımsanmayacak bir kitle var malesef. Ben işin büyüsünün bozulmaması ve kişisel bir menfaat algısı oluşmaması için gerçek kimliğimi mecbur kalmadıkça dillendirmiyorum. Bu satırları okuyan ve gerçek kimliğimi bilen kişilere de mesajım; “Önceki Yazılımcıya sahip çıkalım, gerçek kimliğini çok dillendirmeyelim.”
Kimliğimin bilinmediği dönemlerde, çevremdekilere çaktırmadan tweet’lerimi okutuyor, tepkilerini ölçüyordum. Yazdıklarım hoşlarına gidiyordu ve hesabı takip etmeye başlamışlardı. Bir süre sonra benim ekstra bişey yapmama gerek kalmadı. Arkadaşlarım bana; “Ahaha çok komikmiş bu tweet ya” diye geri bildirim yapmaya başladılar. Artan retweet ve fav. sayıları da takipçi kitlemin ne tarz şeylerden hoşlandığı konusunda fikir sahibi olmamı sağladı.
Bir gün projelerin yoğun olduğu bir dönemdeyiz. Akşam mesaiye kaldık, yemek yiyeceğiz. Yemek gelene kadar da yazılımcı arkadaşım telefonundan twitter’a göz gezdirmeye başladı. Hemen akabinde bir kahkaha patlattı. Meğer benim @oncekiyazilimci hesabında yazdığım tweet’i okumuş ve buna gülüyormuş.
Gerçek kimliğimi kimsenin bilmediği dönemler de en büyük avantajım buydu sanırım.
Paylaştığım içeriklerde neye nasıl reaksiyon alacağımı birebir gözlemleyebiliyordum.
Sizden önceki yazılımcı meslektaşlarınızla aranız nasıl? Onları nasıl anıyorsunuz?
Siz de biliyorsunuz ki, genel de Önceki Yazılımcılar pek iyi anılmaz.
Mesela geçenler de bir projeyi incelerken http://on.fb.me/12l7ScO bu arkadaşın yazdığı kaynak kodlara denk geldim.
Benden daha kötü kod yazanlar da varmış…
Temiz kod yazmak sizin için hayatın anlamı mı, yoksa gereksiz bir uğraş mı?
Ben kişisel olarak kod okunurluğuna karşı fazla hassasiyet gösteriyorum.
Test etmek için yeni bir kütüphane kurdum diyelim. Ya da 3rd party bir API üzerinde denemeler yapacağım.
Bir daha kullanılmayacak, geliştirilmeyecek olduğunu bildiğim halde değişken isimleri, boşluklar, klasör yapısı vs. düzenli olmazsa rahat edemiyorum.
Ya da bir arkadaşım, geliştirdiği projeyle ilgili bir şey sordu diyelim. Kod blokları karman çormansa başlıyorum ilk baş onları düzeltmeye, sonra soruya / probleme odaklanıyorum. Buna simetri hastalığı mı deriz başka bir şey mi bilemiyorum.
Bazen arkadaşlarıma; “Niye bu kodlar sağa sola dağınık, düzenli değil ki?” diye soruyorum.
Genellikle rutin bir cevap alıyorum; “Oraları aceleyle yaptım ya, deadline sıkışık sonra düzenleyeceğim”
Ama daha sonra kimse geriye dönüp o karışıklığı düzenlemiyor.
Çünkü çalışan koda dokunulmaz(!)
Çalışan bir kodu değiştirelim dediklerinde tepkiniz ne oluyor? Çalışan kodu değiştirmek, refactor yapmak konusundaki düşünceleriniz nedir?
Herkes kendi yazdığı, hakim olduğu bir proje üzerinde geliştirme yapmayı tercih eder.
Ama uzun soluklu projelerde refactoring yapmak tercih değil, mecburiyet.
Dokümantasyon, design pattern, test vb. konuları bol bol dillendirmemizin sebebi bu olsa gerek.
Aslında biraz empati kursak problemler çözülecek;
“Bu proje bana bu halde teslim edilseydi geliştirmem / adapte olmam ne kadar kolay olurdu?”
Senden sonraki meslektaşına refactoring etmek istemeyecekleri projeler bırakıyorsan, başkaları da sana refactoring etmek istemeyeğin kod satırları bırakır.
Yazdığın kodları sizden devralacak kişiler için neler yapıyorsunuz? Örneğin bugün sizden “Sonraki Yazılımcı” için neler yaptınız?
Daha önce çalıştığım şirketlerden birinden şöyle bir anım var.
Önceki Yazılımcı işten ayrılmış ve şirkete yeni yazılımcı almışlar. Yıllardır devam eden proje de hiç bir dokümantasyon olmadığından, adapte olmak ve refactoring çok meşakkatli bir işmiş.
Yazılımcı arkadaş bu sıkıntıları yönetime anlatmış ve developer klasiği olan “BAŞTAN KODLAYALIM” evresine gelmişler. Gece gündüz mesaiye kalınmış, bir çok fedakarlık yapılmış ve modern yöntemler kullanılarak proje baştan hazırlanmış.
Gel zaman git zaman derken bu yazılımcı da işten ayrılmaya karar vermiş.
Sonrasında projeye ben dahil oldum.
Önceki Yazılımcı(lar)’dan ve doküman olmamasından şikayet edip projeyi baştan kodlayan arkadaş, tıpkı eski proje de olduğu gibi, hiç bir şeyi dokümante etmemiş.
Ben projeyi devam ettirmek istediğimde satırlarca kod, class, fonksiyon, dizin incelemek ve yapıyı anlamaya çalışıyordum.
Projeyi “baştan kodlamak” ne işe yaradı ki şimdi? İşe yeni başlayan herkes çözümü baştan kodlamakta mı aramalı?
Bu nedenle kişisel olarak en çok dokümantasyona önem veriyorum.
Projeye yeni biri dahil olduğunda neyin nerede(n) ne için yapıldığını minumum eforla anlayabilmeli.
Rest API hazırlıyorsam önce mimariyi canlandırıyorum. Sonrasında hangi endpoint, hangi http metoduyla çalışır, hangi parametrelere sahiptir, hangi senaryoda nasıl response döner … gibi gibi tüm detayları dokümante ediyorum. Bu doküman üzerinden işi koda dökmek kalıyor geriye.
Tabi bazen Önceki Yazılımcıyı haklı bulduğumuz anlar da olmuyor değil.
Yazılımcıya öylesine komik bir deadline vermişler ki, adamın iki ayağı bir pabuca girmiş projeyi yetiştirmeye çalışıyor.
Bu şartlarda dokümantasyonu geçtim, yazılım mimarisinin bile sağlıklı olmasını nasıl bekleyebiliriz ki.
O gerçeklikten uzak deadline’ı belirleyen proje sahibi, en çok kötülüğü kendine yapıyor farkında değil.
16 Comments
Halil İbrahim Kalkan
22 Temmuz 2015 at 22:02Keyifli bir sohbet olmuş, dahasını da bekleriz
Victor Tomaili
22 Temmuz 2015 at 22:13Hayır da neden ben diye ciddi ciddi yorum yazıyordum
Ahmed Saglam
23 Temmuz 2015 at 02:34Bunlar les ajans yazilimcisi geyikleri Zaten cogusu ne yaptigini ve nasil yaptigini bilmiyor genelde basit islerle ugrastiklari halde. Bir de ustune “deadline” eklenince ortaya “onceki yazilimci” denen adam cikiyor. Herbiri otekinin onceki yazilimcisi.
Selametle.
Tolga
23 Temmuz 2015 at 15:13Ahmet Sağlam Bey neden böyle bir kanıya kapılmış anlayamadım. Bu durumun ajans yazılımcısı olmak ile ne ilgisi var? Ben bir ajansta çalışma fırsatı bulamadım şimdiye kadar. Genelde yazılım evlerinde, kurumsal firmalarda, banka ve sigorta şirketlerinde çalıştım. Çok kısa bir süre kendi firma deneyimimde oldu. Röportajda bahsedilenler neredeyse her yerde geçerli, ne yazık ki.
Fatih Dumanli
23 Temmuz 2015 at 15:25OOO ÖNCEKİ YAZILIMCI Mustafa Kasap’ın fedailerindenmiş demek :)))
Yunus Emre
23 Temmuz 2015 at 19:55okumadan önce çok çok uzunmuş bu ya dedim. şimdide keşke daha uzun olsaymış diyorum. çok eğlenceli akıcı bir yazı olmuş bir solukta okudum tabiri caizse. önceki yazılımcı panpişimizi severek takip ediyoruz zaten.
Mustafa Torun
24 Temmuz 2015 at 11:01Ama şimdi ben sonraki yazılımcı aklıma gelince bir damlacık yaş akıtmaktan gözümden kod yazamıyorum.
Cem Şerit
24 Temmuz 2015 at 13:30hesabı yeni buldum baya komik tweetler varmış. Nesne yönelimli programlama öğrenmeye çalıştığım bir dönemde https://twitter.com/oncekiyazilimci/status/390428945176219648 buradaki tweet kahkaha attırdı.
isa
30 Temmuz 2015 at 14:03Güzel noktalara değinmiş. dökümantasyon önemli
korkutulan adam
15 Ağustos 2015 at 18:58http://on.fb.me/12l7ScO olum böyle şaka yapılırmı lan !
Hidayet Ok
13 Aralık 2016 at 13:52Tam da stalk yapmaya başlamıştım. Hanım koş tüfeğimi getir demek üzereyken bunu gördüm
Adem
19 Ağustos 2015 at 13:57Şuursuzca o linke tıkladım evet ben de.. Ve 3 sn lik bi mallık.. Ardından en yakın arkadaştan şüphelenme.. Ve kendini mal hissetme anı
Ne güldüm ya :))
Rakamlarla Devnot 2015 | Devnot
2 Ocak 2016 at 10:39[…] Röportaj: Önceki Yazılımcı […]
Eren
20 Haziran 2016 at 17:21Bu sektörde çalışan yada çalışmayı düşünenler için faydalı tavsiyeler içeren güzel bir yazı olmuş.
Onur
12 Eylül 2017 at 22:49bu abiyi devnot tv de istiyoruz çok geyik döner
Osman Koç
22 Ekim 2018 at 08:16Keşke daha uzun olsaydı dediğim yazılardan biri! Okurken bol bol güldüm. Önceki Yazılımcıyı severek takip ediyoruz