Göç Zamanı ve Limonlu Soda Keyfi

July 31, 2010

Göç Zamanı
Futbol ile programcılık arasında bir benzerlik var desem ne dersiniz? Doğruyu söylemek gerekirse, Metin, Ali, Feyyaz, Prekazi, Simoviç, Rıdvan vb... isimlerin Türkiye'nin gündeminden düşmesi ile futbolun benim gündemimden düşmesi aynı zamana denk gelir. Anlayacağınız futboldan anlamamda, keyif almamda. Ama bildiğim kadarıyla, futbolcular 30-35 yaş aralığına gelince emekliliğe ayrılmaya zorlanıyorlar. Devam etmek isteselerde hiçbir kulüp onları kadrolarında görmek istemiyor. Haksız değiller tabii, genç, yetenekli ve hızlı bir futbolcu ile tecrübeli bir futbolcu arasında tercih yapmamı isteseler bende genç, yetenekli, ucuz ve hızlı futbolcuyu tercih ederim. Teknik direktörün görevi zaten "tecrübelerini paylaşmak" değil mi?

Yazılım dünyasında da durum pek farklı değil, 30'lu yaşlarına gelen yazılım geliştiricilerin birçoğu stabil bir moda geçiyor. Özellikle evlendikten sonra bu daha net gözlemlenebiliyor. Evlilik programcılık arzusunu öldürüyor mu (: bilmiyorum ama evlendikten sonra mesleki bilgisini güncellemeyen ve halen Visual Basic yazarak hayatını kazanan bir insanla tanıştım. Kendisini neden geliştirmediğini sorduğumda, aldığım cevap; "çevresindeki insanların VB geliştiricisi olduğundan (yazının ikinci bölümünde bundan bahsedeceğim) ve iş ortamında Visual Basic'in kendisine yettiğini" söyledi. Müşterilerininde hangi teknolojiyi kullandığını önemsemediğini belirtti. Duvara çok kötü toslayacağı kesin! (: Peki sektörü yakından takip eden, bilgilerini sürekli güncelleyen bir kişinin akıbeti sizce ne olur?! Eğer bu kişi yönetim pozisyonuna geçiş yapmazsa maalesef aynı akıbete uğrayacaktır. Futbol ile ilgili örneğimize geri dönersek, bu kadar iyi olan insanlardan teknik direktörlük yapması beklenir. Ve deneyimlerini genç programcılara aktarması beklenir. Bir programcı olarak kendinize sordunuz mu, teknik direktör olma şansınız nedir? Aslına bakarsanız çok iyi olan programcıların hepsi bu pozisyonlar için uygun değildir. Bazı pozisyonlar için insan, stres, risk ve zaman yönetimi gibi yetenekler gerekir. Ama bu becerileri istemeyen yöneticilik pozisyonlarıda vardır. (Mimarlık gibi.)

Yukarıda saydığım bazı yeteneklerden bazıları kazanılamayacağı gibi bir kısmının da öğrenilmesi mümkündür. İşte genç yazılım geliştiricinin yapması gereken bu eksiklerini tespit etmesi ve tamamlaması gerekir. (İyi bir yöneticiniz varsa size bu konuda yardımcı olacaktır.) Tercih edilmenizi sağlayacak karakteristik özelliklerin dışında, bakılan diğer şeylerde, sertifikalar ve ne kadar insanın sizi önerdiğidir. Örneğin; Proje Yöneticisi olmak istiyorsanız, dünyaca kabul gören sertifikalardan biri olan PMP sertifikası hedeflenebilir. Ya da yazılım mimarlığı için, SCEA (Sun Certified Enterprise Architect) ya da OpenGroup tarafından desteklenen TOGAF çerçevisinin sertifikasıda hedeflenebilir. Hangi alanda olursa olsun bir yöneticinin ingilizcesi şüphesiz pürüzsüz olmalıdır. Zaten bu bildiğim tüm sertifikalar için şüphesiz ön koşuldur.

