26 puan yazan GN⁺ 2025-03-06 | 9 yorum | WhatsApp'ta paylaş
  • İşe alım sürecinden herkes nefret ediyor: işe alım yöneticileri de, işe alım ekipleri de, adaylar da
  • Teknik mülakat, bunların içinde özellikle kötü bir üne sahip bir aşama ve mülakat yapılan kişilerin çoğu bundan hoşlanmıyor
  • Gerçek iş çoğunlukla basit API entegrasyonlarından ibaretken, mülakatlarda sık sık karmaşık teori ve algoritmaların sorulduğu görülebiliyor
    • Sanki Google mühendislerinin %90'ının kullandığı söylenen Homebrew'un geliştiricisi, tahtada ikili ağaç dönüşümü yapamadığı için mülakatta elenmiş gibi

Son birkaç yıldaki değişimler (mülakatı etkisizleştiren etkenler)

  • Uzaktan mülakatlarda kamerayı kapatıp yerine başkasını tutan vakalar yaşandı
  • Kuzey Koreli bir çalışanın deepfake video kullanarak iş başvurusunda bulunmaya çalıştığı bir vaka oldu
  • GitHub Co-pilot, Cursor gibi otomatik kodlama araçları ile Claude veya OpenAI gibi LLM'lerin ortaya çıkmasıyla, temel kodlama soruları ve soru-cevaplar kolayca çözülebilir hale geldi
  • Özgeçmiş yazımından toplu başvuruya ve video mülakatlara kadar yapay zekanın devreye girebildiği bir eğilim var, ancak bu yazı teknik mülakatın kendisine odaklanıyor

Teknik mülakatın temeli

Neredeyse her geliştirici işe alan şirketin, aşağıdakilerin biraz değiştirilmiş bir versiyonundan oluşan bir süreci var

  • Hackerrank ön eleme görevi
    • Junior veya stajyer geliştiricileri seçmek için bir filtre görevi görür
    • Sorular çevrimiçi olarak serbestçe çözülebilir
  • Bilgisayar bilimi temelleri (Comp Sci Fundamentals)
    • Veri yapıları, algoritmalar, Big O gibi konuların sorulduğu format
    • Genellikle junior geliştiricilere yöneliktir
  • Kodlama mülakatı
    • Gerçekten kod yazıp çalıştırabilme becerisini değerlendirir
    • Basit bir proje örneği üzerinden temel dil kullanımı ve problem çözme yeteneği doğrulanır
  • Mimari/tasarım
    • Junior'lardan çok senior geliştiricilere yöneliktir
    • Sistem tasarımı, ölçeklenebilirlik, veritabanı ve API tasarımı gibi alanları değerlendirir

Mülakatta yapay zeka kullanımı

  • Yapay zeka nedeniyle Hackerrank gibi ön eleme görevlerinin filtre işlevi büyük ölçüde zayıfladı
  • Bilgisayar bilimi temelleri ve kodlama mülakatları da, soru zorluk seviyesinin LLM'lerin yanıt aralığına girmesi nedeniyle giderek kolay çözülür hale geliyor
  • Mimari/tasarım mülakatları şimdilik görece daha güvenli, ancak uzun vadede yapay zeka daha da geliştikçe bu alan da tehdit altına girebilir

