Yazılım Uzmanlığından Yöneticiliğe

Daha önce yazdığım şu yazıya atılan bir yorum üzerine bu yazıyı yazıyorum. Genel olarak yeni mezun olmuş ve yazılım uzmanı olarak işe başlamış bir kişinin yöneticiliğe doğru uzanan yolda katetmesi gereken aşamaları deneyimlerimden yararlanarak yazmaya çalışayım.

Hiç kimse evrenkentten mezun olur olmaz yöneticiliğe soyunmaz yada soyunmamalıdır. Yüksek lisans dahi yapmış olsanız yöneticilik için gereken vasıflar henüz sizde bulunmaz çünkü yaşadığınız çevre sizin gibi insanlardan oluşmuş izole bir çevredir (okul ve öğretmenler) ve ilişkiler yüzeyseldir, amaçlar farklıdır. Proje yönetimi ve insan ilişkileri konusundaki deneyimin azlığı, firma içi kültürlerin bilinmemesi, stres durumlarında ne yapılacağının bilinmemesi, planların zaman içinde nasıl değiştirileceğinin bilinmemesi, kalite arttırımı ve testleri konusundaki deneyimin azlığı önümüzdeki engellerden bir kaçıdır. Yeni mezun olmuş bir yazılım uzmanının yönetici olabilmek için geçireceği evrelere bir bakalım.

Mezuniyet ve ilk projeler

Mezuniyetten sonra tek hedefiniz bir firmada çalışmaya başlayarak hünerlerinizi geliştirmektir. Evrenkentteki hocalarınızdan birer referans mektubu isteyin (ingilizce ve türkçe mümkünse) ve özgeçmişinize referans olarak yazmak için izin alın. Gireceğiniz firmanın yeni bir projeye başlıyor olması daha tercih edilen bir durum olmalıdır. Firma seçmek için yeni işe girecek mezunlara yazdığım şu yazıdan ve kariyerinize karar vermek için şu yazıdan yararlanabilirsiniz. Ücret bu aşamada önemli olmamalı ve size öğreteceği yetenekler ön planda tutulmalıdır. Unutmayın; okul bitti ama öğrenme süreciniz bitmedi. En azından 4 yada 5 projede yer alıp gözlemlerinizi sürdürmelisiniz. Bu arada kalın ve çizgisiz bir defter edinin ve projelerde yaşadığınız olayları, aksayan noktaları, bu aksayan noktaların nasıl çözülebileceğini, yönetimin davranışlarını, projenin gidişatını, iş arkadaşlarınızın davranışlarını ve aklınıza gelen her türlü bilgiyi ve deneyimi not edin. Bu defter sizin kara defteriniz olacak ve hiç kimsenin görmemesi gerekiyor. Her akşam bu deftere yazdığınız notları tekrar tekrar okuyun. Yapılan yanlışlardan yada doğru yöntemlerden feyz alın. Eski yazdığınız bilgiler yada deneyimler zaman içinde geçerliliğini kaybetmişse bunları da yenileyin ve nasıl bir değişime uğradığını anlamaya çalışın.

Bu aşamada yönetime veya proje müdürlerine bir öneri veya tavsiyede bulunmayın zira sizi dinlemezler ve boşuna vakit harcamış olursunuz.

%100 kod yazıp size verilen işleri zamanında bitirmek için elinizden geleni yapın. Zaten tüm planlar sizin için yapılmıştır ve bitirme zamanları planlanmıştır. Tek işiniz kod yazmak ve zamanında bitirmektir.

Problem çıkartmak yerine problem çözücü olarak tanınmaya gayret gösterin. Hoşunuza gitmeyen eylemler ve bir şeyler söylemek istediğiniz durumlar olacaktır ama kendinizi tutun. Problemleri çözmek proje müdürünün veya yönetimin işidir. Sizin işiniz kod yazmak. Sektörde ilerleyip iyi bir yerlere gelebilmek sizin hedefiniz ve bu hedef doğrultusunda bu sorunlara katlanıyorsunuz.

Firma kültürünü öğrenin ve uygulayın. Standartları, davranış şekillerini, insan ilişkilerini, üst ast ilişkilerini ve organizasyon şemasını çok iyi öğrenin. Firma kültürüne ters gelecek davranışlardan kaçının. Ancak fikriniz sorulduğunda konuşun aksi takdirde ağzınızı açmayın.

