Sitemap

Alçakgönüllü Yazılımcı

4 min readSep 3, 2023

Not: Bu hikayede anlatılanlar tamamen(!) hayal ürünüdür :)

Okuduğum kitapta, Edsger W. Dijkstra’nın The Humble Programmer(Mütevazı Programcı) adlı makalesini duydum ve bu hikayeyi yazmama ilham oldu. Makalenin içeriğini detaylı incelemedim ama başlığı hoşuma gitti. Yazıya şuradan ulaşabilirsiniz.

nytimes.com

Bu yazıyı, yardımlaşma duygusuyla her daim arkadaşlarına elini uzatan, tüm yardımsever yazılımcılara(ve tüm farklı mesleklerde çalışanlara) armağan ediyorum.

Alime sormuşlar, “edebi kimden öğrendin?” diye. Alim de, “edepsizlerden” demiş.

Hikayemizin kötü tarafından başlayalım.

— Cenk(öğrenmeye açık, mücadele eden bir Junior Yazılımcı): Hasan abi selam, şu Java projesini Weblogic sunucunda test ortamına nasıl deploy edebilirim.

— Hasan(dinozor, kimseye bir şey öğretmeyen, tek takılmayı seven, suratı asık Senior Yazılımcı): (Surat beş karış…) Bak güzel kardeşim, bize kimse öğretmedi bunları, kendimiz öğrendik. Sizleri anlamıyorum her şeyi başkasından bekliyorsunuz. Neyse, şuradan bir çay getirirsen, senin için tek seferlik yaparım ama kendin öğrenmen lazım bu işleri.

— Cenk: (Kafasını öne eğer…) Müşteri uygulamayı test etmek için deployu bekliyor, zaman kısıtlı olmasa kendim araştırıp kurcalardım ama sürem çok kısıtlı. Kusura bakma, çayı şekerli içiyordun değil mi?

Bir süre sonra çay gelir.

— Cenk: Getirdim abi. Bakabildin mi deploya?

— Hasan: Dur kardeşim, ne sabırsızsın, acil başka bir iş çıktı (10 dakikadır alacağı yeni arabanın araştırmasını yapıyordur), bakamadım. Tamam neyse bu seferlik hallediyorum ama dediğim gibi, bu işleri senin öğrenmen lazım. Her işi bizden beklemeyin artık!

— Cenk: (Boynu bükük bir şekilde…) Teşekkürler abi, kendim öğreneceğim en kısa zamanda.

Cenk, içinden çok şey geçirir. Çok şey söylemek ister ama “ya sabır” der ve susar, kendi kendine. Bu yaşadıklarından sonra, 1000 sayfalık Weblogic kitabını eline alır ve okumaya başlar. Bu işleri, en kısa zamanda öğrenmem lazım, diye düşünür.

Şimdi, bu olay üzerine ne anlamalıyız? Senior Yazılımcı, bu kadar kötü davranmak zorunda mıydı? Yoksa Junior mı yanlış yapmıştı, yanlış adama soru sorarak? Şimdi hikayenin farklı bir versiyonunu dinleyelim.

— Ali(öğrenmeye açık, sorgulayan Junior Yazılımcı): Kamil abi, yeni bir mikroservis yazdım ama Api Gateway’den benim servise istekler düşmüyor? Neden olabilir acaba, beraber bakabilir miyiz?

— Kamil(gençlere yardım etmeyi seven, güleryüzlü Senior Yazılımcı): Tabi Ali’cim, 2 dk elimde çok acil bir iş var. Ondan sonra hemen yanına geleceğim.

10 dk sonra…

— Kamil: Geldim Ali, kusura bakma, hata düşündüğümden daha uzun sürdü ama çok şükür sonunda çözebildik. İyi ki unit testlerimiz varmış. Onların sayesinde hatayı bulabildim. Eğer debug filan etseye kalksaydım, çok daha uzun sürerdi.

— Ali: Önemli değil abi, düşünmen bile yeter. Yazılımda testler çok önemli değil mi abi?

— Kamil: Önemli olmaz mı? Uzun vadeli, bakımı sürdürülebilir bir proje istiyorsan, test olmazsa olmazlardan. Onların sayesinde manuel testlerden tamamen olmasa da kurtuluruz ve kodumuzu öz güvenli bir şekilde geliştiririz. Neyse konuyu dağıttım, sorun nerede demiştin?

— Ali: Olur mu abi? Senin bu tecrübelerinden verdiğin örnekler bizim ufkumuzu açıyor. Senior olmak için varmak istediğimiz hedefe, çok daha kısa sürede ulaşmamızı sağlıyor. Tekrardan teşekkürler. Soruma gelirsek, abi eklediğim yeni servis, Api Gateway’den benim tarafa düşmüyor. Neden olabilir sence?

— Kamil: Api Gateway’deki routing configlerini kontrol ettin mi? Endpointini kapsıyor mu?

— Ali: Ettim abi, kapsıyor. Benzer şekilde Mehmet’in yazdığı servisin de tanımı var, onun servisine düşüyor ama benimkine düşmüyor.

— Kamil: O zaman sorun büyük ihtimalle Web Application Firewall kaynaklıdır. İstekler Firewall’a takılıyordur. Onun için, Network ekibinden Ayşe var. Çok güleryüzlü, yardımsever bir arkadaş. Ona selamımı söylersen, kısa sürede sorununu çözer. Eğer çözülmezse, tekrar bir bakalım.

— Ali: Çok teşekkürler abi. Yardımın için minnettarım.

— Kamil: Ne demek Ali’cim. Her zaman rahatlıkla sorularını sorabilirsin. Biz de senin geçtiğin yollardan geçtik. Yazılım işlerinde yardım, olmazsa olmazlardan. Tek başına 1 haftada varacağın mesafeyi, ufak bir yardımla 1 saatte alabilirsin. Şirketimiz de sağolsun, bu konularda bizi teşvik ediyor. Kitap okuma seanslarını ve Teknoloji Konuşmaları seanslarını bu gibi sebeplerden yapıyoruz.

— Ali: Haklısın abi, geçen ben de, arkadaşa bir konuda ufak bir yardımım dokundu. 2 saattir debug ile debelenip duruyordu. Ufak bir el atınca, 5 dakikada sorunu çözdük. O yardım duygusu, inanılmaz bir histi. Sırf o duygu için bile, başkasına yardımcı olunur.

— Kamil: Sevindim, şirketimizde yardımlaşmayı artırmamız lazım. Herkesin bilgi ve birikimini artırdığımızda, çalışması çok daha zevkli bir yer haline geliriz. Çok daha kaliteli güzel tartışmalar ortaya çıkar. Sana güzel bir fikir, bir sonraki Teknoloji Konuşmaları’nda yaşadığın bu sorunu, arkadaşlarımıza da aktarıver. Bu sayede, onlar da öğrenmiş olurlar.

— Ali: Harika fikir abi, sorunun çözümü sonrasında ufak bir sunum hazırlayayım.

— Kamil: Şimdiden eline sağlık.

2 farklı hikaye, 2 farklı davranış. Hangisini seçmeliyiz? Hangisi bizi(şirketimizi, ülkemizi, dünyamızı) daha ileriye taşır? Yardım etsek ne kazanırız, etmesek ne kaybederiz? Güleryüzlü olmak bu kadar zor mudur? Günün aşağı yukarı 10 saatini geçirdiğimiz insanlarla, yardımlaşma temelli güzel bir ortam kursak, çok şey kazanmaz mıyız? Saygılarımla.

--

--

Responses (2)