İlkokul ikinci sınıfta "ismin halleri" adında bir konu öğretilir ve "işaret, yönelme, bulunma ve ayrılma" halleri olarak vurgulanır. Bana göre, bir yazılımcının da buna benzer halleri vardır. Yazılımcının gözlemleyebildiğim kadarıyla bu kadar çok hali yok. İki veya üç ile kısıtlayabiliriz: yönelme, bulunma ve ayrılma hali.
Bir proje yeni başladığında, yazılımcı "tutkulu" halindedir. Tutkulu haldeki bir yazılımcıyı işe yönelmiş olarak tanımlayabiliriz. Bundan dolayı bu duruma yazılımcının "e" hali diyoruz. Tutkulu haldeki bir yazılımcı, projede takıldığı problemleri akşam mesai dışında makale okuyarak, gidermek üzere yol haritaları ve denenecek seçenekler listesi çıkartır. Sabah kahvaltısını beklermek pahasına, bir şevkle yeni teknikleri deneyerek dünden kalan problemlerin üstesinden gelmeye çalışan birini görüyorsanız, bu yazılımcıyı tutkulu haldeki yazılımcılar listesine kaydedebilirsiniz.
Ancak insanların da havalar gibi ne yazık ki ruh halleri değişkendir. Bunun bir çok nedeni olabilir. Yolunda gitmeyen özel hayat, proje yöneticisinin ekibe yeterince heyecan aşılayamaması, (hatta ekibin motivasyonunu kırması,) işin çok stresli olması, projenin atlanması zor bir probleme dayanmış olması... gibi. Özellikle proje beliri bir sürede sonuca ulaşmazsa veya yazılımcı proje ile ilgili motivasyonunu herhangi bir sebepten kaybederse "günübirlik" moduna geçer. Günübirlik halini de yazılımcının "den" hali olarak yorumlayabiliriz. Günübirlik modundaki bir yazılımcı, rutin bir iş tanımı olduğu sürece üretkenliğinde bir kayıp olmayabilir ama ciddi kararlar vermesi gerektiğinde odaklanamayabilir. Günübirlik bir yazılımcı ise daha çok hayatın kargaşasında kaybolmuş biri gibi davranır. Her sabah aynı sitelerden haber okurken görebilirsiniz bu haldeki bir yazılımcıyı veya aynı pastaneden pohoça alırken. İş listesini genellikle projenin durumu hakkında bir şey sorulduğunda hatırlar.
Günübirlik modundaki bir yazılımcıya bu moddan çıkmak için şunlar önerilebilir:
- Herkesin inişi çıkışı vardır. Mühim olan inişleri hissedip çıkışlar için kendi kendine motivasyon sağlayabilmektir. Günübirlik modunuzda, projenin rutin kısımları üstünde çalışmak, çıkışa geçtiğinizde size odaklanma gerektiren bölgeleri de bitirerek projeyi zamanında yetiştirme şansı verebilir.
- Takıldığınız bir problem varsa yazılımcı arkadaşlarınızın fikirlerine başvurmak size cesaret verebilir. Unutmayın çok zeki bir insandan ortalama zekadaki üç insan daha fazla şey üretme potansiyeline sahiptir. Hem ayrıca, bir problemi genellikle "çok zekice " bir yolla çözmeyi denemenin maliyeti büyüktür. Ama aynı problemi "orta zekice" çözüp geçmek bazen daha verimli olabilir. Voltaire'e atfedilen bir söz vardır: "En iyi, iyinin düşmanıdır". "iyi" bir çözüm ile sorunu geçip gidin. En iyinin peşinden gidip projeyi riske etmeyin.
- Problem özel hayatınızla ilgili ise üstesinden belli bir sürede gelememeniz halinde "iş aramak" gibi başka bir probleminizin daha olacağını hatırlayıp bir an önce problemi halledin veya en azından zihninizde halledin.
- Uzunca bir süre günübirlik halde yazılımcı kariyerinizi devam ettiremeyeceğinizi bilmenizde büyük yarar var. Eski güzel günlerin hatırına bir süre sizi proje ekibinin taşıyabileceğini ama sürekli bu halde kalmanıza ancak annenizin tahammül edebileceğini kendi kendinize algılayabiliyor olmalısınız.
Öte yandan, Belirli bir sürede günübirlik modundan çıkamayan yazılımcı proje ekibi adına ciddi riskler doğurabilir. Bu durumu engellemek için, proje yöneticilerinin günübirlik modundaki bir yazılımcıyı boğulmaktan(hatta ekipten kopmaktan) kurtarmak için ip merdiven sallandırmasında büyük yarar var. Proje yöneticileri için yapılacaklar listesi( "merdiven" olabilecek önlemler) şu şekilde sıralanabilir:
- Büyük resmi ve hedefleri yazılımcıya tekrar açıklamakta fayda var. Muhtemelen öncelikleri değişmiş ve projeye tekrar odaklanamamış bir durumda ise bu durum faydalı olacaktır.
- Motive edici unsurlarla günübirlik yazılımcının algılarına erişerek tekrardan önceliğini artırmak ve odak noktasına çekebilmek. Motive edici unsurlar olarak, Yemeğe çıkarmak, projenin önemini vurgulamak, iş takvimi hakkında tekrardan bilgi vermek, eskiden yaptığı önemli işlere atıfta bulunarak bu durağanlığı atlatması konusunda güven duyulduğunu vurgulamak...
- Özel hayatı ile ilgili bir problem olup olmadığını- yapılabilecek bir şeyler olup olmadığını kontrol etmek.
Yazılımcının her zaman tutku ile bütün takımı sırtlamasını veya motivasyonunu kaybedip takıma yük halini almasını beklememek gerekir. Bunların dışında bir yazılımcı "bulunma" halinde de iş üretir ve vasat bir şekilde enerjisini ortaya koyar. Mantıklı işlere yönlendirildiği sürece takımı tamamlar ve iyi işler çıkartabilir. Bu nedenle bulunma hali, olağanüstü bir hal olmayıp olağan hal olarak karşılanmalıdır.
Bütün yazılımcılara "tutku" halinde kalmaları temennimle.