Bir Başka Yazılım Geliştiricilere Öğütler Yazısı

serdar
3 min readMar 11, 2017

Bu yazı, yazılım geliştirme işine yeni başlayanları hedef alıyor. Bu konuda yazılmış yazıları da yorumlayarak, kendi deneyimlerimle birleştirdiğim bir öğüt listesi. Bu öğütler size klişe gibi durabilir ve bu öğütlere ihtiyacınız olmadığını düşünebilirsiniz. Ama farkında olmadan bu hataları yapıyor da olabilirsiniz.

İnsan olduğumuz için hata yapmamamız diye bir şey söz konusu değil. İlk kabullenmeniz gereken şey, özellikle kod yazarken, hata yapma olasılığımızın her zaman var olduğudur. Umarım yaptığınız hataları iş işten geçmeden fark edersiniz. Yedekleme sistemleriniz kaliteli kurgulandığı sürece hata yapmaktan hiç korkmayın.

Birisi size hatanızı gösterdiğinde ona teşekkür edin ve insanlara yazdıklarınızı eleştirmeleri için fırsat verin. Zamanla hata yaptıkça bir şeyler öğrendiğinizi fark edeceksiniz. Eğer o hatayı fark etmeseydiniz deneyime dönüşmeyecekti ve o hatayı tekrar etmeye devam edecektiniz.

Bir meslektaşınıza geri bildirim vermek isterseniz ya da geri bildirim vermek zorunda kalırsanız, kibar olmak için ekstra gayret sarf etmelisiniz. Cümleleriniz kişiyi değil, yazılan kodu eleştirmeli. Sizin kültürünüzde kibar olan bir davranış başkasının kültüründe çok sert olabilir. Türkiye’de yaşıyor ve çalışıyorsanız, ne kadar dikkat ederseniz edin, büyük ihtimalle ukala olduğunuzu düşünecekler! Ama toplumunuzun, çalıştığımız sektörün bir adım öteye gidebilmesi için, gelecekte işler bizden sonrakiler için daha da kötü olmasın diye geri bildirim vermek zorundasınız.

Bir yazılım geliştirici için geri bildirim almanın en verimli yolu Github gibi bir kod paylaşım ortamlarına bir şeyler yüklemektir. Yaptığınız projeyi, Github’a yükledikten sonra geliştirici guruplarına paylaşımınızın bağlantı adresini gönderin. Daha tecrübeli ya da daha başka açılardan bakan insanlardan aldığınız geri bildirimlerle iş yapma kalitenizi arttırabilirsiniz. Ben bu yöntemi ağırlıklı olarak altdotnet türkiye eposta gurubunda uyguladım. Ve bu işe başlarken hayal bile edemediğim kadar kendimi geliştirdim. Sorularımda bana yardımcı olan herkese bir kez daha teşekkür ederim.

Yazılım sektöründe gündem ve metodolojiler 2–3 yıllık periyotlarla çok ciddi değişiyor. Değişime ve sürekli yeni şeyleri öğrenmeye hazırlıklı ve istekli olmalısınız. Eposta gurupları gündemi takip edebilmeniz için gereklidir. Bazen guruplar çok aktif olur ve işe olan odağınızı kaybettirebilir. Gurupların haftalık eposta özetlerinin gelmesini tercih edebilirsiniz.

Yenilikleri takip ederken de dikkatli olmalısınız. Her popüler konuya ilgi duymadan önce büyük resme bakıp gelecekte bu teknoloji yaşayacak mı? 5 sene sonra da işinize yarayacak mı diye düşünün. Ben hayatımın 2 yılını Macromedia Flash scriptlerine, 3 yılını asp.net page life cycle’a kaybettim. (Anglosakson oyunlarına dikkat edin! Hiç bir frontend framework sonsuza kadar yaşamaz…)

Kendinize bir alan seçin ve o alanda uzmanlaşmaya çalışın. Çok fazla alt alan var ve tümünde uzman olmak imkânsız. Veri işleme, sistem mimarisi, web uygulaması ön yüzü, mobil uygulama ön yüzü konularından birini seçin… İkisini yarım bileceğinize birini tam bilin.

İlk yıllarda öğrendikleriniz buzdağının sadece görünen yüzüdür. Eğer hırsınızı dizginleyemezseniz, çok şey öğrendiğiniz yanılgısına düşersiniz. Bilmediğimizi bile bilmediğimiz şeylerin bize yanlış yaptırması ilk yıllarda kaçınılmaz. Başlarda verdiğiniz kararlara şüpheyle yaklaşın. O konu daha ne kadar derinlere iniyor hep merak edin! Merakla okuyup araştırdıkça, yeteneklerinizin arttığını fark edeceksiniz.

Birlikte çalıştığınız kişiler size bir şey öğretebilecek kişiler değillerse, ya da öğretebileceği şeyler olmasına rağmen öğrenebilmeniz için uygun ortam yok ise oradan gitme vaktiniz gelmiştir. İlişkilerinizi koparmadan bir sonraki maceranıza hazırlanmanız daha çok şey öğrenmeniz için doğru bir karardır.

Verimli çalışma ortamı için takım arkadaşlarının uyumu yeteneklerinden daha öndedir. Uyum sağlayabileceğiniz insanları aramalısınız.

Burada şunu da belirtelim, daha çok şey bilmek ile daha rahat bir kariyer arasında bir doğru orantı yok. Daha çok şey bilirken de şansa ihtiyacınız var.

20 yıl önce yazılım geliştiricinin öncelikli görevinin çalışan programlar geliştirmek olduğu söylenebilir. Ama bugün her yerde çalışan (çalıştığı düşünülen) ürünler var ve dahil olacağınız takımların en çok zaman kaybettiği şey daha önce yazılmış kodun üzerinde geliştirme yaparken önceki geliştiricinin ne yaptığını anlamaya çalışmak. Bugün yazılım geliştiricinin öncelikli görevi, yaptığı işi devralan arkadaşlarının zorlanmadan işin bakımını sürdürebilmesidir. Yazılım geliştirme bir takım işi ve takımınızın kullandığı ortak dil (design patterns) tasarım kalıplarıdır. Tasarım kalıplarını uygulayarak işler yapmaya çalışın.

Blogları okuyun, kitapları okuyun, Wikipedia’yı okuyun… Mutlaka çok okuyun!

Yazılım geliştirme tembel adam işi değil. Çok çalışmak zorundasınız ama korkmayın ve vazgeçmeyin. Hiç dinlenmemek üzere yola çıkanlar, asla yorulmazlar.

Sizin için sürekli gelişmek bir yaşam tarzı olduktan sonra, en az 50 yaşına kadar da gelişmeye devam edeceğinizi aklınızdan çıkarmayın…

Yazıyı atamızın bir başka özlü sözüyle bitirelim. Çalışmadan, öğrenmeden, yorulmadan rahat yaşamanın yollarını alışkanlık haline getiren uluslar önce onurlarını, sonra özgürlüklerini, daha sonra da geleceklerini yitirmeye mahkumdurlar.

--

--

serdar

Hi, I love to develop web applications & data services. I believe in resource based economy.