Seçeneklerimiz neler?

  • 1. Uzaktan teknik mülakatları durdurmak
    • Mülakatı yapan kişi adayın yanında doğrudan durursa yapay zeka kullanımı zorlaşır
      • Diğer tüm aşamaların geçildiğini varsayarsak, bu yüz yüze bir kodlama mülakatı olabilir
  • 2. Pearson Vue tarzı yazılım kullanmak
    • Gözetim yazılımı kurup kamerayla denetleme yapılan bir yapı
    • Çeşitli yollardan bilinen kaçınma yöntemleri olduğu için kusursuz değil (hatta bununla ilgili ayrı subreddit'ler bile var)
  • 3. Sorunu görmezden gelmek
    • “AI kullanmayın” şeklindeki etik ricaya dayanan yaklaşım
    • Sonuçta yapay zeka kullananlar avantajlı hale geldiği için, şirket açısından uygun adayı seçmek zorlaşır
  • 4. Yapay zeka kullanımına izin vermek
    • Kodlama becerisi yerine LLM'lere iyi prompt yazma ve refactoring yeteneğini değerlendiren bir yapı
    • Yapay zekanın hatalı çıktısını doğrudan düzeltebilecek kodlama becerisinin de gerektiği bir geçiş dönemi durumu
  • 5. Hibrit yaklaşım
    • Önce uzaktan yapay zeka kullanım becerilerini kontrol edip ardından çevrimdışı son doğrulama yapmak gibi karma bir yöntem

Olası çözümler

  • Uzun vadede 4. ve 5. yöntemlerin uygulanabilir olma ihtimali daha yüksek
  • RTO uygulansa bile uzaktaki tüm adayları çevrimdışı görüşmeye çağırmak mümkün olmadığından verimli bir yol bulunması gerekiyor
  • Mülakatın formatını değiştirmek de başka bir alternatif
    • Günümüzde kodlama mülakatları çoğu zaman FizzBuzz ya da hesap makinesi uygulaması düzeyinde küçük görevlerle sınırlı kalıyor
    • Yapay zeka desteği kullanılırsa, görev zorluğu 10 kat veya daha fazla artırılarak değerlendirme tam bir uygulama geliştirme sürecine dönüştürülebilir
    • Mimari ve kodlamayı birleştirip yaklaşık 2 saatlik uzun bir mülakat yürütme yöntemi de denenebilir
  • Bu tür bir yapıda adaydan uygulamayı kurması, büyütmesi ve ek özellikler geliştirmesi istenebilir
    • Kod tabanı büyürken tutarlılığı koruyup koruyamadığını ve yüzeysel cevapların ötesinde daha derin becerilerin görülmesini sağlama avantajı vardır
  • Bu süreç üzerinden şunlar değerlendirilebilir
    • Temel git ve IDE gibi araçları kullanma becerisi
    • LLM'lere etkili prompt verip daha iyi çıktılar elde edecek şekilde programlama yeteneği
      • LLM çıktısını anlayıp birleştirerek kodu bakım yapılabilir bir biçimde tamamlama becerisi
      • Sınırlı zaman içinde belli bir ölçek ve genişletilebilirlik düzeyine sahip bir uygulamayı tamamlayıp tamamlayamadığı
    • Tutarlı kalite ve mantığı koruma becerisi
  • Bu tür bütüncül değerlendirme yaklaşımı, yapay zeka çağında kodlama mülakatlarına bir alternatif olabilir

Summary

  • Teknik mülakatların yakın gelecekte büyük bir değişim yaşaması bekleniyor
  • Şimdilik yapay zeka kullanımı nispeten yavaş olabilir ya da tuhaf biçimde fark edilebilir, ancak zamanla daha görünmez hale gelmesi mümkün
  • Buna bağlı olarak ortaya çıkabilecek senaryolar
    • Kabul oranları artabilir, ancak bunun yerine gerçek çalışma döneminde (probation) elenme vakaları çoğalabilir
    • Junior geliştiricilerin şirketlerin yüksek teknik beklentilerine erkenden yetişme yükü daha da artabilir
  • Yapay zekayı kullanarak FAANG mülakatlarını geçme yaklaşımı yaygınlaşırsa, değişim hızı daha da artabilir

9 yorum

 
scheee 2025-03-07

Teknik mülakatlarla gerçek iş arasındaki uyumsuzluğu azaltmak gerekirken, suçun boş yere yapay zekaya atılmasından endişe ediyorum.

 
whitelips 2025-03-07

Bu değişiklikten mi bilmiyorum ama çalıştığım şirket, önceden verilen sorular olmadan mülakatta canlı kodlama yapıyor.

 
cnaa97 2025-03-06

Benim bulunduğum yerde artık teknik mülakatta yapay zekaya sorarak yanıt vermeye izin veren bir politikaya geçiliyor.. Girdi çıktıyı belirlediği için, hatta daha çok soru sorma becerisini görmek amacıyla..

 
cronex 2025-03-06

Bence AI kullanmakta sorun yok.
Ama ortaya çıkan sonucu %100 kendi ürünün haline getirmeniz gerekir.
Ben mülakatçı olsam, çevrim içi bir kodlama ödevi verip yüz yüze görüşmede o kodu açıklamasını isterdim. Elbette ek sorular da sorarım.
İster kendisi yazmış olsun ister AI yazmış olsun, teslim ettiği kodu açıklayamayacak ve onunla ilgili sorulara cevap veremeyecek düzeydeyse elenmesi gerekir.

 
bbulbum 2025-03-06

> Kodlama becerisi yerine, LLM’e iyi prompt yazma becerisi ile refaktörleme yetkinliğini değerlendiren bir biçim

Bu yetkinliğin önemli hale geleceğini düşünüyorum.

 
alucard 2025-03-06

Sorun AI değil; asıl mesele, mevcut mülakat görevlerinin baştan beri "optimal answer bulunursa her şey tamam" gibi gevşek bir formatta olmasıydı ve şimdi bu sorunun görünür hâle gelmiş olması değil mi? Zaten gerçek işte yapay zekayı kullanmayacak da değilsiniz; o zaman neden kısıtlama getiriliyor? :) Hangi araç kullanılmış olursa olsun, önemli olan çıktının ortaya çıkmasıdır. Yalnız, o aracın nasıl kullanıldığını şeffaf biçimde değerlendirmek gerekir.

 
jamsya 2025-03-06

Katılıyorum. Yapay zekanın ortaya çıkmasıyla birlikte, gerçek işle bağı zayıf olan uydurma kodlama testleri piyasada doğal olarak elenecek; daha iyi işe alım yöntemleri kullanan şirketler de iyi yetenekleri kapacak. İlginç bir mızrak ve kalkan savaşı.

 
xguru 2025-03-06