Bu devrede okunacak kitaplar tamamı ile yazılım ile ilgili olmalıdır. Kullandığınız yazılım dilini anlatan, veritabanını anlatan, üst seviye konuları anlatan kitaplar edinmeye ve yeteneklerinizi geliştirmeye bakın. Code Complete, Writing Secure Code, Agile Modeling her zaman kitaplığınızda bulunması gereken kitaplardan. Yeni teknolojileri ve ürünleri takip edin, kurun, deneyin. Personal Software Process, Best Software Writing I, Joel on Software ek olarak okumanız gereken kitaplardan. Okurken kara defterinize notlar alın ve projede uygulamak için fırsat kollayın.

İngilizce bilmiyorsanız hemen bir kursa giderek öğrenin. Yabancı yayınları, blogları, siteleri, kitapları takip etmek için bu gerekli. Takip edeceğiniz bloglara bir kaç örnek olarak benim takip ettiğim blogları vereyim (genelde .NET ve yazılım mühendisliği ile ilgili):

Yabancı bloglara örnekler

Türkçe bloglara örnekler

Daha pek çok blog bulabilirsiniz ve sizin sektörünüze göre bunları çoğaltmak mümkün.

Aileniz ile yaşadığınızı ve gelirinizin kısıtlı olduğunu varsayarak önemli bir tavsiye vermek istiyorum. İlk bir kaç maaşınız ile paranın alabileceği en iyi bilgisayarı alın. Evde bilgisayar başında geçireceğiniz zamanı iyi değerlendirmek için çeşitli yeni teknolojileri veya birbirine zıt teknolojileri denemeniz ve görmeniz gerekiyor. Firmada imkan bulamadığınız programları yada rakip firmanın ürünlerini evde kurarak denemek size farklı bakış açıları katacaktır. Bunun için bir plan yapın; örneğin bir haftayı belli bir programa ayırın ve genel olarak neler yaptığını öğrenmeye çalışın. Nasıl kurulur, kaldırılır, yönetilir öğrenin.

Maaşınızın bir bölümünü ayrı bir banka hesabında biriktirin. Almak istediğiniz şeyler için hedefler koyup parayı bu şekilde kullanın. Evin telefon faturasını (internet için en fazla sizin kullandığınızı varsayarak) veya broadband ödemelerini siz yapmaya başlayın.

Açık Kaynak projelere katılıp kendinizi gösterin. Yada bu tür bir projeyi siz başlatın. Sourceforge, Codeplex bu tür projeleri bulabileceğiniz yada başlatabileceğiniz tonla siteden ikisi. Genel bir bilgi açısından yazdığım şu yazıyı okuyabilirsiniz (bitiremediğim bir yazı). Kara defterinizde proje vasıflı fikirler eminim vardır. Bunları biraz daha pişirip proje olarak yapmaya çalışın. Sağlayacağınız deneyim paha biçilemez olacaktır. Firma içinde çalışma imkanı bulamadığınız teknolojileri veya dilleri bu şekilde çalışıp öğrenebilirsiniz. En güzeli firmada geliştirdiğiniz ürünü birde açık kaynak olarak geliştirmek olur :-). Bu projeleri özgeçmişinize de yazın.

Bir sonraki aşamaya geçmek için bazı göstergeler vardır. Zaman geçtikçe firmadaki kıdeminiz artar, yeni gelenlere sistemi öğretmeniz istenir, sorun çıktığında size sorarlar veya içinden çıkılması güç işleri size verirler. Belli modüllerin tüm sorumluluğunu size verirler, müşteriye sunum yaptırırlar, kurulumlara ve müşteri ziyaretlerine dahi gönderebilirler. Tüm bu saydıklarım bir üst aşamaya geçmeniz için birer göstergedir. Bir sonraki aşama Kıdemli Yazılım Uzmanlığıdır.

Özetlersek

  • Yeni bir projeye başlayan firmaya girin
  • Ücret önemli değil
  • Kalın çizgisiz bir defter edinin, not tutun
  • 4 yada 5 projede yer alın (aynı anda değil tabii ki)
  • Açık kaynak projelere katılın/başlatın
  • Okunacak kitapları edinin ve blogları takip edin
  • İngilizce öğrenin (eğer bilmiyorsanız)
  • İyi bir bilgisayar alın
  • Maaşınızı çar çur etmeyin, planlı harcama yapın
  • Bir sonraki aşama için göstergeleri iyi takip edin

