Etiket arşivi: yazılımcı psikolojisi

Hal 96:Bir suçlu aradığında bu genelde projede kendinden önce çalışmış olan geliştirici/geliştiriciler olur

Yazılımcının işi aslında hiç kolay değildir. Sayısız programlama dilinden birini veya bir kaçını kullanıp, karmaşık problemleri yine karmaşık sayılabilecek mimariler, disiplinler ile harmanlayarak, müşterinin yüzünde tebessüm bırakacak ürünlerin geliştirimesinde rol almaya çalışır. Hele ki bir ekip çalışmasının söz konusu olduğu geliştirmelerde koordinasyon, süreç ve yönetim güçlükleri de işin içerisine girince tebessüm bıraktırmak epeyce zorlaşır.

Projenin veya iterasyonun sonlanmasına yakın artan baskı, sıkışık teslimat süreleri, yönetici tavırları, müşterinin olur olmaz isteklerinin kabülü, beklenenden az elde edilen gelir, kız/erkek arkadaşla yapılan kavga ve daha bir çok şey geliştiricinin zaten çorba olan kafasına tuz biber eker.

Yoğun olarak yazılım geliştirme işinde yer alan kişilerin zaman içerisinde psikolojik yıpranmaya uğramaları çok da şaşılacak bir durum değildir.

Peki işler kötüye gitmeye başladığında? Pproje geciktiğinde, istenen görevlerde sarkmalar olduğunda? Geliştiricilerin hepsi insandır ve çok doğal olarak psikolojisi vardır. Günlük rutin içerisinde değişken durumlarda değişkenlik gösterebilen bu psikolojinin içinde savunma ve yaptığını korumu dürtüleri de vardır.

Eğer süreç içinde işler bir geliştirici için ters gidiyorsa mutlaka “ürünün önceki zaman diliminde meydana gelen bir hat”a sonucu bu noktaya gelinmiştir düşüncesi hakimdir. Bu düşünce esasında önceki geliştiriciyi veya geliştiricileri suçlama noktasına kadar gider.

Bir ürüne geliştirme yaparken var olan koşullar çerçevesindeki standartlara uymak ve bunun dışına çıkmadan kodlama yapmak, sonradan gelen geliştiricilerin hakkımızda iyi şeyler düşünmesine neden olur.

En azından şirketin var olan kod-kalite standartlarına uyulmaya çalışılmasında yarar vardır.

Ne yazık ki bu tip savunma mekanizmalarının yöneticiler için bir kıymeti yoktur. Her ne kadar geçerli bir sebep olsa da yönetim kademesi veya işin sahibi, ürünün istenen nitelikleri ile istenen zamanda veya olabilecek en kısa sürede çıkmasını bekler.

Anahtar Kelimeler(Bunlara Bir Bakalım)

  • Hatasız Kodlama
  • Okunabilir Kod
  • Kodlama Standartları
  • Kod-Kalite Standartları

Hal 93:Ekranının görünür olmasından ve arkasından sürekli birilerinin geçmesinden rahatsız olur.

Yazılım sektöründe ürün geliştirme sıkışık süreler nedeniyle zaman içerisinde stres dozu yüksek bir hal alabilir. Her ne kadar modern dünyanın bilinen popüler süreçleri ve metodolojileri bu baskıları minimize etmekte olsa da, kod başında oturanların günün belirli saatlerinde yüksek konstantrasyon içerisinde bulunmaları şarttır.

Her ne kadar adam-gün hesabına göre yapılan planlamalarda 8 saat esas alınsa da, yazılımcının gün içerisindeki maksimum odaklanabilirliği bu kadar uzun değildir.

