Yazılım Pozisyonları için Mülakat — 102

Canberk Ozcelik
4 min readOct 12, 2020

--

Ona buna anlatırken bizim sektör için ‘sirkülasyon’ kelimesini çok kullanıyorum. Zaten yazılımın çoktandır işveren odaklı değil, aday odaklı ilerlediği de aşikar. 2018'de belirli bir süre içinde iş değiştiren çalışan (talent turnover) oranlarına bakıldığında yazılım %13,2 ile başı çekiyor, ki bu 2 yıl öncenin raporu.

Bu yüzde sizin için bir anlam ifade etmiyorsa şöyle açayım; Silikon Vadisi’nde çöreklenen Facebook’ta çalışanlar ortalama 2,5 yıl duruyor, muazzam ödeme hizmetlerini yaşadığım ülkede “bazı sebeplerden” kullanamadığımız Square’de 2,3 yıl, Twitter (nasıl yapıyor bilmiyorum -bu aralar önüne gelen firmanın kullandığı- şirket kültüründen olsa) 4 yıl boyunca çalışanlarını elinde tutabiliyor.

Yani ‘mücbir’ sebeplerden, yazılımcılar olarak kucak değiştirmeyi (job-hopping) çok seviyoruz. Haliyle çok fazla iş görüşmesine de giriyoruz.

Geçtiğimiz günlerde birkaç şirketle iş görüşmesinde bulundum, sonrasında “mülakat süreçleri nasıl hala bu kadar saçma olabiliyor?” diye düşünürken 2019 Şubat ayında paylaştığım yazıyı hatırladım:

O günlerde pandemi kelimesinin ne olduğunu bile bilmiyorken yazılım pozisyonları için mülakat en ideal şekliyle nasıl yapılmalı sorusunu anlatmaya çalışmıştım. Okuyucu daha fazla yorulmasın diye hangi konuların detayına gireceğimi belirtip bitirmiştim.

Bugün bir yazılım mülakat öncesi, başlarken, sırasında, ve sonrasında nasıl bir yol izlenmeli detaylandırmak istiyorum. Üstteki yazıdaki kadar resmi yazmıyorum artık.

Öncelikle hala ofise çağırıp mülakat yapan (süreç sonrası tanışma hariç) bir yer kalmamıştır diye düşünüyorum, varsa da çok kötü bir başlangıç bence, ama yine siz bilirsiniz.

Mülakat öncesi

İyi bir yazılım mülakatı adayla görüşmeden önce, hatta adayı bile bulmadan önce başlar. Bütün mevzu yazılımcı arayan şirketin buna ne kadar zaman ayırabileceği ile alakalı.

Bugün bir “mobile developer” pozisyonu için coding case/case study olarak tek sayfa word dökümanında “bize bi liste bi de detay” diye gidiyorsanız, önce Whatsapp arkadaş gruplarında biraz şirketle dalga geçiyoruz.
Ondan sonra da “sende vardı yollasana bana” paslaşmaları ve biraz da GitHub’ın yardımıyla bu angarya işi tamamlayıp teslim ediyoruz.

Ya aslında bu kısımda yazılımcılar olarak biz bizeyiz. İşi tembelliğe vurmanın alemi yok, ekipçe azıcık zaman ayırıp iyi bir case hazırlamak çok basit. Olur da aday geçerse diye içerisine bir iki kademe daha koyup ‘incremental’ bir yapı oluşturmak ve göndermeden “biz yapabiliyoruz mu acaba?” diye denemek yeterli.

Coding case adı altında freelance proje isteyen “kültür mantarı” firmalar da yok değil. Daha da abartıp iletilen çıktıya revize isteyenler bile mevcut, böyle bir şirket için kendimi çalışanların yerine koyunca çok üzülüyorum.

Mülakat başlarken

Aday belli bir seviyenin üstünde tecrübeye sahipse önceki anlattıklarımın hiçbirine gerek yok, pozisyon için adayın yapmasını bekledikleriniz neyse detaylıca bunları sorgulayan bir mülakat yapmak kafi.

E-ticaret uygulamasında açık pozisyonunuz için mi görüşüyorsunuz? 2,5 yıldır Android geliştiren birisine “ee context nedir?” diye sormak çok anlamlı değil. Ben olsam ‘pagination’ ile başlarım mesela.

