Yazılımcı Sabır Overflow

Kod yazmaktan sıkıldınız mı? İşler yetişmiyor mu? Hayat anlamsız mı geliyor? Ekran görmek istemiyor musunuz? Yöneticiler sizi anlamıyorlar ve işi berbat mı ediyorlar. Artık sabrınız kalmadı mı?

Şunları da yapılacaklar listesine ekleyelim dedi proje yöneticisi
Bir yazılımcı olarak işinizi yapmak size zor geliyorsa ve zevk vermiyorsa, hayatınızı sadece molalarda yaşadığınızı hissediyorsanız, televizyon izler gibi ofis penceresinden manzara izliyorsanız ve bu manzarada yaşayamıyorsanız, tükenmişlik sendromu, burnout, yaşıyor olabilirsiniz.

İsterseniz önce yazılımcının tükenmişlik sendromu yaşamasının nedenlerine bakalım:

Yazılımcının her işte kendini ispatlamaya çalışması tükenmişlik sendromunun nedenlerinden birisidir. Ne kadar tecrübeli olursa olsun, bir şirkette ne kadar süre çalışırsa çalışsın her yeni projede, her yeni müşteride, her yeni teknolojide yazılımcı kendini ispatlamak zorunda hisseder. Bu yazılımcı üzerinde ilave bir stres ve baskı oluşturur.

Ülkemizde genelde emeğe değer verilmemesi, sermayeye (somut varlıklara) önem verilmesi, insan kaynaklarının verimlilik yerine ucuza personel çalıştırma yollarına yönelmesi, yazılımcının vaktinin değerli olması nedeniyle yazılımcıyı boş bırakmama çabasına girilmesi nedeniyle yazılımcının kendini değersiz hisseder.

Ülkemizde uzmanlaşma konusunda hâlâ problemler yaşandığından yazılımcının her şeyden anlaması bekleniyor. Yazılımcı hem kullanıcı arayüzünden hem arka planda çalışan kodlardan, hem de veri tabanından sorumlu tutuluyor. Hatta ağ cihazlarının yapılandırılması sorumluluğu bile yazılımcıya bırakılabiliyor. Teknik işlerin yanında bazı idari işler de yazılımcıdan beklenebiliyor.

Tek başına kod yazarken, üniversitede kod yazarken kodlamanın hoş görünmesi ama bunu her gün uzun zaman boyunca yapınca bazı kişiler için bu durumun sıkıcı olması tükenmişlik sendromunun diğer bir sebebidir. Üniversiteden mezun olup yazılımcı olarak meslek hayatına başlayan yazılımcı, orta yaş krizine de girince bu mesleğin kendisine uygun olup olmadığını düşünmeye başlar. Hayallerindeki işin şu anda yapmakta olduğu meslek olup olmadığını her gün düşünmeye başlar.

Yazılımcılar karar verme sürecinin parçası değilse, sürekli kendi seslerini çıkarabilmek için fırsat kollarlar, yönetimle aralarına mesafe koyabilirler, sadece kod yazan, kod maymunu, çalışan olabilirler. Yöneticilerin yanlış kararları ve tutumları, hele bir de yönetim iletişimi zorlaştırdıysa, proje doğru bir ihtiyacı çözüyor olsa bile projeyi başarısızlığa doğru götürür.

Yazılım projelerinin sınırlarının genelde belirsizdir. Kullanıcı ne istediğini bilmez, kullanıcının ne istediğini bilmemeye hakkı vardır. Sürekli değişen ihtiyaçlar ve istekler bitmez. Kullanıcı proje somutlaşmaya başladıkça ne istediğini anlamaya başlar. Belirsizlikler yöneticiler tarafından iyi yönetilmezse yazılımcı su kaynatır. Ayrıca yazılımcıya proje devam ederken yönetici rolü (teknik veya idari) verilmesi, lojistik iş sorumluluğu verilmesi zaten aksayan projeyi daha da zora sokar.