Tabii herkes teknik direktör olamaz bazılarımızda gündemi oluşturan kişi yani yorumcu olur. Bakınız Rıdvan Dilmen. Adam Fenerbahçe'de teknik adam olarak pek birşey yapamasa da (kimine göre yaptırılmasada!), gördüğüm en iyi yorumculardan biri :) Belkide yazılım geliştirici olarak siz, bir yönetim pozisyonunda değilde açık kaynak bir projede gündemi belirleyen projelere imza atabilirsiniz. Gelir modeliniz, açık kaynak bir proje üzerine kurulu olabilir ve tanınan biri olabilirsiniz. Bu konuda aklıma gelen örnekler bizden Cenk & Çağatay Çivici'nin PrimeFaces isimli proje ve şirketleri. Açık kaynak projeler görüldüğü kadar kolay değildir. Topluluk'un saygısını gerektirir. Bolca dökümantasyon, anlaşılabilir ve kaliteli kodlar ve bolca çalışma ve yama gönderen bir sürü insan. :P

Son çıkış yolu ise bir girişim kurmaktır. Bence en zor olanıda bu. (: Çünkü burada yukarıda saydığım özelliklerin hemen hepsine sahip olmanız ve dünyanın gündemine oturacak şeyler yapmanız ve önemli kararlara liderlik etmeniz vb. şeyler gerekir. Elbette kimse sertifikalarınızla ilgilenmez ama zamanı, riski ve insanı yönetemezseniz sonunuz yakın demektir. Ama buda yeterli değildir dünyanın gündeminide değiştirmeniz beklenir.

Yukarıda yazdıklarım 30 yaşın getirdiği derin düşünceler. Bir karar anı, dürüst olmak gerekirse ben bu ruh halini 35 yaşıma kadar beklemiyordum. Proje yöneticiliği pozisyonlarını hep elimin tersiyle ittim. Ama çalıştığım şirketlerde, iyi yöneticiler kadar, yukarıda saydığım özelliklere sahip olmayan, kötü, kalitesiz ve sadece dikta ederek yönetici olunduğunu düşünen, sözde proje yöneticilerini gördükçe neden bu tarafa kaymadığımı düşünmeye başladım. Evet size yazının başından beri söylediğim özelliklere sahip olmayan insanlarda proje yöneticisi olabilir. Ama bu kalitesiz işler ve mutsuz geliştiriciler anlamına gelir. (Yazının ikinci bölümünde bundan söz edeceğim.) Ve yazılım baştan sona bir ekip ruhu gerektiren bir takım oyunudur. Ekipte herkes değerli ve eşit seviyededir. Belki ideal proje yöneticisi profilini sonra tekrar gözden geçiririz.

Açık kaynak projeler geliştirmeyi denemiş olsamda (eminim hiçbirini (: duymamışsınızdır!) topluluk konusunda ve devamlılık konusunda pek başarı olmadığım için artık bu tarafta çalışmalarımı askıya almaya karar verdim. Açık kaynak projelere, kullanıcı cephesinden bakacağım bir süre.

Bir önceki yazımda da bahsetmiştim. Çok kadın hiç kadındır diye. Yazılım geliştirmenin bir çok alanında olmak istiyorum. İşin marketing bacağında da, network bacağında da, bu sebeple işime daha fazla ayırmam gereken süreyi birçok alana bölüyordum. Ve ana hedefim lafta kalmaya başladığını farkettim. Bundan böyle sadece Java platformu üzerinde yazılım mimarileri tasarlamayı ve geliştirmeyi hedefliyorum. 30 Ekim'de SCJP sınavına gireceğim. Sınav sonucunu ve Java ile ilgili öğrendiklerimi bu blogta paylaşacağım. Araç olarak "Neden Java'yı Seçtiğimi ?!" "Java Berbattır" başlıklı yazımda uzun uzadıya bahsettim. (:

Limonlu Soda Keyfi
Malcolm Gladwell, kitaplarını çok sevdiğim bir adamdır. Kıvılcım Anı (Tipping Point) isimli kitabı kollektif zeka ile ilgileniyorsanız mutlaka okumanız gereken bir başyapıttır. Kendisinin TED etkinlerindeki konuşmasında insanların en iyiyi aradıklarını aslında birden fazla en iyi olduğundan söz eder. Limonlu Soda'nın icadı bence, meşrubat piyasasında kolayı ciddi oranda sarsan ciddi bir yenilik. Benim gibi kola ve ayran içmeyenler için bulunmaz bir icat. Babam sodasını limonlu içmeyi sever. Dedem de sodasını hep limonlu içermiş. Neden limonlu sodayı ürün olarak satma fikri bu kadar geç girdi pazara. Ya da yoğurdun muciti türkler olmasına ve Kanlıca'nın nefis pudra şekerli yoğurdunun yıllardır hayatımızda olmasına rağmen kimse meyveli yoğurt fikrini ürünleştirmedi?! Eminim bunun birçok sebebi vardır ama Gladwell'in anlattıkları ile bu konuyu tekrar değerlendirmek gerekir. Gladwell konuşmasında tek bir en iyinin peşinde olduğumuzdan söz ediyor. Aslında tek bir en iyinin olmadığını ve en iyilerin olduğunu yineliyor. Ben bunu, takip ettiğimiz müzik gruplarına benzetiyorum. En iyi dediğiniz müzik grubunuz var mı? Yoksa en iyi müziği yapan müzik gruplarınız mı var?! Peki ben bunu neden anlatıyorum? Sözü getirmeye çalıştığım konu çalışma ortamlarımız. Ben de en iyi bir yazılım ekibiyle çalışmanın peşimde olanlardandım. Örneğin Google, Microsoft, Facebook, Yahoo vb...

Google'da çalışırsanız, zeki ve işi kurallarına göre yapan bir sürü mühendisin çalıştığı kampüste olduğunuzu düşünürsünüz. Onlardan birşeyler öğrenir, onlara birşeyler öğretir ve kampüste oynanan oyunu kurallarına göre oynamaya başlarsınız. Çevremiz ne kadar iyi yazılımcılar ile doluysa bizde o kadar iyi yazılımcı oluruz. Bu yazdığımı kabullenmek zor olabilir. Bir önceki şirketinizde süreçler varsa, kod kalitesi için yazılan kodlar gözden geçiriliyor, günlük toplantılar yapılıyor ve çalıştığınız insanlar güvenlik, performans gibi konulara önem vererek işini yapıyorsa, sizde aynı şekilde çalışmayı adet haline getirirsiniz. Ama eğer, herşeyin bürokrasi ile yürütüldüğü, bir işi yapmanız 40 kişinin onayını gerektiriyorsa, yeni teknolojiler ve kalite süreçleri ekip çalışanlarını korkutuyorsa, proje yöneticileri kalite güvencesi (Quality Assurence) gibi konuları önemsemiyor, basit düşünmüyor işleri iyice karmaşık bir hale sokuyorsa sizde bu şirketin kültüründen nasibinizi alırsınız. Şirket kültürleri önemlidir.

Genelde hangi şirketlerde çalışacağımıza, iş başvurusunda bulunarak biz karar veririz. Görüşmelerde şirketler sundukları imkanlardan ve fırsatlardan söz eder. Eğer şirketin ortamının sizi ileriye değilde, geriye götüreceğinizi düşünüyorsanız bence o şirkete en başında girmeyin ya da şirkete girdiyseniz ve hayalinizdeki çalışma ortamını orada yaratacağınıza inanıyorsanız hemen başlayın. Bir fikir başlatmak zordur ama imkansız değildir. Genelde yeniliklere kapalı şirketlerde bir çok şey için sizin ve sizin gibi düşünenlerin ekstra efor sarfetmesi gerekir.

Bir yazılım geliştirici olarak hayalinizde ki çalışma ortamı nasıldır? Eminim birden fazla farklı cevaplar gelecek. Süreçler işlensin, insiyatif tanınsın, ilgi alanıma göre işler yapayım, yeni teknolojileri için arge yapalım, koltuklar rahat olsun, oyun odası olsun vb düşünceler ilk aklıma gelen birkaç düşünce. Çalışma ortamları performansı doğrudan etkileyen şeylerden biridir. Bunu herkes söyler. Şirketler en iyi çalışma ortamını yaratmaya çalışıp dururlar. En iyinin tek bir tane olmadığını yukarıda Gladwell'in konuşmasında duymuşturk. Mükemmel bir çalışma ortamı bir tane değildir. Bir çok çalışan için farklı mükemmel ortamlar vardır.

Çoğu şirket iyi çalışanlar bulamadığından yakınır. Bence iyi çalışanlara sahip olmak ancak iyi bir çalışma ortamınız ve şirket kültürünüz varsa mümkündür. Üzüm üzüme baka baka kararır diye boşuna söylenmediğini düşünüyorum.

Sizin mükemmel çalışma ortamınız nedir?