Yukarıda anlattıklarım ilk 4 yada 5 yılınızı alacaktır. Bu arada özgeçmişinizi sürekli yenileyin ve yaptığınız işleri sıralayın. Çalıştığınız firma size yükselme fırsatı vermiyorsa başka bir iş arayışı içine girebilirsiniz. Eski firmanızla ilişkilerinizi iyi tutmanız size ilerde iyi referans verecekleri garantisini sağlayabilir. Bu yüzden firmanızdan ayrılırken tüm kapıları kapatmayın ve muhakkak referans mektubu alın. Referans mektubunda firmaya giriş ve çıkış tarihleri, yaptığınız işin vasfı, görev aldığınız projeler, başardığınız işler, kullandığınız teknolojiler açık seçik yazmalıdır. Mümkünse hem İngilizce hem de Türkçe referans mektubu isteyin.

Kıdemli Yazılım Uzmanı

Maaşınıza zam istemeniz doğaldır ama fazla uçmayın. Bir önceki aşamanın sonlarında öğrendiğiniz insan ilişkileri sizin için bir temel olacaktır. İlişki kurmanız gereken organizasyonlara bir bakalım.

  • Yazılım ekibindeki yeni kişiler
  • Pazarlama Ekibi
  • Müşteriler
  • Yönetim

Herkesin farklı dil konuştuğu, herkesin teknik bilgileri bilmediği bir ortamdasınız. Burada geliştirmeniz gereken yeteneğiniz dinleme ve anlamadır. Aynı konuyu farklı ağızlardan farklı cümleler kullanarak duyarsınız. Hem sizin kelime hazneniz genişler hemde kiminle nasıl konuşacağınızı öğrenmeye başlarsınız. Ürettiğiniz dökümanları başkalarının okumasını sağlayarak ne anladıklarını test edin. Uzun bir öğrenme devresi ve %70 kod yazımı, %30 insan ilişkilerinin analizi ile geçecek bir dönem. Yapacağınız işleri anlamak için Anyazu hakkında yazdığım yazıyı bir okuyun.

Stres ve risk yönetimi konusunda da deneyimlerinizi arttırmanız gerekiyor. ISO ve IEEE standartlarını inceleyerek bu konularda bilgi edinebilirsiniz. CMMI, SPICE, ISO, IEEE hakkında genel bilgilendirme için yazdığım yazı işinize yarayabilir. Ayrıca zamanınızı iyi kullanabilmek için yaptığınız her işin ne kadar zaman alacağını planlayıp, iş bittiğinde de plan ile gerçek geçen zamanı karşılaştırmanız ve dersler çıkarmanız gerek. Böylece ileride size verilen görevler için ürettiğiniz tahmini zaman çizelgeleri daha gerçekçi hale gelecektir. En azından MS Project nasıl kullanılır öğrenin veya bir kursa giderek temel proje yönetimi hakkında bilgi edinin. Çalıştığınız firma size bu kursu almak için yardım sağlamıyorsa hafta sonlarını kullanarak ve cebinizden ödeyerek gitmenizi tavsiye ederim (bir önceki aşamadan biriktirdiğiniz parayı kullanın). Temel kursu bitirince ileri seviye kursunu da alın ve öğrendiklerinizi harfiyen uygulamaya çalışın. Bir Yüksek Lisans programına da katılabilirsiniz, eğer yarım zamanlı bir program bulursanız ve yeterli paraya sahipseniz veya firma sizi destekliyorsa kesinlikle tavsiye ederim.

Project Management Body of Knowledge (PMBoK) isimli kitabı internetten indirin ve okuyun. Linkteki biraz eski ama işnize yarar. Yada http://www.projectmanagement.net.au sitesine üye olarak son PMBoK kitabını okuyabilirsiniz. Bu kitap genel proje yönetimi ile ilgili bir yayındır ve içinde yazılım alanında da kullanılabilecek pek çok bilgi mevcut. Geleneksel proje yönetimi metodları dışında Agile Project Management with Scrum isimli kitabı öneririm. CMMI hakkında kaynakları bulup okuyun. Software Engineering Institute‘ün sitesinde CMMI hakkında okuyacak pek çok döküman mevcut. En hoşuma gideni ürün geliştirenler için üretilmiş bu döküman. Okunacak çok fazla materyal olduğu için okuma saatlerini planlamanızı öneririm. Böylece neyi ne zaman ve ne kadar süre ile okuyacağınızı bilirsiniz.