Leetcode Interview hile programı
Bu yazıda bahsedilen teknik mülakatlardaki yapay zeka ile hile örneği için uygun görünüyor

 
GN⁺ 2025-03-06
Hacker News görüşü
  • En iyi mülakat süreci, ekip üyeleriyle pair programming ve telefon mülakatını içeriyordu. Adayın işi iyi yapıp yapamayacağını birkaç dakika içinde anlayabiliyorduk ve bu süreç, 20 yılı aşkın kariyerim boyunca en verimli ekibi kurmamızı sağladı

    • Sorun, yazılım kültürünün büyük bir kısmını bozan ölçeklenebilir süreçler ve yüksek throughput ihtiyacı
    • "Yüzlerce adayı işlemek zorundayız ve sonuçlardan çok sürecin metrikleri önemli" düşünce yapısı sorunlu
  • Code review, değerlendirme aracı olarak çok faydalı

    • Adaydan kod review yapmasını istemek önemli
    • Junior, mid, senior ve staff seviyeleri aynı codebase içinde çok farklı şeyler görebilir
    • AI ile üretilen kod yaygınlaştıkça, kodun kalitesini ve doğruluğunu verimli biçimde inceleyebilen geliştiricileri seçmek önemli hale geliyor
    • Bir YC şirketinde code review'un ilk tur olarak kullanıldığı bir mülakat yaşadım ve bu sayede bir open source uygulama geliştirmeye başladım
  • 2005 civarında bir SME'de benden whiteboard coding yapmam istendi ama bilgisayar kullanmama izin verilmedi

    • Whiteboard kullanılmasının nedenini sorduğumda, Google'ın best practice'lerini taklit ettiklerini söylediler
    • Sonunda whiteboard üzerinde kod yazdım ama bana bir bilgisayar verirlerse bunu tekrar yapmaya istekli olacağımı söyledim
    • Sonunda başka bir yere gittim
  • Şirket A, eğer AI tüm teknik mülakat sorularını çözebiliyorsa neden AI'ı işe almadığını düşünmeli

    • Mühendislerin bir özelliğin uygulanıp uygulanamayacağını değerlendirmesi gerekebilir; mülakatta adaydan örnek bir özellik isteği üzerine düşünmesi istenebilir
    • Şirketler çoğu zaman mühendisin değerini net biçimde anlamadığı için adayın değerini de değerlendirmekte zorlanıyor
  • AI'dan kaçınan bir işe alım tekniği olarak, junior geliştiricilerden kod getirmeleri ve onu açıklamaları isteniyor

    • Neyi değiştireceklerini, nasıl değiştireceklerini ve bir pattern kullanıp kullanmadıklarını tartışıyorlar
    • Senior geliştiricilere ise karmaşık kod verilip bunu gerçek zamanlı analiz etmeleri isteniyor
    • AI kullanarak rutin işleri kısaltmak sorun değil ama çıkan sonucu eleştirel biçimde değerlendirebilmek gerekiyor
  • Mülakatçı olarak, FAANG dışı şirketlerde basit bir mülakat süreci kullanıyorum

    • Adayın özgeçmişi, beklentileri ve yetenekleri hakkında sorular soruyor, ardından yazdığı kodu göstermesini istiyorum
    • Bu süreç hızlı ve etkili
  • Mevcut iş piyasası o kadar karmaşık ki, duvara toslayana kadar iş bulmak zor görünüyor

    • 26 yıllık deneyimim var ama kusursuz değilim ve kandırmaya çalışmak pek işe yaramıyor
  • Mülakatta 30-45 dakika boyunca Leetcode orta/ileri seviye soruları kullanmak, yalnızca iki tür insanı ortaya çıkarabilir

    • Probleme sıfırdan yaklaşanlar ve çözümü zaten bilenler
    • Kadane algoritmasını bilmiyorsanız, bu probleme sıfırdan yaklaşıyorsunuz demektir
    • En iyi mülakat yönteminin ne olduğunu bilmiyorum ama kişisel olarak tercih ettiğim bir tarz var
    • Mülakat sorularının test case'leri olmalı, giderek karmaşıklaşmalı, veri yapılarına odaklanmalı ve adaya trade-off yapma ve karar verme fırsatı sunmalı
  • Sorun AI değil; şirketlerin adayları nasıl doğru seçeceğini bilmemesi

    • Psikometrinin en temel ilkelerini bile uygulamıyorlar
    • En iyi seçim süreci, yeni kişinin gerçekten birkaç hafta boyunca işi yapması
  • Son mülakatımda, görevi AI dahil araçlar kullanarak tamamlamam istendi

    • Live coding mülakatında da benzer bir süreçten geçtim
    • Araçları kullanarak becerileri ve iyi pratikleri doğrulamak gayet doğal bir tercih