Yazılımın bazı kısımlarına sadece bazı yazılımcıların müdahale edebilmesi hemen hemen her yazılım projesinde yaşanmıştır. Bu durum yazılımcıların sürekli stres altında olmasına nenden olur. Telefondan ve bilgisayardan uzaklaşamayan yazılımcı evdeyken bile çalışıyormuş gibi hisseder, tam anlamıyla dinlenemez.

Yazılım projelerinin doğasında olan kod yazma sürecinin konsantrasyon gerektirmesi ve kod yazarken yalnız kalma ihtiyacı zamanla yazılımcıyı yalnız adam olmaya doğru iter. Hata çözerken birden kendisini akşam olmuşken bulan yazılımcı, iş arkadaşları ile yeterince sosyalleşemez. Bu durumu yöneticiler düzgün bir şekilde yönetmelidirler. Yazılımcıyı masa başında oturan kod yazma aracı olarak değil bir insan olarak görmeliler. Yazılımcılar ise ara sıra masalarından kalkıp iş arkadaşlarının yanlarına gitmeliler. Çalışanlar arasındaki iletişim birçok sorunu daha sorun doğmadan ortadan kaldıracaktır. Bazı şirketler cuma günü öğleden sonra şirket içi etkinlikler yaparak çalışanlar arasında sosyalleşme imkanı sağlamaktadırlar.

Sıfırdan kod yazmak daha cazipken, başkalarının yazdığı kodlara bakım yapmak daha sıkıcı gelmektedir. Birçok yazılım projesi ise mevcut kodların devamını sürdürmekten ibarettir. Böyle olunca yazılımcının yeni çıkan teknolojileri uygulama imkanı oluşmamaktadır. Bu sorunu aşmak için şirket içinde arge amaçlı küçük yazılımlar geliştirilebilir, hacklathon tipinde etkinlikler düzenlenebilir, sektörün bir ihtiyacını çözen açık kaynak kodlu bir proje başlatılabilir.

Kullanıcı ile yazılımcıyı direk görüştürmek, kullanıcının yazılımcının hevesini kırmasına ve manevi olarak hırpalamasına neden olabilir. İhtiyaç analizi yapılırken, teslim tarihi belirlenirken sürece dahil edilmeyen yazılımcı sistemde bir hata oluştuğunda direk olarak kullanıcı ile görüştürülünce ortaya hoş olmayan manzaralar çıkabilir. Bazı kötü yöneticiler kendilerinin oluşturdukları ya da çözemedikleri sorunları, proje için en değerli çalışanları olan yazılımcıları müşteri önüne atarak çözmeye çalışılar. Bu, çözümden daha çok soruna neden olur ve yazılımcıların projeyi terk etmesiyle sonuçlanabilir.

Teslim tarihlerinin yanlış hesaplanması nedeniyle aşırı mesai seçeneğine başvurmak en çok karşılaşılan durumdur. Proje teslim tarihi hesaplanırken iyimser davranılması, öngörülemeyen birçok belirsizliğin proje şekil almaya başladıktan sonra ortaya çıkması, projede personel değişikliklerinin olması, pazar payı kapma motivasyonu ile projenin en kısa sürede ortaya çıkarılmak istenmesi proje için yeterli sürenin bulunmamasına neden olur. Bunun yanında fazla mesaiye ücret verilmemesi ya da tam tersi olarak fazla fazla ücret ve hediyeler verilerek yazılımcılara havuç gösterilmesi projenin zamanında teslim edilmesi yönünde genelde olumlu etki sağlamaz. Teslim tarihi için bir metot izlenmeli ve duygusallıktan uzak durulmalıdır.