Özel hayatınızdan hiç bahsetmedim ama psikolojik ve mental sağlığınız için gerekli bir unsur. Ailenize, sevdiklerinize veya hobilerinize zaman ayırın. Tabii eskisi kadar zaman ayıramayabilirsiniz, bu doğal. Ben hem Aikido hem Judo yapıyor, perşembeleri grubumla çalıyor, salıları da tırmanışa gidiyordum. Bir gün çok fazla hobim olduğuna karar verdim, artık zaten eskisi gibi de zamanım olmuyordu yapmaya ve Aikido ve Judoyu eledim, Salı tırmanışları kendiliğinden bitti, grubumda iki haftada bir ancak toplanıyor. Böylece geleceğim ile ilgili işlere (ekmek parası kazandığımız işlere) daha fazla zaman ayırabildim. Gitar çalmak ve Scuba Dalışı geriye kalan tek hobilerim.

Okunacak kitaplar Peopleware, Mythical Man Month, Team Software Process. İnsan ilişkilerini anlatan psikoloji kitapları da işinize yarayabilir.

Kara defterinize ilişki kurduğunuz insanları ve özelliklerini not edin. Birileri ile tanıştırıldığınızda kimin tarafından tanıştırıldığınızı not edin. Sizi en fazla birileri ile tanıştıran kişi “sosyal simsar” dır. Sosyal simsarlar çevrenizi geliştirmek için çok işinize yarar. Sosyal simsarları iyi belirleyin ve ilişkilerinizi daima sağlam tutun. Özel günlerde kart göndermek yada bir e-posta atmak ta çok zor değil. Bunun için adres defterinizi sürekli güncel tutmanız gerekiyor. Ben Outlook kullanıyorum ve tüm kontaklarım burada kayıtlı.

Çevrenizi geliştirmek için firma dışı seminerlere ve toplantılara katılın, notlar alın, ürün CDlerini isteyin, firmalardan kontak kuracağınız kişilerin kartlarını almaya çalışın. Çalıştığınız firmadan kartvizit isteyerek her gittiğiniz yerde dağıtın. Ne kadar fazla insanla tanışırsanız sizin için o kadar iyi çünkü firma içinde yeteri kadar farklı psikolojide insana rastlayamazsınız. Firma dışı aktiviteler ile ilişkilerinizi güçlendirin. Kendinize bir grup oluşturup bir mangal partisi, LAN partisi (oyun oynamak için), veya gezi düzenleyebilirsiniz. İş dışında yapılan aktiviteler size farklı iş imkanları veya fırsatlar sunabilir. Özgeçmişinizi mümkün olduğu kadar çok firmaya gönderin ve 3 ayda bir de yenisini göndermeyi unutmayın.

Dış görünüşünüze önem verin. Takım elbise ve gravat ile kod yazmak zordur. Rahat edeceğiniz ve firma içinde kabul edilebilir bir dış görünüşü benimseyin ve stilinizi oluşturun.

Firmanın yeni alacağı projeleri veya işleri takip edin ve yönetici seviyesinde küçük işler almak için istekte bulunun. Aldığınız kursları ve planlama ile ilgili yaptığınız işlerdeki başarınızı referans gösterin. İşleri size vermeseler bile istekli olduğunuzu göstermek için iyi bir fırsattır. Eğer yönetimin size olan güveni belli bir seviyeye gelmiş ise eninde sonunda bu işleri almaya başlarsınız.

Toplam Kalite Yönetimi konusunda bir kaç kitap edinip okuyun. Ishikawa en iyi TQM yazarlarından biri ve Japonya’nın kalkınma planlarının arkasındaki isim. Kitaplarından What Is Total Quality Control? ve Guide to Quality Control tavsiye edeceklerim arasında. Yaptığınız işlerde kaliteyi nasıl ölçebilir ve nasıl yükseltirsiniz araştırın. Ortaya çıkan sonuçları projede uygulayın ve yararlarını test edin. Bu yöntemleri kara deftere not edin.