Yüksek konsantrasyon projeden projeye daha kritik seviyelerde gerekebilir. Söz gelimi askeri sanayide, finansal risk içeren ürünlerde, üretim bantlarına ait uygulamalarda, bilimsel unsurlar içeren arge  projelerinde çalışanların stresten uzak iş yapabilmeleri önemlidir. Bu nedenle yazılımcının konstantrasyonunu bozacak ortamlar içerisinde yer almaması tercih edilir. Konsantrasyonu arttırabilecek bir kaç unsur vardır. Söz gelimi,

  • Yeşillik veya mavi gökyüzü gören bir şirket katında çalışmak(adım atar atmaz yeşillik bir alan çıkabildiğinizi düşünün. Teknokent, Teknopark çalışanları kıymetini bilmeli)
  • Diğer geliştiriciler ile çok iç içe oturmayacak şekilde ferah bir masa da oturmak,
  • Çok fazla gürültü ihitva etmeyen ortamlara sahip olmak(iş birimleri ile bir arada olan ekipler, iş birimlerinin hararetli tartışma ve telefon konuşmalarına maruz kalabilirler)
  • Geceleri 00 ile 05 arasında mutlaka uyku halinde kalabilmek ve bu nedenle sabah yorgun uyanmamak,
  • Öğle araları, öğle sonrası çalışmalara olumsuz etkide bulunabilecek ağır gıdalardan kaçınmak vb

Bireysel konsantrasyon dışında ekip konsantrasyonu da önemli bir konudur. Bunu yüksek seviyede tutabilmek için gerekli aksiyonları üst kademe ve yöneticilerin sorumlulukları arasındadır.

Ortamsal veya bireysel anlamda bakılabilecek pek çok şey olmasına rağmen iş yerlerinde yazılımcı psikolojisini ve doğal olarak konsantrasyonunu bozacak etkenler de vardır.

  • Ortamın gürültülü olması,
  • Başka departmanların yazılım departmanı ile iç içe durması,
  • Havasız, gökyüzü görmeyen odalarda çalışılması(In-Box Developer written Code)
  • ve daha da önemlisi oturulan masanın arkasından sürekli birilerini geçmesi; sürekli olmasa da geçenlerin ekranda olup bitenleri merak etmesi,

Bu nedenle özellikle yönetimsel kadroda yer alanların, proje veya ürün yöneticilerinin sorumluluk alması, ekibin birey ve grup bazında konsantrasyonu azaltabilecek etkenleri minimuma indirgemesi önemlidir.

Anahtar Kelimeler(Bunlara Bir Bakalım)

  • Yazılımcı ve Spor,
  • Yazılımcının uyku düzeni,
  • Gündelik yaşamda stresi azaltmanın yolları

Hal 77:Üniversitede ona göre en gereksiz dersin,günün birinde bir yazılımda işe yarayacağına ihtimal vermez

Yazılımcıların çoğu okul yıllarındaki dersleri ihmal eder.  Bunun bir kaç sebebi vardır. Kimi zaman dersin ne işe yaradığı veya hangi amaçlarla kullanılabileceği anlaşılmaz. Bu, yazılımcı adayının konuyu yeteri kadar sorgulamamasına ve sadece geçilmesi gereken bir ders olarak görmesine neden olur. Diğer bir sebep, dersi anlatanın konuyu yeteri kadar çekici ve eğlenceli hale getirememesi hatta işe yarar olduğunu ispat edememesidir. Ne varki bu sebeplerin hiç biri, yazılımcı adayının konuyu araştırmasına engel değildir.

Araştırmacı olmak, yazılımcıların sahip olması gereken önemli karakteristiklerden sadece birisidir.

Derste işlenen bazı konulara ilerleyen zamanlarda ihtiyaç duyulma ihtimali her zaman için vardır.  Bu konu, o an için gerekli önemli bir algoritmayı işaret edebileceği gibi uygun çözüm yaklaşımını da(modeli de) barındırabilir.  Bu yüzden yazılımcı adaylarının müfredatta yer alan derslerden sıkılmadan önce, gerçek hayatta hangi alanlarda ele alındığını öğrenmelerinde(gerekiyorsa öğretenlerden istemelerinde) yarar vardır.

Anahtar Kelimeler(Bunlara Bir Bakalım)

  • Araştırmacı Olmak

Hal 66:Sosyal hayatı dijital dünyada arar.

