31 Ocak 2023 Salı

Yazılımcıyı Daha Değerli Kılan Özellikler

    S.A. Arkadaşlar,
    Uzun yıllar önce iyi yazılımcının bazı özellikleri başlığı altında notlar almıştım. Kariyerimin başında onları okuyup acaba ben bunlara hiç sahip olabilecek miyim diye kendi kendime sorduğumu hatırlıyorum. O notları hiç silmedim, zamanla yanına ufak tefek bazı eklemeler de yaptım. Tabi bu teknik özelliklerin yanına kişisel özelliklerle ilgili de notlar aldım. İlk bakışta çok önemsenmese de aslında buradaki yetkinlikler teknik yetkiklerden çok daha önemli olduğuna yıllar içinde şahit oldum. Sizler de lütfen kendinizce önemli gördüklerinizi paylaşmayı unutmayın. Hazırsak başlayalım.
    
    Teknik özellikler
    Test yazar: Bu özellik teknik özellikler arasında belki de lafı en çok geçip en az önemsenen konu olabilir. Birçok irili ufaklı şirketin mülakatlarına girdim, sayısız sorular sorulur ama nedense test ile ilgili fazla bir şey sorulmaz. Ben dönüp kendilerine bu konuyu sorduğumda maalesef cevaplar neredeyse hep olumsuz. Soranlar da bu işi ne kadar önemsiyor emin değilim açıkçası, ama test yazmak insanın koda karşı bakışını değiştiriyor. En basitinden kodu yazarken paldır küldür yazmayı bırakıyorsunuz, bırakmak zorunda kalıyorsunuz. Çünkü iyi test, iyi kod yazmaya da zorlar, zamandan kazanım sağlar, bakımı ve kodu yeniden düzenlemeyi kolaylaştırır. Yapar da yapar, hepimiz bunları çok iyi bilsek de hiç zamanımız olmaz. Bu konuda dönen çarka çomak sokmayı ihmal etmeyin, bu işi iyice öğrenin ve uygulayın. Pişman olmayacaksınız.

    Kitap okur, kendini geliştirir: Kendimizi geliştirmek hepimizin öyle veya böyle yaptığı şey olsa da uygun şekilde bunu yapabiliyor muyuz belki orayı kaçırıyoruzdur. Özellikle de basit seviyede çekilen videolar ve bunların tüketilmesi, kitaba olan önemi azaltmış gibi gözküyor. Gerçek böyle mi derseniz bence değil. Birçok şeyi basit manada hızlıca öğreniyor olabilirsiniz, ama birkaç şeyi iyi manada bilmek farklı bir olaydır. Bunu da derinlemesine öğrenmekle yapabilirsiniz, bunun da en etkili silahı kitaplardır. Bu maddeler arasında kendimi en çok eleştirdiğim konu bu olabilir...

    Müşteri ile iletişimi kuvvetlidir: Bu kariyerlerimizin başında belki bize çok lazım olacak bir özellik olmayabilir, ama tecrübe kazandıkça ve şirketlerin büyüklüğüne göre müşteri ile muhatap olmamız gerektikçe bunun önemini daha iyi anlıyoruz. Bu gerçekten tamamen farklı bir olay. Çok iyi yazılımcı bile olsanız çok iyi bir iletişiminiz olmayabilir, bu iş yöneticilik için de böyledir. Genelde şirketteki en iyi yazılımcı müdür yapılır ama bu her zaman tutmayabilir, hem en iyi yazılımcınızı kaybetmiş olma riskiniz vardır hem de kötü bir müdüre sahip olmuş olabilirsiniz.

    IDE'yi iyi kullanır: Kariyerimin başında sevdiğim bir abiyi bir gün bir şeyler incelerken gördüm. Yaklaşıp baktığımda kullanacağı IDE'nin kısayollarını incelediğini gördüm. Çok şaşırdım o an. Kullandıkça zaten öğrenecek bunu yapmasına gerek var mı diye düşündüm, ama yıllar içinde bunun ne kadar önemli olduğunu daha iyi anladım. IDE'nin gücü geliştiricinin gücüdür. Kasabın elindeki keskin bıçak neyse bizim elimizde iyi bildiğimiz IDE odur.

    Kısa yolları bilir, fare kullanımı azdır: Yukarıdaki madde ile bazı noktalarda benzerlik gösterse de