Değişiklik ve İstek yönetimi konularında da bilgilenmeye ve firma içinde bir sistem oluşturmaya çalışın (eğer yoksa veya yeterli değilse). Kıdemli Yazılım Uzmanı olduğunuz için yapacağınız tavsiyelerin dinlenme oranı yüksek olacaktır. Yapacağınız tavsiyeleri yazılı ve rakamlara dayalı olarak rapor halinde verin. Örneğin doğru bir Değişiklik ve İstek yönetimi sistemi ile üretkenliğin %65 artacağını ve isteklerin eskiye oranla %98 daha iyi yönetileceğini basit hesaplamalar ile gösterin. En sona bir maliyet/yarar analizi koyun ve firmaya sağlayacağı yararlardan bahsedin. Maliyeti düşüren bir unsur varsa vurgulayarak belirtin. Raporu aynı anda bir kaç üst düzey yöneticiye gönderin. Yöneticiler bu durumda iki şekilde davranırlar. Eğer ilerlemeye açık ve alttan gelen tavsiyeleri değerlendirebilecek kadar kendileri ile barışıksalar raporunuz iyi ellerde demektir. Fakat üstünüzdeki yönetici her şeyin en iyisini ben bilirim tarzında burnu havada birisiyse farklı bir yöntem izlemek gerekir. Gönderdiğiniz rapora kızmış veya hakarete uğramış gibi bile düşünebilirler. O zaman fikirler sanki onlarınmış gibi empoze edip sonuçlara kendilerinin varmasını sağlamanız gerekir. Raporunuz kağıtta yazılı olmaz belki ve başkası sahiplenebilir ama bu arada sizede bir yöneticilik görevi düşebilir. Hiç bir yöntem işe yaramıyorsa ayrılıp kendi firmanızı kurun ve o fikirleri hayata geçirmeye bakın. İşte birdenbire CEO oldunuz :-).

Eğer sonu olmayan, vizyonu dar bir firmada olduğunuzu ve ilerleyemeyeceğinizi düşünüyorsanız yeni bir iş arama zamanı gelmiş demektir. Kıdeminizin ve maaşınızın yükseleceği bir iş aramaya başlamanızı tavsiye ederim. Kesinlikle aynı maaşa yada aynı kıdeme sahip başka bir işe geçmeyin. Eski firmanızda kalıp bildiğiniz işe devam etmek sizin için daha iyi olacaktır. Ancak kıdem ve maaş daha yüksek olduğunda atlama yapın. Zaman alabilir ama büyük düşünmeden hedeflere ulaşılmıyor değil mi?

Vizyonu dar olan firmaya vizyonunu genişletmek için yardımda da bulunabilirsiniz. Genelde ufak firmalar büyümekten ve büyük projelere girmekten korkarlar. Çünkü yönetimi bir bela olacaktır. Bu tür bir projeye girmeyi ve yönetici olarak bu işi yapabileceğinizi düşünüyorsanız, geniş kapsamlı bir rapor hazırlayıp sunabilirsiniz. İlk başlarda diğerleri için ürkütücü olsa da zaman içinde firma tarafından da benimsenecek fikirler ve projeler ile firmanın vizyonunu genişletebilir ve kendinize yöneticilik pozisyonu imkanı yaratabilirsiniz.

Yönetici olabilmek için eğitim şart. Bunun için yukarıda bahsettiğim kursları muhakkak alın ve işyerinde de uygulayın. İnsan ilişkilerini geliştirmek ve dinlemeyi öğrenmek, risk yönetimi ve stres yönetimi konularında deneyim kazanmak çok önemlidir. Enterprise Risk Management isimli kitabı tavsiye edebilirim. Baskı altında çalışmak ve stres yönetimi deneyimi, problemleri önceden görebilme yeteneğinizi geliştirir. Personal Software Process ve Team Software Process kitaplarında anlatılan araçları uygulamak planlama konusunda gelişmenizi sağlar.

Benim söyleyeceklerim bu kadar. Gerisi size ve yeteneklerinize kalmış. Biraz yüzeysel bir anlatım oldu ama sanırım temel bazı bilgileri ve yolları göstermeye yeter. Kolay gelsin ve iyi seneler.

 

Posted in Bilişim, Türkçe.