Ana içeriğe atla

Yazılım Şirketlerinin Yeni Müşterisi : Yazılımcılar

Yeni yazılımcı bulmak ve mevcut yazılımcıları elde tutmak giderek zorlaşıyor. Üstelik üniversiteler sektörün ihtiyacından daha fazla yeni mezun vermesine rağmen, üstelik yazılım firmalarının cömert tekliflerine rağmen...


Yazılımcı çalıştırmak isteyen firmaların artık bir müşterileri daha var: Yazılımcılar. Artık firmalar yazılımcıları mutlu edip kendilerini yazılımcılara beğendirmek zorundalar. Nitelikli yazılımcı bulmak giderek zorlaşıyor. Nitelikli yazılımcılar başka firmalardan sürekli iş teklifleri alıyorlar ve yurt dışında çalışmak istiyorlar. Bir firma nasıl yazılımcıları mutlu eder ve nasıl yazılımcıların çalışmak istediği bir yer haline gelir, gelin beraber bulmaya çalışalım.

Yazılımcılar yeni çıkan teknolojileri kullanmak isterler, yeni şeyler öğrenmek isterler. Bu yeni yetenekleri hem öz geçmişlerine eklemek için hem de iş tatminlerini artırmak için edinmek isterler. Firmalar yazılımcıların eğitimi için zaman ve kaynak ayırmalıdırlar. Çalışma saatlerinin belli bir kısmını yazılımcılara yeni şeyler öğrenmeleri için vermeli, eğitim için bütçe ayırmalıdırlar. Yazılımcılar eğitim amaçlı kurs, konferans ve etkinliklere gönderilmelidirler. Çözülemeyen teknik zorluklar için danışmanlık hizmeti alınarak bunun da bir eğitim olduğu göz önünde bulundurulmalıdır.

Firmada yeni teknolojilerin kullanılması yeni yazılımcı bulmayı kolaylaştırır. Bazı firmalar yeni çıkan teknolojilere risk gözüyle bakarlar, yeni teknolojinin öğrenilmesi için kaynak ayırmak istemezler. Teknik borçlarını kapatmayan ve personelinin eğitimine katkı sağlamayan bu tür firmalar zaman geçtikçe eski kodlarla çalışmak isteyen personel bulamazlar. Projeye yeni özellikler eklemek isteyen bu tür firmalar kullandıkları eski teknolojiler nedeniyle bu özellikleri ekleyemez hale gelirler. Eski teknolojiden anlayan birkaç personeline bel bağlayan bu tür firmalar zamanla piyasadan silinirler.

Yazılımcılar karar mekanizmasının bir parçası olup bir amaç uğruna çalışmak isterler. Fikri alınmayan, özellikle teknik konularda fikri alınmayan, hangi ihtiyacı çözmek için çalıştığını bilmeyen yazılımcılar, yöneticilerinin yönlendirmesiyle körlemesine kod yazarak kod maymunu haline gelirler. Sürecin parçası olmayan kişiler sürecin karşısında olabilirler.

Yazılım ekibinin ağırlığı firmadaki diğer ekiplerden fazla olmalıdır. Bunun için yönetim daima yazılım ekibini desteklemelidir. Firma kültürü bu şekilde  yerleştirilmelidir. Özellikle ürünü yazılım olan firmalarda yazılım ekibinin yeri diğerlerinden önemli olmalıdır. Firmanın geçmişinde diğer ekipler işi büyütmüş olabilirler ama artık firmanın lokomotifi yazılım ürünü ise yazılımcılara hak ettikleri değer verilmelidir.

Kariyerinde ilerleme imkanı olmayan yazılımcılar başka firmalarda iş arayışına başlayabilirler. Yıllarca aynı pozisyonda kalan insanlarda motivasyon eksikliği oluşmaya başlar. Teknik olarak daha yukarı bir pozisyona çıkamayan yazılımcılar gözlerini başka firmalara çevirebilirler. Teknik işlerle ilgilenmek isteyen bazı yazılımcılar ise kendilerine gelen idari yönetici pozisyonlarını istemeyebilirler. Kariyer fırsatı göremeyen bazı yazılımcılar kendi girişimlerini açmayı bile düşünebilirler. Yazılımcılar için yeni kariyer fırsatları oluşturmak mevcut yazılımcıların yuvadan kaçmasını engelleyebilir.

