İyi bir yazılımcı mısın?

15 senelik yazılım dünyasında elde ettiğim tecrübelerimi kısaca sizlerle paylaşmak istiyorum.Sizlere neyi nasıl yapmanız gerektiğini söylemek gibi bir amacım yok. Aslında iş hayatında bunlardan özellikle bazılarını uygulamanın zor  olduğunu tahmin edebiliyorum. Yine de sürekli olumsuzluklardan şikayet etmek yerine olması gerekini paylaşmak ve bu sayede ufakta olsa bir farkındalık yaratmanın önemli olduğunu düşünüyorum.

1) Zamanın kıymetini bilir.

Gereksiz toplantılardan uzak duran  daha doğrusu planlanmamış ve  hedefi olmayan toplantılardan uzak durmalıdır. Pomodoro tekniği kullandığımdan başladıktan sonra, daha doğrusu ölçümleme yapmanın önemini farkettiğimde zamanı iyi kullanamadığımını anladım. Demek ki ölçemezseniz iyileştiremezsiniz.

2) Kendini sürekli geliştirir.

Kolay olmadığının farkındayım ama günde 2 Pomodoro yeni teknolojiler için ayırabilir misiniz? İyi bir yazılımcı yazılım geliştirme süreçlerini ve desenlerini bilmelidir.

3) Sorumluluk alır.

Türkiye’de eksik noktalardan birisi maalesef sorumluluk almamaktır.Yazılan kodun kalitesinden ve testlerinden o işi  yapan kişi sorumludur. Senin yazdığın kodu başkası test sırasında hatasını bulmak zorunda değildir. Sorumlululuğunu almalı ve kaliteli kod yazmaya başlamalısın. TDD ve BDD yaklaşımları bu noktada benimseyebilirsiniz.

4) Dinlenmesini bilir.

Yazılım geliştirme depar atmaktan çok uzun bir maratona benzer. Enerji seviyenizi iyi kullanmanız çok önemlidir.  Sürekli çalışma zamanla beyin körlüğüne sebep olur (Writer’s block). Karşı önlem olarak dinlenme zamanlarını ayarlamalı ve Çiftli Çalışma/Kodlama (Pair Programming) yaklaşımını benimsemeliyiz.

5) Zor durumlarda soğuk kanlıdır.

Zor durumlarda çiftli programlama (pair programming) her zaman en iyi sonucu verir. Aynı şekilde diğer takım arkadaşlarının zor durumlarında onların yanlarında olmalıdır.

6) Hayır demesini bilir.

Hayır demek aslında doğru işe evet demektir. Hayır demenin özellikle üst yönetime karşı zor olduğunu farkındayım.Gerekçelerini ortaya koyarak savunulan bir hayır evetten daha değerlidir.Şunu da unutmamanız gerekir; karşı tarafa verilen tahminlemeler bir taahhüte dönüşebilir ama yazılımcılar için tahmin sadece bir tahmindir.  Bu noktada #noestimates ve istatistiksel yaklaşımlar çok değerlidir.

7) Yaptığı işin gerekliliklerini bilir.
Aslında domain bilgisinden bahsediyorum. Örneğin muhasebe uygulaması yazan bir yazılımcının muhasebeden anlamaması yaptığı işin kalitesini ve üretkenliğini etkilememesi imkansızdır.

8) Sürekli pratik yapmaya devam eder.

Okuyan, pratik yapan (Kata) ve öğreten yazılımcı etrafına ışık saçan bir kişidir. Boy Scout kuralına göre: “Ortalığı her zaman bulduğundan daha temiz bırak. Böylece bir sonraki sefer daha yönetilebilir bir tablo ile karşılaşabilirsiniz.”

Gerçek hayatta hangilerini uygulayabiliyorsunuz ?

Görüşmek üzere,
Altuğ Bilgin Altıntaş
No Comments

Post a Comment

Comment
Name
Email
Website