Bu yazı, tamamen yönlendirme amacıyla yazılmış kişisel düşüncelerden oluşmaktadır. Çevreye verdiğim rahatsızlıktan dolayı özür diler, benliğinizde oluşabilecek hasarlardan dolayı mesuliyet kabul etmediğimi belirtirim.
Son zamanlarda -yaklaşık 1 aydır- orta ve büyük ölçekli projelerde çalışacak yazılımcılar aramaktayım. Projelerimiz genelde .NET temelli web, windows ve web service projeleri olduğu için, "CLR
nedir, MSIL nedir bilen, C# ile yaşayan, Ms Visual Studio fantazisi
olan, sigara içmeyen (en önemli kriter!) ve Sql ile beslenen azimli
arkadaşlar arıyoruz" şeklinde ilanlar vermiştim. Buna istinaden birçok görüşme yaptım, onlarca insanla konuştum. Ne konuştuğunu, sözünü ettiği teknolojinin ne olduğunu bilen kişileri bir tarafa ayırmakla birlikte, "ben çok iyi frontpage biliyorum, visual studio kullanmıyorum", "firefox nedir bir tilki türü müdür?", "javascript ile java farketmez, aynı şey nasılsa", "bence notepad visual studio'dan daha iyi bir editor" gibi marjinal önermelere sahip yazılımcı adaylarının özgeçmişlerini inceledim. Bu görüşme sürecinden çıkardığım sonuçları, kutsal misyonunu yerine getiren bir şövalye edasıyla paylaşmak istiyorum :
- Herhangi bir iş pozisyonuna gönderilen özgeçmişlerin %20'si henüz
okunmadan eleniyor. Özgeçmişlerini docx uzantılı olarak gönderen kişi,
benim MS Office 2007 kullanmayabileceğimi düşünmüyorsa, bu O'nun
özgeçmişinin okunması için tüm olasılıkları göz önüne almadığını
gösterir. Yazılım üretmek, tüm olasılıkların gözönüne alındığı bir
süreçtir. Ben bu kişileri baştan eliyorum. (Not : MS Office 2007 kullanıyorum.)
- Veri girişi, form doldurma, müşteri temsilciliği işlerine sonsuz derecede saygım var. Bu sektörlerde çalışan arkadaşlarım da var; fakat hala verdiğim ilanla bu sektörler arasında kurulan bağı anlayabilmiş değilim. Nasıl oluyor da, yazılım geliştirmek "giriş yapmak", kod yazmak "veri girmek", "proje yönetim süreçleri" "müşteri temsilciliği" olarak algılanıyor hala anlayabilmiş değilim.
- "C# biliyorum, SQL biliyorum, Asp.Net biliyorum" ifadesini kullanan arkadaşlar genelde küçük dünyaları ben yarattım edasındalar. Dolayısıyla maddi anlamda beklentileri çok büyük. Oysa ciddi anlamda bir çelişki söz konusu.
"C# biliyorum" diyenlerin birçoğu "delegates", "event handlers", "pageddatasource" kavramlarını hiç duymamış, hiç windows uygulaması yazmamış. Hashtable ve ArrayList farkını bilmeyenler var desem sanırım sözü uzatmama gerek kalmadığını anlarsınız.
"SQL biliyorum" diyenlerin birçoğu t-sql bilmiyor. "Group by having ..", "cursor", "sql injection", "dynamic sql" gibi kavramlara yabancılar. Karmaşık stored procedure ve trigger yazabilenler ise neredeyse yok. MS SQL Server'i Enterprise Manager'dan ibaret sananlar, Sql Profiler'i hiç duymamış olanlar var.
"Asp.NET" biliyorum diyenlerin bir çoğu, "strongly typed DataSet"leri doldurup bunları sayfadaki kontrollere bağlamaktan öteye gidemiyor. Interface, inheritance gibi kavramlara yabancılar. Uygulama içinde sql kodu oluşturandan (üstelik string sql = "select * from users where userid = "+ request("id") gibi felaket kodlarla) tutun da, Page.IsPostBack kullanmayı bilmeyenlere kadar ne ararsanız var. Yine de "Asp.net", nispeten "C#" ve "SQL"e göre daha iyi durumda.
- Yazılım, bir ekip işidir ve alçak gönüllülük esastır. Ekip çalışmasına yatkın olmayan, ben her şeyi bilirim ve tekil çalışmak isterim yaklaşımı sergileyen arkadaşlar, hiç şansınızın olmadığını daha önce de söylemiştim değil mi? Ekibin bir parçası olmanın sorumluluğunu hissetmeyen ve kendisini geride kalmamak adına öğrenmeye adamayan kişiler doğal seleksiyona uğramak zorundadır. Hepimiz yaşam şartlarımıza göre adapte etmiyor muyuz kendimizi? Bukalemun bile saklanmak için derisinin rengini değiştirirken, ben illa sigara içerim diye tutturmak neden? (İnsanın kendisini öldürme özgürlüğü bile olsa kişisel tercihlere saygılıyım, ama sigara kokan bir ofise veya kişiye hiç saygım yoktur. )
- İngilizce bilmemek ayıp değil öğrenmemek ayıptır! Keşke, Türkiye teknolojinin ve yazılımın beşiği olsaydı da tüm kaynaklar Türkçe olsaydı. Sevgili yazılımcı adayı arkadaşım, olsa dükkan senindi ama ne yapalım, hayat bu zor.
- Çok konuşan boş, az konuşan öz konuşur. İş görüşmelerinizde, bildiğiniz veya bilmediğiniz her şeyi makine edasıyla anlatmaya kalkmayın. Bu sizi ezberci veya geveze durumuna sokacaktır. Emin olun, sizinle görüşen kişi -ben anlamıyorum dese- bile cindir, tilkidir, yanıltıcıdır. Görüştüğünüz kişilerin birinin veya birkaçının mutlaka sizden daha iyi olduğunu göz önüne alın. Özellikle teknolojiler hakkında atıp tutmayın. Sıklıkla karşılaştığım bir durum, .Net - Php, .Net - Java, Ms Sql Server - Oracle karşılaştırmasının yapılması. Karşılaştırma yapmak iyidir ama kötülemek değil! Teknoloji sizi değil, siz onu kullanın. Bir teknolojiyi kötülemeniz, kullanamadığınız / bilmediğiniz için gereksizleştirmeye çabaladığınız düşüncesiyle hanenize eksi puan getirecektir. Bilmediğiniz veya fikrinizin olmadığı konularda açık olmak her zaman pozitif yaklaşım sağlar.
- Ben sana yazılımcı olamazsın demedim, adam olamazsın dedim! Ne kadar iyi olursanız olun, isterseniz kendi beyninizi programlayabilecek kadar usta olun, önce insan olun! Olumsuz cevaplanan başvurularınıza istinaden karşı tarafa "imalı" cevaplar atmayın. Gün olur bunlar karşınıza çıkar. Türkiye'de yazılım dünyasının ne kadar küçük, "kara liste"nin ise ne kadar büyük olduğunu tahmin bile edemezsiniz.
Umarım kendi adınıza da pay çıkarabilmişsinizdir. Şahsen ben çıkardım.