Yazılım iç motivasyon ile yapılabilir. Yazılım biraz da kafa işidir. Bazen 3-4 günde bitmeyen işlerin ilham gelmesi nedeniyle 3-4 saatte bittiği olabilir. Basit bir iş anlam verilemeyen hatalar nedeniyle uzayabilir, karmaşık bir iş internetten bulunan hazır çözümler ile tahmininizden daha kısa sürebilir. İşin doğasında olan bu gerçeği kabul etmek gerekir. Yazılımcılar üzerinde kurulan gereksiz baskı ve stres, verimlilik açısından ters tepebilir.

Türkiye'de yazılım sektöründe uzaktan çalışma (evden çalışma) kültürü yerleşmeye başlamaktadır. Uzaktan çalışmanın hem firmaya hem de yazılımcıya katkıları vardır. Birçok yazılımcı için uzaktan çalışma imkanı büyük bir arzudur. Yazılımcılar iş ararken uzaktan çalışma seçeneğinin bulunduğu firmaları tercih ederler. Pilot uygulamalarla aşama aşama hem firmanın kültürü hem de çalışanların öz disiplinleri uzaktan çalışma için olgunlaştırılmalıdır. Firmada bulunan diğer ekiplerin uzaktan çalışma imkanı olmasa da yazılım ekibine böyle bir imkan verilmelidir. Bunun firma kültürüne uygun bir şekilde yerleşmesi yöneticilerin sorumluluğundadır. Aynı hastahanede çalışan doktor ile temizlik görevlisi aynı şartlarda çalışmazlar. Aynı firmada çalışan yazılımcı ile diğer çalışanlar da aynı şartlarda çalışmazlar. Adalet herkese eşit davranmak değil, herkese hak ettiği gibi davranmaktır.

Firmalar yazılım ürününün can alıcı noktası olmayan genel amaçlı yazılımsal ihtiyaçlar (loglama, izleme gibi) için ücretli çözümler kullanmaktan çekinmemelidir.. Hatta yazılım ekibinin dikkatini dağıtmamak için bazı yazılımsal özel ihtiyaçlar dış kaynaktan (outsourcing) karşılanmalıdır. Firmalar tüm yazılımsal ihtiyaçları için kendi ekibini kullanmamalıdır. Firmalar işlerinin özüne odaklanmalıdır. Tekerleği yeniden keşfetmeye gerek yok. Sıkıcı işler personel değişim oranını (churn rate) artırır.

Yazılımcılara ihtiyaçları olan araçlar verilmelidir. İkinci monitörden tutun kodlamada kullanmak istedikleri araçlara kadar ihtiyaçlar gözden geçirilmeli ve ekibin fikri alınarak bu ihtiyaçlar karşılanmalıdır. Doğru araçlar verimliliği büyük ölçüde artırmaktadır.

Yazılımcılara ara sıra onları zorlayacak görevler verilmelidir. Rutin işler dışında yeni bir teknolojinin mevcut projede kullanılıp kullanılamayacağı, bir fikrin proje haline getirilip getirilemeyeceğinin tespiti, performans artışı için ne gibi teknolojilerin kullanılabileceği, sürekli karşılaşılan yazılım hatalarının farklı bir yolla çözülüp çözülemeyeceğinin araştırılması gibi yazılımcıyı yeni şeyler öğrenmeye iten ve onun sınırlarını zorlayan görevler verilmelidir.

Maddi olanaklar ve ek kazançlar bir çalışanın önemli motivasyonlarındandır. Bazı yazılımcılar sırf dövizle maaş alabilme düşüncesiyle yurt dışında iş aramaya başlarlar. Yazılımcıya hak ettiği maaşı verin. Her personel gibi yazılımcı da emeğinin karşılığını almazsa gözü dışarıda olur. Kimin ne kadar maaş aldığını saklamak günümüz dünyasında pek anlamlı değil. Firma şeffaf olup maaşların nasıl hesaplandığını açıklamalıdır.

Ekip içi ve dışı sosyal ilişkiler, firmadaki yazılımcılar için gerekli ve önemlidir. Yazılımcıların yöneticiler tarafından takip edilmesi gerekmektedir. Haftada bir ya da en azından ayda bir yönetici ile yazılımcı yüz yüze görüşmelidir. Yönetici rolündeki kişi yazılımcının hem işle ilgili hem de kişisel konulardaki söylemek istediklerini dinlemelidir. Yönetici konuşmaktan çok dinlemeli, iş ile ilgili aldığı geri bildirimlerden insanlarla ilgili olanları dedikodu ve ispiyona çevirmeden değerlendirmelidir. Yönetici yazılım ekibini yönlendirilmelidir, teknik konularda kararları ekibe bırakmalı sadece ekibin yetkisini aşan kararlarda üst yönetim ile koordinasyonu sağlamalıdır. Yöneticinin görevi sadece projeyi teslim tarihine yetiştirmek değil, yazılım ekibine rahat bir geliştirme ve eğitim ortamı sağlamak, yazılım ekibinin dinamiklerini bilmek ve bu dinamikleri kullanmaktır. Yazılım ekibi ile firmadaki diğer ekipler arasında etkinlikler düzenlenerek buzlar eritilmelidir.