Çevreye baktığımızda özellikle yeni nesillerin, ellerinden düşürmedikleri akıllı telefonları ile dünya üzerindeki bir noktadan diğerine hareket ettiklerini görürüz. Bu koordinatlar çeşitlilik gösterse de, aralarında değişmeyenler de vardır. WC, Yemek Masası, Çalışma Masası vb…Hatta, otobüste ayakta giderken, yolda yürürken, gün batımının karşısında otururken…

Peki bu insanlar bu mobilite içerisinde neye bakmaktadır. Onları ekranları başına bu denli fazla kitleyen şeyler nelerdir? Çok doğal olarak sosyal medyadır. Facebook’ un dan tutunda Twitter’ ına, Pinterest’ inden, Instagram’ ına kadar bir çok alan…

Oysa ki unutulan önemli bir kaç husus vardır…

  • Güzelim gün batımını izleyip o anın tadını çıkartmak varken, mobil cihaza gömülüp kaybolmak…
  • Bir çocuğun en mutlu gülümsemesini hissetmek yerine onu fotoğraflayıp Facebook’ a yüklemeye çalışıp Like’ ları saymak…
  • Pek çok kişinin gidemediği ülkelere gidip Instagram’ a koyacağı fotoğraflar ile övünüp, gittiği yerler için kağıda not çıkarmamak…
  • Arkadaşlar ile karşılıklı oturup sabahlamak varken, bunu bilgisayar başından kalkmadan yapmak…

vb…

Sosyal medya olmazsa olmazlardandır ama tüm hayatı onun üzerine kurup kişisel düzeni bu şekilde yürütmek olmaması gerekenlerdendir.

Hal böyle olunca da yazılımcının sosyal dengeyi aradığı en önemli yer olur dijital dünya. Zaman ilerledikçe yazılımcı, kendisini gerçek dünyada daha da yalnız hisseder. İnsanlarla iletişime geçmek için konuşmak yerine email yazmayı tercih eder. Yoğun iş temposu ve sıkıntılar da işin içerisine girince, dertlerini yakın arkadaşları ile paylaşmak yerine, Tweet mesajları atarak anlatmaya çalışır cümle aleme. Olan psikolojiye olur.

Anahtar Kelimeler (Bunlara Bir Bakalım)

Arda Çetinkaya

Hal 21: Sosyalleşmek için evin duvarları dışına bedenen çıkması gerektiğini inkar etmeye çalışmasıdır.

Her halde programcılığın ilk yıllarındaki o kasvetli monitorler üzerinde çalışmaya devam ediyor olsaydık, belki de dışarı da daha çok vakit geçirebilir, başka uğraşlara daha fazla zaman ayırabilirdik. Ne varki ilerleyen teknoloji beraberinde sadece kolaylıklar değil yan etkiler de getirdi.

Bir insanın en büyük felaketi, var olan akıl sağlığını yitirmesidir.

Artık daha renkli, daha ince ekranlar üzerinde çalışma fırsatı bulan yazılımcılar sadece donanımsal anlamda değil, ilgilendikleri ürünler açısından da bilgisayarlara daha bağımlı hale gelmiş durumdalar. Günün sekiz saatten fazla bir zamanını bilgisayar başında geçiren, zihni oldukça yoran problemlerle veya rutinleşmiş sıkıcı kod parçaları ile uğraşan yazılımcının en büyük yanılgısı da sosyal hayat ihtiyaçlarını internet üzerinden gidermeye çalışmasıdır.

21

@coderizbiz

Aslında sosyal hayat yazılımcı için çoğunlukla anlamını yitirmiş ve kalıp değiştirmiş bir kavram olarak düşünülebilir. Şu soruları kendinize bir sorun:

  • En son ne zaman aynı sektörden olmayan bir arkadaşınızla buluşup normal de internetten sipariş verip eve getirttiğiniz o leziz yemeğin sahibi olan restorana gittiniz?
  • En son ne zaman aynı sektörden olmayan bir arkadaşınızla kahve içip iş dışında bir şeylerden bahsettiniz?
  • En son ne zaman aile fertlerinizle pikniğe gittiniz?
  • En son ne zaman lisede birlikte basketbol/futbol oynadığınız arkadaşlarınızla bir müsabakayı izlemeye gittiniz?
  • En son ne zaman bir konuyu araştırmak için bir üniversitenin kütüphanesine girip tüm gününüzü araştırarak geçirdiniz?
  • En son ne zaman cep telefonunuzun şarjı bitmiş halde saatlerce şehrin sokaklarında gezdiniz?
  • En son ne zaman mezun olduğunuz ilk okul arkadaşlarınızla buluşup ilk okulunuzu ve öğretmenlerinizi ziyaret ettiniz?

