Yaklaşık bir yıl süren işşizliğimin sonlarına doğru iş arama yöntemimi değiştirmem gerektiğine karar vermiştim. İş ve işçi bulma kurumu her ay en son net maaşımın yüzde seksenini otomatikman veriyordu ama bir yılın ardından bunda daha fazla kesintilere gideceklerdi. Ayrıca bana gönderdikleri iş teklifleri de artık iyice saçmalaşmaya başlamıştı. Bunun üzerine internetten çevredeki şirketlere bakmaya başladım. Ehliyetim olmadığından tren ve yürüyerek makul bir zaman içinde ulaşabileceğim bir iki tanesini seçip özgeçmişimi yolladım. Ondan sonra son bir yıldır yaptığım işlere geri döndüm. Uyumak ve reality show seyretmek.
Noel öncesi bir gün televizyonda talk show seyrederken telefon geldi. Öğleden sonra müsaitsem benimle görüşmek istiyorlardı. Randevu defterime baktım ve reality showları başka bir güne kaydırabileceğimi gördüm. Olumlu cevap verdim ve yola çıktım. Yirmi dakika ötedeki Kaiserslautern şehrine ilk gidişimdi. Trene bindim ve istasyonda indim. Haritalardan baktığım otobüs durağına gittim ve 102 nolu otobüsü beklemeye başladım. Lanet otobüsten iki tane vardı. Hangisine binmem gerektiğini bilmiyordum. Sormaktan çekinip taksiyle gideyim dedim. Zaten az zamanım kalmıştı. Taksiye bindim adresi verdim. Bir gözüm saatte diğeri de taksimetrede gitmeye başladık. Görüşme saatine çok az kalmıştı ki şöför birden yanlış geldiğini, gitmemiz gereken sanayi merkezinin şehrin diğer tarafında olduğunu söyledi. Yapacak bir şey yoktu. Peki o zaman şehrin öbür tarafına gidelim dedim. Neyse ki şehir küçükmüş. Beş dakika kadar gecikmeyle şirkete vardım. Parayı uzattım ve adam yok dedi. “Benim hatam. Alamam.” dedi. Ben de Almanca’m çok iyi olmadığından ısrar etmedim.
İçeri girdim ve kısa süre sonra beni görüşme odasına aldılar. AR-GE şefi ve iki yazılım bölümü yöneticisi masada yerlerini aldılar. Sonra başladık. Şirketin neler yaptığından haberim olup olmadığını sordular. Internetten baktığımı, endüstriyel teraziler filan yaptıklarını söyledim. Sonra bana bir tane terazi birimi verdiler. Küçük bir metal parça, çok az hareket ediyor ve bununla paketleri çok hassas tartıyorlardı. Bu parça ile ilgili sorular sormaya başladılar. Tabii ki internet sayfasından bu aletin şemalarına çalışmıştım ama şemalar tersti. Bu yüzden bazı sorulara yanlış cevap verdim.
Ardından zeka testine geçtik. İşin uzmanları için belk işe yarar bir test olabilir ama bu ekibin bunu bilerek yaptığını sanmıyorum. Neyse işte. Klasik terazi bilmeceleriydi. On adet toptan ağır olanını üç tartıda bulmak gibi oldukça basit şeyler sordular. Ortaokuldan beri bu tür bilmecelerle ilgilendiğimden ölçecek bir durum yoktu.
Bilmeceleri bitince programlama bilgimi ölçmeye karar verdiler ve terazi birimi yazılım şefi aşağıdaki soruyu sordu:
int x = 42; int y = 15; x ^= y; y ^= x; x ^= y; Bu kod ne yapar
Kısa bir C kodu bu. Öğrenmek istedikleri şey sanırım bit işlemlerini yapabilip yapamadığımdı. Yukarıdaki işlemler XOR diye bildiğimiz bit işlemleri. Yani aynı değerdeki bitler 0, farklı değerlerdeki bitler de 1 sonucunu verecek. Soruyu görünce istemsizce gülümsedim. Bir iki saniye ne desem acaba diye düşündüm ve bu değiş tokuş fonksiyonudur dedim. Yani işlem sonunda y değişkeninde 42, x değişkeninde de 15 değeri olur. Sorgu ekibi şaşırmıştı. İlk kez doğru cevap almışlardı ve daha da kötüsü bu cevabı hiçbir şey ölçemeyecekleri bir şekilde almışlardı. Nasıl bilebildiğimi sordular. Ben de bilmeceleri sevdiğimi ve bu “bilmeceyi” de daha önceden bildiğimi söyledim. Güldüler ama ben de tedirgin oldum, şimdi bir şey ölçemediklerinden daha basit ve yapamayacağım bir şey sorabilirlerdi. Bunu engellemek için konuşmaya devam ettim. “Ama değiş tokuş için bunu kullanmamak lazım, çünkü bu haliyle her zaman çalışmaz. Bunu fonksiyon şeklinde yazarsak referans ya da göstericiler kullanmak lazım ve o zaman da iki göstericinin de aynı adresi gösterdiği duruma dikkat etmek lazım. Yoksa iki değişken de sıfırlanır (a xor a = 0).”
void xorSwap (int *x, int *y) {
if (x != y) { //bu kontrol adresteki değerin sıfırlanmasını engeller
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
}
Bunun üzerine soruyu soran şef eline kağıt kalem alıp dediklerimi denemeye başladı. AR-GE şefi de kendisine başka bir sorusu olup olmadığını sordu. Başka soru yoktu. Demek bu sorunun cevaplanmayacağından çok emindiler. Biraz rahatlamıştım ki güçlü ve zayıf olan üçer yönümü sordular. Buna verecek cevabım yoktu. Daha daha doğrusu üçe indirmek imkansızdı. Neyse ki sorguculardan biri “anlaşılan hazırcevaplık güçlü olduğunuz bir alan değil” dedi de hep beraber güldük.
Görüşmenin gerisi olaysız geçti. Bir sonraki aşamaya kalmıştım. Çıkarken, umarım sordukları gibi program yazmıyorlardır diye düşünüyordum ki işe girdikten sonra bir programda şöyle bir satır gördüm.
*x ^= *y ^= ( *y ^= *x );
Bana sorulan sorudaki işlemin tek satırda yapılmasıydı bu. Bu görüşmedeki durumdan daha feci bir durumdu çünkü yukarıdaki satır dilin kurallarına göre tanımlanmamış bir davranıştır, yani derleyici burada istediği her şeyi yapabilir ve bu andan itibaren program da artık özgürdür. Neyse ki arkadaşı ikna etmek şefi ikna etmekten daha kolay oldu.
Bence bir iş görüşmesinde bundan çok daha iyi bilgi ölçme, değerlendirme imkanları vardır. Örneğin işe başvuran kişi bir hata ayıklama, kod inceleme ya da “pair programming” seansına davet edilebilir. Bu sırada kendisiyle çok daha zengin bir iletişim kurulabilir.