Konuya dönecek olursak; elimizde ilk aşamanın çıktısı mevcut, inceledik, hoşumuza gitti, (videolu) görüşmeye çağırdık. Bir saati aşan, periotlara düzgün ayrılmamış görüşmeler genellikle arkasından sövdürüyor.

İdeal olarak ilk 5 dakikayı minik bir sohbet veya ‘ice-breaking’ tarzı şeylere ayırıp, sonraki 5 dakika özgeçmiş hakkında konuşmak, kalan 50 dakikalık süreyi de ilk aşamasını teslim aldığımız çıktının ikinci, üçüncü, onuncu aşamasını kodlayarak, soru-cevap ve tartışarak bitirsek herkes mutlu olur.

Bu planlanan süre dağılımını adayla paylaşmamak ya da bir sonraki aşamadaki gereklilikleri açık ve net bir şekilde tanımlayıp el sıkışmamak büyük saçmalık, kesinlikle atlanmamalı.

Mülakat sırasında

Başlarken yeterli bilgi verildiğinde görüşme esnasında pek bir şey yapmaya gerek kalmıyor. Karanlık çağlardan kalma yöntemleri kullanan organizasyonlar beyaz tahtaya kod yazdırıyordu, şu anki karşılığı da herhalde boş döküman açanlardır herhalde, ben karşılaşmadım. Bu kadar saçma bir şey yaşayan varsa paylaşsın, biraz dalgasını geçelim.

Video görüşme esnasında ekran paylaşımı yapıp adayın yazdığı kodu derleyebileceği ve debug edebileceği bir platform sunmak çok önemli. Aramızda hala tabii ki vim gibi düz text editor açıp harfi harfine kodlayan takıntılılar vardır, ok boomer. IDE diye bir şey çıkarmışlar deneyebilirsiniz.

Önemli bir nokta, aday kod yazarken hata yaptığı durumda buna izin vermek, çünkü ölçülen çözüp çözememesinden ziyade kendi düşündüğü çözüme nasıl ilerlediği.

Mülakat sonrasında

Bu nokta aday ile herhangi bir ilişkimiz kalmıyor. Değerlendirme adımlarına geçiyoruz ya da sözü recruiter arkadaşımıza bırakıp şirketimi nasıl şişirerek anlattığını dinlerken gülmemeye çalışıyoruz.

Değerlendirmeyi taraflı-tarafsız yapmakta fayda var. Örneğin;

  • X aşamasını tamamlaması 3 dakika sürdü.
  • 12. dakikada Y aşamasında bocaladı.
  • Bütün aşamaları tamamlaması 42 dakika sürdü.

Benzeri tarafsız çıktılar ve aşağıdaki gibi kişisel yorumların bulunduğu değerlendirmeleri harmanlamalıyız.

  • İmplementasyonu hızlı bir şekilde gerçekleştirdi, hangi yaklaşımın uygulanması konusunda iyi bir seçim yaptı.
  • High-level olarak ihtiyaçların belirtilmesine rağmen birçok mantıksal hata ve bug oluşmasın neden olacak baştan savma bir kod yazdı.
  • Kendi kodunu debug ederken fazlasıyla akıcı ve başarılı düzenlemeler yaptı.

Geri bildirim bir yazılımcıya yapılacak büyük lütuflardandır. Bir iki cümle de olsa iyi/kötü dönütte bulunmak, kişinin kodunu ve yaklaşımını başka bir yazılımcı gözünden görmesini sağlar.

Bonus

Mülakatı gerçekleştirecek yazılımcılar için skill-matrix denilen özellikler-seviye tarzı bir döküman oluşturup bunu güncel tutmak “context nedir?” sorusundan uzak durulmasını ve adayın soğumasını engellemeye yardımcı olabilir.

Bendeki iki örneği paylaşayım (2019 Şubat’ta çıkarmışım):

Android Developer skills-matrix
iOS Developer skills-matrix

Yazıyı burada bitirirken bugüne kadar hiçbir aday için görüşmeye girmediğimi de belirtmek isterim :)

Ben kimim?

Kaynaklar:

--

--