Maddeler daha da çoğaltılabilir. Hatta kültürel aktivitelerde bulunmak, müzik ve dansla uğraşmak, doğa yürüyüşlerine katılmak gibi insan iletişiminin yüksek olduğu etkinlikleri hiç saymadık bile. Şu unutulmamalıdır ki, yetkişkin bir insanın sosyal çevresinde aile fertleri, iş arkadaşları ve bunların dışında kalan arkadaş çevresi önemli bir rol oynamaktadır. Bu çevreler google+ da geçen Circle’ lar değildir. Hangilerine sahip olduğumuzun veya sahip olup da kaybetmek üzere olduklarımızın farkında olmalıyız.

Ünlü CEO’ lardan Bryan Dyson ın kısa konuşması.

Hayatı 5 adet topu havada çevirdiğiniz bir jonglörlük olarak düşünün. Bunlar “İş, Aile, Sağlık, Arkadaşlar ve Ruhunuz” ve hepsini havada tutmaya çalışıyorsunuz.
Yakın bir zamanda anlayacaksınız ki iş bir lastik toptur. Eğer düşürürseniz yine size zıplayacaktır. Ama diğer dördü – Aile, Sağlık, Arkadaşlar ve Ruhunuz- camdan yapılmıştır. Eğer bunlardan birini düşürürseniz geri dönüşü olmayacak bir şekilde aşınacak, üzerinde iz oluşacak, hasar görecek ve belki de tuzbuz olacak. Hiçbir zaman eskisi gibi olmayacaklar. Bunu anlamalı ve bunun olmaması için çaba göstermelisiniz.
İş zamanınızda iyi çalışın ve zamanında çıkın. Ailenize, arkadaşlarınıza ve düzenli dinlenmenize gereken zamanı ayırın. Değerler sadece değerlerine değer verdiğiniz sürece değerdir.

Anahtar Kelimeler(Bunları Bir Araştıralım)

  • Sosyal Hayat
  • İnsanın Sosyal Çevresi
  • Sektörel Hastalıklar
  • Sektör Bazlı Psikolojik Sorunlar
  • Bryan Dyson

Hal 19: Bazı projelerin ekip çalışması olmadan da bitebileceğini zannetmesidir.

Yazılımcıların yaptığı en büyük hatalardan birisi de bazen sadece koda bakıyor olmaktır. Hatta çoğunlukla bir ürünü sadece koddan ibaret bir vücud şeklinde değerlendirmektir. Kodun dışında kalan dünya göz ardı edilebilir. Aslında bir ürünün yaşadığı uzay sadece mimariler, kalıplar, prensipler veya metodolojilerden ibaret bir ortam olarak düşünülmemelidir.

19

@coderizbiz

Yazılım odaklı ürün uzayını eksik görmek ne yazık ki pek çok geliştiricinin, çevreden gördüğü hemen her ürünü tek başına üretebileceği fikrinin doğmasına neden olmaktadır.

Aslında bir ürünü iyi bir yazılımcı baştan sona tek başına geliştiremez diye bir kural yoktur. Ancak zaman, maliyet gibi unsurlar göz önüne alındığında en azından buna değip değmeyeceğinin baştan tespit edilebiliyor olması önemlidir.

Tahmin edileceği üzere zeki, çok yönlü ve tek başına Rambo gibi ortalarda dolaşıp bir helikopter’ den diğerine atlarken arada asenkron kod geliştiren insan sayısı epeyce azdır. Bu duruma düşülmesinin nedenlerinin başında büyük resmi görememek gelmektedir. Bu biraz da yazılımcının ürün kavramı hakkındaki bilgisi ve bakış açısı ile alakalıdır.