Yazılımcıya duygusal olarak yaklaşıp beklentiyi yükseltmek de yapılan yanlışlardan biridir. Sen yaparsın, sen arslansın demekle olmaz bu işler. Proje için gereken kaynaklar (zaman, ekip, araçlar) verilmeden sorumluluk yüklenen yazılımcı kendisini yıpratarak projeyi bitirmeye çalışır. Bunu başaramayan yazılımcı sorunu kendisinde arar ve depresyona girer. Bu tuzağa hem yazılımcı düşmemeli hem de yöneticiler bu tarz yaklaşımlardan uzak durmalıdırlar. Özellikle bu duruma yeni mezun yazılımcılar düşmektedirler. Kendilerine verilen iş yükünün farkında olmayan yeni mezunlar, kendilerini ispat etmek için ne pahasına olursa olsun projeyi bitirmeye çalışırlar. Ucuz çalışan buldukları ve bir kaç kişiye yaptıracakları işi bir kişiye yıkmaktan memnun olan bazı yöneticiler ise olursa olur olmazsa başkasına yaptırırım düşüncesi ile bir yeni mezunu daha hayattan soğutmuş olurlar.

Yazılımcılar yeni iş ararken toksik çalışma ortamlarından uzak durmalıdırlar. İş başvurusu yaparken bir iş yerinin toksik çalışma ortamına sahip olup olmadığına dair şu belirtilere dikkat edin: Bir iş yerinde çalışanların yüzü gülmüyorsa, ihtiyatlı davranan ve her şeyi amirine soran çalışanlar varsa, insanlar arasında az etkileşim varsa, çalışanlar arasında kalıplaşmış davranışlar dışında bir davranış yoksa, şirketin markasına ait bir değer hissedilmiyorsa, mesai saatinden sonra telefon ve e-posta trafiği devam ediyorsa buradan uzak durun.

Şirketteki en iyi yazılımcı olmak yerine alanınızdaki en iyi yazılımcı olmaya çalışın. Şirket içinde uzayan mesai saatlerine ayak uydurmak yerine mesai bitince evinize gidin  ve kendinizi alanınızda geliştirin. Boş vakitlerinizi, özellikle toplu taşımada geçen süreyi, kitap okuyarak, podcast dinleyerek, video izleyerek geçirebilirsiniz. Bir blog tutabilirsiniz, robotik kodlamaya başlayabilir ya da küçük bir oyun yazabilirsiniz.

Tükenmişlik sendromuna yakalanmamak veya tükenmişlik sendromundan kurtulmak için:

Haftada 2-3 kere spor  veya yoga yapın. Sağlıklı beslenin. Uykunuza dikkat edin. İyi bir uyku düzeyi stres ve depresyonu azaltır. sizi dinçleştirir.  Yılda en az 1 hafta tamamen teknolojiden uzak tatil yapın. Telefonun çalmadığı, e-postaların gelmediği, kendinize ve sevdiklerinize zaman ayırdığınız bir tatil geçirin. Çalışırken sağlıklı bir biçimde oturarak, klavyeyi düzgün bir açı ile kullanarak, ekran ile göz hizasını doğru ayarlayarak çalışın.

Açık kaynak kodlu bir proje oluşturun veya böyle bir projeye katkı sağlayın. Ama bunu yaparken de tükenmişlik sendromuna doğru giden şu klasikleşmiş adımlarda dikkatli olun:
- Projeye coşkuyla ve bir ihtiyacı çözeceğini düşünerek başlanır. Kullanmak istediğiniz yeni teknolojilerle bir çok kez karşılaştığınız ihtiyacı çözemeye niyetlenerek sıfırdan kod yazmanın verdiği gazla yola çıkarsınız.
- Katma değer oluşturan bir ürünü ücretsiz vermeye başlarsınız. Artık projeniz insanlar tarafından kullanılmaya başlanır. Güzel yorumlar gelir, paylaştığınız mecrada (GitHub vb.) yıldız ve favori sayıları artar, bu proje artık öz geçmişinizde bile paylaşmayı düşündüğünüz bir proje haline gelir.
- Özellik istekleri, destek istekleri ve kod düzeltmeleri üst üste gelmeye başlar. Boş zamanlarınızda ayağa kaldırdığınız proje neredeyse esas işiniz kadar sizden emek ve zaman ister. Bazı özellikleri eklemek için ek masraflar (hosting, ücretli API kullanımı, ücretli araç kullanımı) çıkabilir. Bunun için maddi destek bulmak zordur. Ama insanlar bunu basit bir sorun olarak görürler.
- Tükenirsiniz ve projeyi terk etmek istersiniz. Yeterli zaman ayıramadığınızdan, projeye katkı yapan diğer kişilerin kodlarının kalitesizliğinden, insanların memnuniyetsizliği yüzünden projeyi bırakırsınız. Belki de başka insanlar, projenizin kodları ile ufak tefek farklılıkları bulunan başka bir kopya proje üretirler ve sizden daha çok takdir görürler.
Siz yinede açık kaynak kodlu bir proje başlatın veya böyle bir projeye destek verin.