bunu daha genel olarak ele alabiliriz. Çocukluğumda bilgisayarla ilk tanıştığım dönemlerde neredeyse hiç fare kullanmadan bilgisayarı kullanan bir arkadaşım vardı. Çok özenmiştim açıkçası, tabi ileriki süreçler bunu sadece özendiğim için değil, işleri ne kadar hızlandırdığını anladığım için üzerine eğildim. Genel olarak hala zayıf olsam da IDE kullanırken elimden geldiğince bunları kullanmaya çalışıyorum, ama genel kullanım açısından maalesef istediğim durumda değilim, haftanın bir günü fare kullanmadan genel işleri halletmek gibi bir hedef de koydum ancak çok ilerleyemedim, ama her daim aklımın bir köşesinde. Düşündüğünüzden çok daha fazla sizleri farklı bir noktaya taşıyacağına inanıyorum.

    10 parmak yazar: Bu maddeler arasında en erken sahip olduğum özellik. İlk okuldan beri aktif şekilde bilgisayar kullandığım için bunu çok rahatlıkla yapabiliyorum, ama yukarıdaki fare kullanımı ile birleştiğinde sürekli eliniz kalkıp tekrar fareye gidip döndüğünde burada da belirli sorunlar yaşıyorsunuz. Bunun için bazı bilgisayar markalarının farklı tasarımları olsa da en güzeli tüm işleri klavyeden halletmek olduğuna inanıyorum. Yıllardır kullanıcı arayüzüne alışmış biri için bu çok kolay olmasa da en azından amaçlanan bu şekilde olmalıdır.

    Teknik olmayan özellikler
    Bencil olmamak: Yıllar içerisinde çok yetenekli ama sadece kendi işini bitirmeye odaklanan ve her fırsatta yardım etmeyi ihmal etmeyen geliştirici arkadaşlarım oldu. Herkes hayatına devam ediyor olsa da bu cömert arkadaşları her daim güzellik ve vefa ile anıyorum ve elimden geldiğimce bayrağı taşımaya gayret ediyorum. Herbirine selamlar olsun.

    Öğrenmeyi öğrenmek: Bizim işteki belki de en kritik noktalardan biridir. Çünkü inanılmaz bir şekilde değişim ve gelişim var. Bunlara uyum sağlamak da bir o kadar zor. Bu öğrenme işini öğrenmeden bu meslek ızdırap haline gelebilir.

    Öğretmeyi sevmek: Kimi insanların fıtratında anlatmak, bildiğini öğretmek vardır. Yazılımda da bildiğiniz gibi usta-çırak ilişkisi var. Bu her ne kadar unutulmuş olsa bile bunu devam ettirenler var. Her ne kadar farklı kaynaklardan öğreniyor olsak da her birimizin hayatında iz bırakan ustaları vardır. Ustalara vefa olarak da çıraklar yetiştirmeyi unutmayalım (her daim çırak olduğumuzu da unutmayalım bence). Tırnaklarımla kazıya kazıya buraya geldim (öyle dahi olsa) o da kendi başına öğrensin düşüncesinden kendinizi mümkün mertebe uzak tutun.

    Ego: Yazılımcıların üstüne yapışan bir şey sanki. Her insanda olması gereken kadar ego vardır, bunu güzel seviyede tutmak insanı geliştirir. Azı da zarar çoğu zarar. Çoğunun zararını hepimiz biliriz, belki bunu okurken bile aklımıza bazı isimler gelmiştir. Peki ya azı neden zarar derseniz de kendinize haksızlık edildiğini düşüneceğiniz olaylarla karşılaşabilirsiniz. Fazla mütevazilik vasattan nasihat işittirir diye bir laf vardır, bu sözü kullanmak istemesem de maalesef iş hayatında böyle gerçekler de var...

Özetle tüm bu teknik ve teknik olmayan özellikler yanyana geldiğinde (bunlara eklemeler yapmak mümkün) her ne kadar teknik yetkinlikler kıymetli gibi gözükse önemli olan bu yetkinliklerin ekibin tümüyle uyum içerisinde güzel bir ahenk oluşturmasıdır.

    Yazımızı öğretmenin değerini ortaya koyan bir hadis-i şerif ile bitirelim.
"Yalnız şu iki kimseye gıbta edilir: Allah'ın kendisine ihsân ettiği malı hak yolunda harcayıp tüketen kimse; Allah'ın kendisine verdiği ilimle yerli yerince hükmeden ve onu başkalarına da öğreten kimse."
        (Buhârî, İlim 15, Zekât 5, Ahkâm 3, İ'tisâm 13, Tevhîd 45; Müslim, Müsâfirîn 268)
  

Hiç yorum yok:

Yorum Gönder