Nesil farkı yazılımcılarda daha çok hissedilmektedir. Yeni nesil, yaşıtlarının yurt dışında nasıl çalıştıklarını, dünyada hangi teknolojilerin popüler olduğunu daha çok takip etmektedir. Yeni nesil yazılımcılar bilgi bombardımanı altında büyüyor, eskisine göre daha çok staj yapıyor, değişik firmalar görüyorlar. Yeni nesil dünyayı şekillendiriyor. Ön yargılarımızı bir kenara bırakalım ve onları anlamak için elimizden geleni yapıp, onlara yol gösterip yardım etmek için çabalayalım.

Adaletli performans değerlendirmesi yazılımcının mutlu olması için gerekli bir diğer husustur. Adaletli bir performans değerlendirmesi için şeffaflık şarttır. Yıl sonunda performansı düşük çıktığı söylenen bir yazılımcının yapabileceği bir şey yoktur. Ayda bir ya da üç ayda bir performans değerlendirmesi yapılıp işler kötüye gitmeden personele düzelme şansı verilmelidir. Performansın hangi kriterlerle değerlendirildiği, çalışandan neler beklendiği açık ve net olmalıdır. Yazılımcıya kendisini geliştirmek için fırsat verilmelidir. En önemlisi ise performans  değerlendirmesi adaletli yapılmalıdır. Kimin neye göre değerlendirildiği açıkça paylaşılıp akıllarda soru bırakılmamalıdır. Başarısızlığını devam ettiren, kendisini geliştirmeyen kişiler işten çıkarılmalı, isten çıkarılma nedenleri bu kişilere açıkça söylenmeli ve olabildiğince pürüzsüz bir ayrılık için çaba gösterilmelidir.

Yazılımcılara verilen sorumluluklar için onlara şunlardan yeterli miktarda veriyor musunuz: yetki, özerklik, esneklik. Sadece sorumluluk vererek çalışanlardan sihir yapmasını bekleyemezsiniz. Alacağı her kararı yönetime sorma mecburiyetinde hisseden bir çalışan aslında iş yapmıyor, işi sürekli yönetime şutlamak zorunda kalıyor. Verilen sorumluluk nedeniyle stres altında olan yazılımcıya hareket alanı yaratmak için ona yetki vermelisiniz.

Tatil zamanı tatil yapılmalıdır. Tatil esnasında telefon, e-posta ve mesajlarla rahatsız edilen çalışanların verimliliğinin düştüğü ve psikolojik sorunlar yaşadıkları tespit edilmiştir. Eğer yazılım ekibinden bazı kişiler tatile gitti diye firmanın işleri aksıyorsa bu yazılımcıların suçu değildir. Yönetim, otobüs faktörünü (bus factor) göz önüne alarak riski azaltmalıdır. Bunun için kodlar sade ve anlaşılır olmalı, dokümantasyon güncel olmalı ve projenin özelliğine bağlı olarak yazılımcılar farklı farklı kod parçalarında çalışmalıdır.

Yazılımcıların dağılımı normal dağılıma uymaz, güç yasası (power-law) dağılımına uyar. İyi yazılımcılar ile kötü yazılımcılar arasındaki fark hem sayı olarak hem de kalite olarak birbirlerine çok uzaktır. İyi yazılımcılar çok azdır ve değerli işi yaparlar, diğer yazılımcılar ise sıkıcı ve çok yetenek gerektirmeyen işleri yaparlar. Başka bir bakış açısı ile açıklamaya çalışırsam işin %80'ini yazılımcıların %20'si yapar, işin geri kalan %20'lik kısmını ise yazılımcıların %80'i yapar. İyi bir yazılımcı bulursanız sakın onu kaybetmeyin.



Bir yazılımcı bir firmadan emeğinin karşılığı olarak iki temel şey alır: maaş ve tecrübe. Bu ikisini yeterli seviyede tutmak gerekiyor.