Bir ürünün takriben kaç kişilik bir ekip tarafından ne kadar sürede ve hangi teknolojiler ile geliştirilebileceğini ön göremiyorsak ileri de iyi bir proje/ürün yöneticisi adayı da olmayız.

Dolayısıyla bazı ürünlerin ve yeni keşiflerin geliştirilmesi düzenli ve sistematik ekip çalışmasına bağlıdır. Bu çalışma kalıbı sadece şelale modeli gibi bir süreç anlamına gelmemelidir.

Çevikliğin içerisinde de aslında basit ama kuralları kesin çizgilerle belirlenmiş bir yaşam döngüsü olduğu unutulmamalıdır.

Anahtar Kelimeler(Bunları Bir Araştıralım)

  • Proje Yönetimi
  • Ekip Çalışması
  • Takım Çalışması
  • Şelale Modeli – Waterfall
  • Çevik Süreç Yönetimi – Agile Process Management

Hal 13: İlerde güneye yerleşip domates yetiştirebileceği hayaline cidden inanmasıdır.

Yazılım geliştirmek fiziki güce pek ihtiyaç duymasa da beyin için oldukça yorucu bir aktivitedir. Geliştirilmekte olan ürüne bağlı olarak kafa yorma oranı fark gösterebiliyor olsa da, sıkıntı daha çok yazılımcının pek yerinde duramaz bir adam olmasından da kaynaklanmaktadır.

Bunu anlayabilmek için çevrenizdeki yazılımcıları veya kendinizi kısa bir süre gözlemleyebilirsiniz. Tik haline gelmiş davranışlar söz konusudur. Kod yazmayı çok sevenlerin bile zaman zaman bunaldığı anlar olur. Karmaşık problemler, giderek yaklaşan teslim süreleri, analistler ile anlaşamamak, müşteriyi anlayamıyor olmak ve pek tabi maddi olarak hak edilenin alınmadığını düşünmek vb.

13

@coderizbiz

İşte bu gibi nedenlerden pek çok geliştiricinin zaman içerisinde şakayla karışık da olsa güneye inme(veya kuzeye çıkma) fikri hayat bulur. Bu aslında basit bir kaçış olarak düşünülmelidir. İşin gerçeği bunu ciddi anlamda yapacak olanlar olsa da asıl sorunun kaçış anlarında nasıl davranılması gerektiği ile ilgilidir. Nitekim domates çiftliği fikri gerçekleşse bile o evde yüksek hızlı wireless internet bağlantısı olacağı aşikardır.

Yüksek Lisans’ da Araştırma Teknikleri konulu dersteki hocam bir keresinde şunu ifade etmişti:

Diyelim ki bir araştırmanın oldukça önemli ve can alıcı bir noktasında takıldınız. İlerleyemiyorsunuz. Fikir  dahi üretemiyorsunuz…Ne yaparsınız?

Tatile çıkarsınız (Sınıftaki sessizliği takiben)

Yazılımcılar için de kısa kaçışlar veya duruma bağlı olarak uzun kaçışlar söz konusu olabilir. Bu kaçışın ne olacağını bulmak önemlidir.

  • Adrenalini yüksek sportif bir aktitiveye katılmak,
  • Doğada tek başına yürüyüş yapmak,
  • Bir Marvel çizgi romanı koleksiyonu oluşturmaya çalışmak,
  • Deniz kenarına inip saatlerce ufka bakmak,
  • Yağmurlu havada deli gibi ıslanırcasına koşmak,
  • Uçak maketi yapmak veya modelcilikle uğraşmak,
  • Puzzle çözmek,
  • Varsa ailemizin veya bir komşumuzun bahçesinde gönüllü olarak bahçe işleri ile uğraşmak(Bakın bakalım domates yetiştirmek o kadar kolaymıy mış),
  • Fotoğrafçılık gibi bir hobi edinmek,
  • Kısa filmler çekmeyi denemek,
  • Belki de bir Tiyatro programına yazılmak,

Anahtar Kelimeler(Bunları Bir Araştıralım)

  • DeadLine
  • Yazılımcı Psikolojisi
  • Yazılımcı Hobileri