Yazılımcıları eğitime göndermek, şehir dışındaki toplantılara göndermek, yurt dışındaki konferanslara göndermek onlara bir hava değişimi sağlar. Yazılımcıların hangi eğitimleri alacağı kararını kendilerine bırakmak hem onların güncel teknolojileri takip etmesi için motivasyon sağlar hem de yazılımcılar arasındaki muhabbetin konusunu zenginleştirir.

Yönetim yazılımcının sorunlarını çözmekle sorumludur. Yönetim yazılımcı ile sağlıklı bir ilişki kurmalıdır. Aynı şekilde yazılımcı da yönetimle sağlıklı bir ilişki kurmakla sorumludur. Projedeki ve koddaki sorunları dile getirin. Sorunları içinize atmayın. Sorunları dedikodu yaparak dile getirmeyin, internette ve sosyal medyada olumsuz yorumlar yapmayın. Öfkeniz aklınızdan büyük olmasın. Öfkeyle kalkan zararla oturur. Dedikodu yapanlardan uzak durun, merak etmeyin bir şey kaybetmezsiniz. Bu tür insanlardan hiçbir zaman çözüm çıkmaz. İşle ilgili sorunlar haricinde kişisel sorunlarınızı da yönetimle paylaşın. Hayatınızdaki ters giden bazı durumlardan yönetimin haberinin olması sihirli bir değnek gibi çözüm getirmese bile performansınızı etkileyen durumunun ne olduğu konusunda yönetimin aklında soru işareti bırakmaz.

Ailenizle ve sevdiklerinizle zaman geçirin. Hayatınızda neyin önemli olduğunu düşünün. Ayrıca mesai bittikten sonra işe evde devam ederseniz bir süre sonra verimliliğiniz düşecektir. Elinizdekileri kaybetmeden önce değerini bilin. Molalarda yaşamayı değil tüm hayatınız boyunca süreç içerisinde yaşamayı seçin.

Yeni teknolojileri araştırın, birden fazla programlama dili öğrenin, robotik kodlamaya başlayın, iş ağınızı genişletin, öz geçmişinizi canlı tutun. Bu tür eylemler sayesinde hem stres oluşturan faktörlerden uzaklaşmış olursunuz hem de heybenizi dolu tutarak iş değiştirme sürecinizi kolaylaştırırsınız. Ayrıca işte yaşayamadığınız kendinizi gerçekleştirme duygunuzu tatmin edersiniz.

Yazılımcı özgür olmalıdır. Yazılımcı araştırabilmeli, yeni şeyler öğrenmek için zaman ve kaynak sahibi olmalı, projede ve kodlarda söz sahibi olmalıdır. Yazılımcı gerekirse risk alıp projeyi, kendisinin doğru olduğunu düşündüğü tarafa çekebilmelidir. Projede fikirler dinlenmelidir ama ortak bir karara vardıktan sonra oyun bozanlık yapılmamalıdır. İşe duygusal değil mantıklı bakılmalıdır.

Tükenmişlik sendromundan sonra düzelmek zaman alacaktır. Birden bire kendinizi enerjik hissedemezsiniz. Bilgisayar ile aranıza giren soğukluğu kırmak vakit isteyebilir. Kendinizi zorlamadan gerekirse bir uzmandan yardım alarak düzelmek için adımlar atmalısınız.

Hayat inişlerle ve çıkışlarla dolu. Çıkışta görüşürüz.

Yorumlar

Bu blogdaki popüler yayınlar

Yeteneğini Kaybeden Yazılımcı

KPSS Çalışan Yazılımcı

On-Prem Çilesi