Sektörün tabiri ile üniversitelerin boş adam yetiştirmesi nedeniyle kendini geliştiren yazılımcılar değerli olmaktadır. Bilgi çağında bilgiye erişim kolay olsa da bilgiye aç olan, öğrenme aşkıyla yanan ve hep meraklı olan yazılımcılar artık yazılım firmalarının yeni müşterisi olmuşlardır. Bu yazılımcıların şevkini kırmadan kazan-kazan ilişkisi içerisinde mutlu bir beraberlik yaşamak isteyen firmaların yapması gereken şey aslında çok basit: yazılımcıları anlamaya çalışmak.

Yorumlar

Bu blogdaki popüler yayınlar

Bir Uluslararası Yazılım Şirketinin Batış Hikayesi

 Güzel başlamıştı hikaye. Yazılımcılar mutlu, kullanıcılar memnundu. Sonra pandemi başladı. Sorun para değildi. Olmayan şey huzurdu… Durdurun hype trenini, inecek var kırık kalpler durağında  — Photo by Kelly Sikkema on  Unsplash Gerçek olamayacak kadar güzeldi çalışma ortamı. Yazılımcılara istedikleri eğitim ve donanım alınıyordu, personel arası hiyerarşik bir yapı yoktu, sorumluluğun yanında yetki de veriliyordu, esnek çalışma saatleri yazılımcılara göre esnekti, izin isteyen hiç kimse geri çevrilmiyordu, pandemiden önce bile uzaktan çalışma vardı. Ne oldu bu şirkete? Nazar mı değdi? Şirketin yazılım ürünü Türkiye’de doğmuştu. Ürün birçok ülkede hem kamu tarafından hem de özel sektör tarafından kullanılıyordu. Yazılım geliştirme ekipleri hem Türkiye’de hem de diğer ülkelerde bulunuyordu. Yazılımın argesi için gelen geri bildirimlerin çoğu Türkiye’den geliyordu. Yazılımın kalbi Türkiye’de atıyordu.  Koronavirüs pandemisi nedeniyle Türkiye’de kamu kuruluşları hizmet alımı ile aldıklar

Uluslararası Yazılım Firmasında Çalışmak

Türkiye merkezli 5 ülkede ofisi olan 50’den fazla mühendisi bulunan ve müşterileri hariç 8 farklı milliyetten kişiler bulunan bir yazılım firmasında yaklaşık 11 aydır çalışmaktayım. Bu süreç boyunca hem çalıştığım şirkette hem de iletişimde bulunduğum diğer uluslararası şirketlerde gözlemlediğim noktaları paylaşmak istedim. Buradaki görüşlerim tamamen kişiseldir ve firmadan firmaya değişebilir. Eleştiriyi önce en günahsız olanınız yapsın! Photo by Kyle Glenn on Unsplash İşe giriş ve mülakat süreçleri zor. İş ilanlarını mantıklı ve açıklayıcı olarak açılıyorlar. Öyle her şeyden anlayan süper yazılımcı aramıyorlar. Şirketin ihtiyacını göz önüne alarak ve her yazılımcının şirkette kullanılan teknolojileri bilemeyeceğini göz önüne alınarak iş ilanını açılıyor. Özgeçmişimde yazan her kelime ile ilgili sorguya çekildim. Başvurduğum pozisyon için gereken yeteneklerle ilgili zor sorular soruldu. Nasıl yaptılar bilmiyorum ama şirket kültürüne uyumumu ve iletişim yeteneğimi de ölçmüşler. Açık

Kamuda Yazılımcı Ol(ma)mak

Yazılımcı olarak 8 yıl kamuda, 2 yıl özel sektörde çalıştım. Bir yandan da freelance olarak çalıştım. Yurtdışındaki firmalarla da güzel yurdumun esnafıyla da çalıştım. En garip manzara bence kamudaki yazılım manzarası. Şu anda bir kamu kurumu için geliştirilen yazılım projesini yönetiyorum. Girdiğim toplantılarda, aldığım e-postalarda, yaptığım telefon konuşmalarında eski kamu anılarım depreşti. Kağıtların arasında hayalleri yıkılmış bir yazılımcı bulabilirsiniz Kamuda çalışırken hem benim hem de arkadaşlarımın başına gelen olaylardan ve şu anda kamuda çalışmaya devam eden tanıdıklarımdan aldığım bilgilerle, kamudaki yazılım dünyasını size sanayi diliyle aktarmaya çalışacağım. Bu yazı şahsi görüşlerimi içerir. Yine de kamuda 8 yılın yeterince objektif bir bakış açısı sunacağını düşünüyorum. Kamuya yazılım projesi geliştirirken karşılaşabileceğiniz durumlar: Bir kamu kurumu ile görüşmeye başlamak için bağlantı gerekir. Kamu kurumuna “sizin şöyle bir ihtiyacınız var ben bunu çözen yazılı