8 dk

Adayları Eşleştiren Bir İşe Alım Web Uygulaması Nasıl Kurulur

Adayları iş ilanlarına eşleştiren bir işe alım web uygulaması nasıl kurulur öğrenin. Temel özellikler, veri modeli, eşleştirme mantığı, UX, entegrasyonlar ve lansman ele alınıyor.

Adayları Eşleştiren Bir İşe Alım Web Uygulaması Nasıl Kurulur

Problemi, Kullanıcıları ve MVP Kapsamını Tanımlayın

Ekran taslağı çizmeye veya teknoloji seçmeye başlamadan önce, işe alım web uygulamanızın hangi problemi kimin için çözdüğünü netleştirin. “Aday iş eşleştirme” basit bir anahtar kelime filtresinden, işe alımcının bir pozisyonu alım aşamasından yerleştirmeye taşımasına yardımcı olan rehberli bir iş akışına kadar her şey anlamına gelebilir.

Birincil kullanıcıları isimlendirin (ve neye ihtiyaçları var)

Her gün giriş yapacak insanlardan başlayın. Ajanslar için bir uygulamada bunlar genellikle:

  • Recruiterlar (işe alımcılar): nitelikli adayları hızlıca bulmak, not almak, iletişimi takip etmek ve kısa listeleri güvenle sunmak ister.\n- Ajans yöneticileri: ekip genelinde görünürlük, tutarlı süreçler, izinler ve raporlama ister.\n- İşe alım yöneticileri (v1 için opsiyonel): gönderilen adayları incelemek, geri bildirim vermek ve mülakat ilerlemesini görmek isteyebilir—ancak bunları eklemek UX'i, izinleri ve bildirimleri değiştirir, bu yüzden erken karar verin.

Yararlı bir egzersiz her kullanıcı için 2–3 “en önemli görev” yazmaktır. Bir görev bunları desteklemiyorsa, muhtemelen MVP dışıdır.

Ölçebileceğiniz başarı metriklerini belirleyin

“Daha iyi eşleşmeler” gibi belirsiz hedeflerden kaçının. İş sonuçlarını ve manuel işi azaltan metrikleri seçin:

  • İlk kısa listeye ulaşma süresi: iş oluşturulmasından nitelikli bir listeyı göndermeye kadar geçen süre.\n- Yerleştirme oranı / dolum oranı: çalışılan işler içinde doldurulan pozisyonlar.\n- Kaldırılan manuel adımlar: örn. e-postadan notlara kopyala-yapıştırın azalması, daha az tablo, daha az yinelenen kayıt.\n- İşe alımcı verimliliği: kalite düşmeden işe alımcı başına yönetilen roller.

Bu metrikler daha sonra işe alım analizlerinizi bilgilendirir ve eşleştirme algoritmanızın sonuçları iyileştirip iyileştirmediğini doğrulamaya yardımcı olur.

Ajans iş akışını baştan sona haritalayın

İşe alım iş akışı eşleştirmenin ötesindedir. Aşamaları ve her adımda hangi verinin oluşturulduğunu belgeleyin:

Sourcing → Screening → Submitting → Interviewing → Offer → Placement

Her aşama için hangi “nesnelerin” (aday, iş, gönderim, mülakat) yer aldığını, temel eylemleri (arama kaydı, e-posta gönderme, mülakat planlama) ve karar noktalarını (reddet, ilerlet, beklet) not edin. ATS ve CRM özellikleri burada sıkça örtüşür—izleyeceğiniz şeyi kasıtlı seçin.

MVP kapsamı için net sınır çizin

MVP'niz kullanılabilir bir döngü sunmalı: iş ilanı oluştur → aday ekle (manuel veya temel özgeçmiş ayrıştırma) → eşleştir → gözden geçir → gönder.

Yaygın v1 dahil olanlar:

  • Aday profil yönetimi (temel alanlar, özgeçmiş yükleme, notlar)\n- İş ilanı yönetimi (başlık, gereksinimler, konum, maaş aralığı)\n- Basit eşleştirme (kurallar + skor) ve temel açıklanabilirlik (“eşleşme nedeni: Java, 5+ yıl, Berlin”)\n- Minimal bir pipeline (örn. Yeni, Kısa Liste, Gönderildi, Mülakat, İşe Alındı)

Daha sonra eklenebilecek yaygın özellikler (ilk etapta iyi-to-have):

  • İş panoları ile entegrasyon ve tam ATS içe/dışa aktarım\n- Gelişmiş özgeçmiş ayrıştırma ve zenginleştirme\n- İşe alım yöneticisi portalı ile geri bildirim döngüleri\n- Karmaşık otomasyon (sıralı iletişim, SLA'lar, gelişmiş uyarılar)\n- Temel düzeyin ötesinde GDPR-ready işe alım araçları

Kullanıcıları, metrikleri, iş akışını ve kapsamı önceden tanımlayarak projeyi “her şeyi yapan bir ATS” haline gelmekten korur ve yapıyı daha odaklı tutarsınız; bu da daha hızlı, daha güvenli kısa listeler üretir.

Veri Modelini Planlayın (Adaylar, İşler ve İlişkiler)

Bir işe alım web uygulaması veri modeline bağlıdır. Adaylar, işler ve etkileşimleri temiz yapılandırılmamışsa eşleştirme gürültülü olur, raporlama güvenilmez hale gelir ve ekip aracı kullanmak yerine onunla mücadele eder.

Aday kayıtları (ne saklarsınız vs neyi ararsınız)

Başlangıç olarak hem doküman saklayan hem de aranabilir alanları destekleyen bir Aday varlığı oluşturun. Orijinal özgeçmişi/dosyayı saklayın (dosya + çıkarılan metin) ama ayrıca aday iş eşleştirmede ihtiyaç duyacağınız anahtar öznitelikleri normalize edin:

  • Beceriler (yapılandırılmış beceri listesi artı serbest metin özet tercih edilir)\n- Deneyim geçmişi (şirketler, unvanlar, tarihler)\n- Tercihler (konumlar, uzaktan/yerinde, sektörler)\n- Ücret (mevcut/beklenen, para birimi, tür)\n- Uygunluk (bildirim süresi, başlama tarihi)

İpucu: "ham" verileri (pars edilmiş metin) ile işe alımcıların düzenleyebileceği "kürate" alanları ayırın. Bu, ayrıştırma hatalarının profilleri sessizce bozmasını önler.

İş kayıtları (algoritmanın eşleştirdiği hedef)

Bir İş (requisition) varlığı oluşturun; tutarlı alanlar: başlık, kıdem seviyesi, zorunlu vs tercih edilen beceriler, konum/uzaktan politika, maaş aralığı, durum (taslak/açık/askıda/kapatıldı) ve işe alım sorumlusu bilgileri. Gereksinimleri puanlama yapacak kadar yapılandırılmış, ancak gerçek iş ilanları için yeterince esnek tutun.

İlişki varlıkları (gerçek iş akışı)

Çoğu aktivite adaylar ile işler arasındadır, bu yüzden ilişkileri açıkça modelleyin:

  • Gönderimler (Submissions) (aday ↔ iş) durum, zaman damgaları ve sahiplik ile\n- Mülakatlar (aşama, planlanan zaman, sonuç)\n- Notlar ve mesajlar (aday, iş ve gönderim ile bağlantılı)\n- Görevler (takipler, son tarihler ve atanan kişiler)

İzin modeli (kim neyi görebilir)

Erken tanımlayın: ajans-geneli vs takım-özel adaylar, müşteri-spesifik görünürlük ve rol bazlı düzenleme hakları (recruiter, manager, admin). İzinleri her okuma/yazma yoluyla ilişkilendirerek gizli adayların veya gizli iş ilanlarının arama veya eşleştirme sonuçlarından sızmasını önleyin.

Recruiterlar için Temel UX'i Tasarlayın

İşe alımcılar hızlı hareket eder: tarar, filtreler, karşılaştırır ve takip eder—çoğunlukla aralarındaki çağrılar arasında. UX'iniz bu “sonraki tıklamaları” belirgin ve ucuz hale getirmeli.

Olmazsa olmaz ekranlar (ve cevaplaması gerekenler)

Dört ana sayfa artı bir eşleştirme görünümü ile başlayın:

  • Aday listesi: “Sırada kimi incelemeliyim?” İsim, başlık, ana beceriler, konum, mevcut durum, son aktivite ve (varsa seçili iş için) hızlı eşleşme göstergesi gösterin.\n- İş listesi: “Hangi rolleri dolduruyorum ve hangileri acil?” Rol başlığı, konum/uzaktan, öncelik, pipeline aşama sayımları ve sahip gösterin.\n- Aday detayı: “Bu kişi uygun mu ve bir sonraki adım ne?” Temiz bir düzen: özet, beceriler, deneyim, ücret beklentileri, uygunluk, notlar ve aktivite zaman çizelgesi.\n- İş detayı: “İyi görünüm nasıl olmalı?” Gereksinimler, tercih edilenler, maaş aralığı, mülakat aşamaları ve kim işe alıyor bilgilerini dahil edin.\n- Eşleştirme görünümü: neden eşleştiğini (ve neden eşleşmediğini) açıklayan yan yana karşılaştırma. Kısa listeye ekleme, reddetme, bilgi isteme veya planlama gibi aksiyonları kolaylaştırın.

Anında hissettiren hızlı arama ve filtreler

İşe alımcılar arama çubuğunun bir komut çubuğu gibi davranmasını bekler. Global arama artı beceriler, konum, deneyim yılı, maaş, durum ve uygunluk için filtreler sağlayın. Çoklu seçim ve kaydedilmiş filtrelere izin verin (örn. “Londra Java 5+ yıl 80k altında”). Filtreleri görünür tutun ve hangi filtrelerin aktif olduğunu açıkça gösteren etiketler (chip) sağlayın.

Gerçek iş akışları için toplu işlemler

Uzun listelerle çalışırken toplu işlemler saatler kazandırır. Aday listesi veya eşleştirme görünümünden şunları destekleyin: etiketleme, durum değiştirme, iş kısa listesine ekleme ve e-posta dışa aktarımı. Bir “geri al” toast'ı dahil edin ve onaylamadan önce kaç kaydın değişeceğini gösterin.

Erişilebilirlik ve mobil dostu temel özellikler

UI'yi klavye dostu yapın (odak durumları, mantıklı sekme sırası) ve okunabilirliği yüksek tutun (iyi kontrast, büyük dokunma hedefleri). Mobilde liste → detay akışını önceliklendirin, filtreleri slide-over panelde tutun ve kısa liste, e-posta, durum gibi ana eylemlerin baş parmakla ulaşılabilir olmasını sağlayın.

Eşleştirme Mantığını Kurun: Kurallar, Puanlama ve Açıklanabilirlik

Eşleştirme, bir işe alım web uygulamasının motorudur: kimlerin önce görüneceğini, kimlerin gizleneceğini ve işe alımcıların neye güveneceğini belirler. İyi bir MVP basit başlar—önce net kurallar, sonra puanlama—ve gerçek işe alım sonuçlarından öğrendikçe nüans ekler.

Kural tabanlı “geçitlerle” (gates) başlayın

Değerlendirmeye alınmadan önce doğru olması gereken zorunluluklarla başlayın. Bu kurallar sonuçları ilgili tutar ve “yüksek puanlı ama imkansız” eşleşmeleri önler.

Tipik geçitler arasında zorunlu beceriler/sertifikalar, konum veya çalışma izni kısıtlamaları ve maaş örtüşmesi bulunur (örn. aday beklentileri iş bütçesiyle kesişmeli).

Sıralama için puanlama ekleyin (yumuşak sinyaller)

Bir aday geçitleri geçtiğinde, eşleşmeleri sıralamak için bir skor hesaplayın. İlk sürümü şeffaf ve ayarlanabilir tutun.

Pratik bir puanlama karışımı:

  • Beceri eşleşme %'si: iş becerilerinin aday profilde ne kadarının bulunduğu\n- Tazelik: yeni kullanılan becerilere veya yakın zamanda alınan rollere daha fazla ağırlık\n- Kıdem uyumu: deneyim yılı ve rol seviyesine göre hizalama (junior/mid/senior)\n- Anahtar kelime benzerliği: özgeçmiş/profil ile iş tanımı arasındaki hafif metin benzerliği

Bunları zamanla ayarlanacak ağırlıklarla ifade edebilirsiniz:

score = 0.45*skill_match + 0.20*recency + 0.20*seniority_fit + 0.15*keyword_similarity

“Must-have” vs “nice-to-have” gereksinimleri

İş gereksinimlerini iki kovada modelleyin:

  • Must-have: yoksa eşleşme başarısız olur (geçitlerde kullanılır)\n- Nice-to-have: varsa skoru artırır (sıralamada kullanılır)

Bu, tercihlerin güçlü adayları dışlamasını önlerken daha iyi uyumları ödüllendirir.

Eşleştirmeleri açıklanabilir ve eyleme geçirilebilir kılın

İşe alımcılar bir adayın neden eşleştiğini—ve neden eşleşmediğini—bilmelidir. Eşleştirme kartında kısa bir döküm gösterin:

  • Geçitleri geçti/geçemedi (örn. “Maaş aralığı örtüşüyor”, “Eksik: AWS sertifikası”) \n- Skoru etkileyen faktörler (örn. “8/10 beceri eşleşti”, “Yakın zamanda React projesi: +12”) \n- Eşleşme kalitesini artırma önerileri (örn. “Tercih edilen konumu ekleyin” veya “Becerinin son kullanım tarihini işaretleyin”)

İyi açıklanabilirlik eşleştirmeyi kara kutudan bir araca dönüştürür; işe alımcılar bunu güvenle kullanıp işe alım yöneticilerine savunabilir.

Aday Girişi, Ayrıştırma ve Veri Kalitesi

Aday veri kalitesi “eşleştirme” ile “tahmin” arasındaki farktır. Profiller tutarsız formatlarda gelirse en iyi eşleştirme algoritması bile gürültülü sonuç üretir. Önce işe alımcılar ve adaylar için kolay giriş yolları tasarlayın, sonra ayrıştırma ve normalizasyonu kademeli iyileştirin.

Profil alımı: üç pratik giriş noktası

Takımların tıkanmaması için birden fazla yol sunun:

  • Manuel giriş hızlı leadler ve telefon taramaları için (isim, iletişim, mevcut unvan, ana beceriler, konum, maaş beklentileri).\n- Özgeçmiş yükleme (PDF/DOCX) gelen başvuruların çoğu için.\n- LinkedIn tarzı yapıştırma (izinliyse): özetleri, deneyimi ve becerileri yakalayan, dosya yüklemeye zorlamayan düz metin yapıştırma kutusu.

Alanlarda bir “güven” göstergesi (örn. “parsed”, “user-entered”, “recruiter-verified”) tutun ki işe alımcılar hangi alanlara güveneceğini bilsin.

Özgeçmiş ayrıştırma: basitten başlayın, sonra yükseltin

MVP'de mükemmel yapı yerine güvenilirliği önceliklendirin:

  1. Yüklenen dosyalardan metni çıkarın ve ham metni orijinal doküman ile birlikte saklayın.\n2. Hafif ayrıştırma ile heuristikler (e-posta/telefon tespiti, Deneyim/Eğitim bölüm ayrımı, temel tarih tanıma).\n3. Hacim uygun olduğunda özel bir ayrıştırma servisi entegre edin, ancak iç veri modelinizi stabil tutun ki sağlayıcı değiştirmek iş akışlarını bozmasın.

Her zaman işe alımcıların ayrıştırılmış alanları düzenlemesine izin verin ve yapılan değişikliklerin denetim izini tutun.

Beceri ve unvanları kontrol edilen bir sözlükle normalleştirin

“JS”, “JavaScript” ve “Javascript”in aynı beceri olarak eşlenmesi eşleştirmeyi iyileştirir. Bir kontrollü sözlük kullanın:

  • Kök beceri/unvan isimleri\n- Eşanlamlılar ve yazım varyantları\n- İsteğe bağlı seviyeler (junior/mid/senior) ve kategoriler (frontend, data, finance)

Normalizasyonu kaydetme zamanında uygulayın (ve sözlük güncellendiğinde yeniden çalıştırın) ki arama ve eşleştirme tutarlı kalsın.

Çakışmaları güvenli birleştirme iş akışıyla önleyin

Yinelenen kayıtlar pipeline metriklerinizi gizlice zehirler. Potansiyel çoğaltmaları e-posta ve telefon (artı isteğe bağlı bulanık isim + şirket kontrolleri) ile tespit edin. Bir çakışma göründüğünde rehberli bir merge ekranı gösterin:

  • Alan uyuşmazlıklarını vurgulayın\n- Varsayılan olarak en güncel/doğrulanmış değerleri seçin\n- Orijinal özgeçmişleri, notları ve aktivite geçmişini koruyun

Bu, veri kaybı riski olmadan veritabanını temiz tutar.

İş İlanları ve Hiring Pipeline Kurulumu

MVP'nizi ekranlara dönüştürün
İşe alım MVP'nizi sohbetle tanımlayın ve hızlıca çalışan bir uygulama taslağı alın.

Eşleştirme uygulaması içindeki işler ne kadar iyi yapılandırılmışsa o kadar iyi sonuç verir. Requisitionlar tutarsız, eksik veya güncellenmesi zor ise işe alımcılar sonuçlara güvenmeyi bırakır. Amacınız iş girişi hızlı, yapılandırılmış ve tekrarlanabilir yapmak—uzun formlara zorlamadan.

İş alımı: gerçek iş akışlarına uyan hızlı yollar

Recruiterlar genellikle işleri üç şekilde başlatır:

  • İşin sıfırdan oluşturulması yeni roller veya acil talepler için.\n- Eski bir rolün kopyalanması (en yaygın zaman tasarrufu) ve sadece değişenleri düzenleme.\n- Bir ATS'den içe aktarma daha sonra, core ürün stabil hale gelip hangi ATS sistemlerinin önemli olduğunu bildiğinizde.

UI'de “İşi kopyala”yı iş listesinde birinci sınıf bir eylem olarak sunun, gizli bir seçenek olarak değil.

Yapılandırılmış gereksinimler (eşleştirmenin gerçekten kullanabileceği)

Serbest metin iş tanımları insanlar için kullanışlıdır, ancak eşleştirme yapı ister. Gereksinimleri tutarlı alanlarda yakalayın:

  • Beceriler (mümkünse seviyelerle), ayrıca must-haves vs “nice-to-haves”\n- Eleme soruları (eleme amaçlı vs bilgi amaçlı)\n- Maaş aralığı (esnek olup olmadığı)

Bunu hafif tutun: bir işe alımcının becerileri saniyeler içinde ekleyebilmesi, sonra gerekirse detaylandırabilmesi gerekir. Bir ayrıştırma adımınız varsa, sadece alanları önermek için kullanın—otomatik kaydetmeyin.

İş başına pipeline aşamaları

Hiring pipeline'ı açık ve işe özel yapın. Basit bir varsayılan iyi çalışır:

New → Shortlisted → Submitted → Interview → Offer → Placed

Her aday-iş ilişkisi mevcut aşamayı, aşama geçmişini, sahibi ve notları saklamalı. Bu, işe alımcılar için ortak bir doğruluk kaynağı sağlar ve analitiklerinizi anlamlı kılar.

Tekrarlanan işleri azaltan iş şablonları

Şablonlar ajansların yaygın rolleri standartlaştırmasına yardımcı olur (örn. “Sales Development Rep” veya “Depo İşçisi”). Bir şablon aşamaları, eleme sorularını ve tipik must-have becerileri önyüklemeli—aynı zamanda müşteri bazında hızlı düzenlemelere izin vermeli.

Tutarlı bir akış istiyorsanız, iş oluşturmayı doğrudan eşleştirme ve kısa listelemeye yönlendirin; bu adımları farklı ekranlara yaymayın.

Kullanıcı Hesapları, Roller ve Güvenlik Temelleri

Güvenliği ilk sürüme entegre etmek en kolay yoldur. Bir işe alım web uygulaması için hedef basit: sadece doğru kişiler aday verilerine erişebilmeli ve her önemli değişiklik izlenebilir olmalı.

Kimlik doğrulama (giriş)

E-posta + şifre kimlik doğrulamasıyla başlayın; şifre sıfırlama ve e-posta doğrulama ekleyin. MVP için bile bazı pratik önlemler ekleyin:

  • Kaba kuvvet saldırılarını azaltmak için giriş denemelerinde rate limiting\n- Adminler için (ve daha sonra herkese) isteğe bağlı çok faktörlü kimlik doğrulama (MFA)\n- Paylaşılan makinelerde özellikle mantıklı oturum zaman aşımı

Daha büyük ajanslar için Google Workspace veya Microsoft Entra ID gibi SSO (SAML/OIDC) yoluna gelecekte geçiş planlayın. SSO'yu ilk günde kurmak zorunda değilsiniz, ama eklemeyi zorlaştıracak seçimlerden kaçının.

Roller ve izinler

En azından iki rol tanımlayın:

  • Admin: kullanıcıları, rolleri, veri saklama ayarlarını ve entegrasyonları yönetir\n- Recruiter: adaylar, işler ve pipeline aşamalarıyla çalışır

Eğer ürününüz opsiyonel bir müşteri/işe alım yöneticisi portalı içeriyorsa, bunu ayrı bir izin kümesi olarak ele alın. Müşteriler genellikle sınırlı erişime ihtiyaç duyar (örn. sadece kendilerine gönderilen adaylar, gizli kişisel detaylar sınırlı olacak şekilde).

İyi bir kural: varsayılan olarak en az erişimi verin ve izinleri kasıtlı ekleyin (örn. “adayları dışa aktarabilir”, “ücret alanlarını görebilir”, “kayıtları silebilir”).

Denetim izleri (sorumluluk)

İşe alım çok sayıda el değiştirme içerir; hafif bir denetim izi kafa karışıklığını önler ve iç güven oluşturur. Şu tür önemli eylemleri kaydedin:

  • Aday/profil düzenlemeleri (kim neyi ne zaman değiştirdi)\n- İş gönderimleri\n- Pipeline aşama değişiklikleri ve reddetme nedenleri

Bu günlükleri uygulama içinde aranabilir tutun ve düzenlenemez hale getirin.

Özgeçmişler ve dokümanlar için güvenli dosya yönetimi

Özgeçmişler son derece hassastır. Bunları genel erişimli URL'ler yerine özel obje depolamada (S3 uyumlu) saklayın, imzalı/sona eren indirme bağlantıları gerektirin ve yüklemelere zararlı yazılım taraması uygulayın. Erişimi role göre kısıtlayın ve ekleri e-posta ile göndermek yerine güvenli uygulama içi bağlantılar kullanın.

Son olarak, verileri iletimde (HTTPS) ve mümkünse dinamik olarak şifreleyin ve yeni çalışma alanları için güvenli varsayılanları zorunlu kılın.

Gizlilik, Uyumluluk ve Aday Güveni

Tam kod kontrolünü elinizde tutun
Koder.ai ile inşa edin, sonra repo sahibi olmak istediğinizde kaynak kodunu dışa aktarın.

İşe alım uygulamaları son derece hassas verilerle çalışır—CV'ler, iletişim bilgileri, ücret bilgileri, mülakat notları. Adaylar verilerin nasıl saklandığına güvenmezse etkileşime girmez ve ajanslar gereksiz hukuki risk alır. Gizlilik ve uyumluluğu ek özellik değil, temel ürün özelliği olarak ele alın.

Ajans bazında rıza ve hukuki gerekçe

Farklı ajanslar ve bölgeler farklı hukuki gerekçelere dayanır (rıza, meşru menfaat, sözleşme). Her aday kaydında yapılandırılabilir bir takip alanı oluşturun:

  • Kullanılan hukuki gerekçe (ajans bazında seçilebilir)\n- Adayın neye onay verdiği (örn. “Müşteri X ile paylaş” vs “herhangi bir müşteriyle paylaş”)\n- Zaman damgası, kaynak ve delil (form gönderimi, e-posta yanıtı, import notu)

Paylaşım işlemlerinin (profil gönderme, dışa aktarma, kampanyaya ekleme) bu ayarları kontrol ettiğinden emin olun.

Saklama, silme ve anonimleştirme

Ajans düzeyinde saklama ayarları ekleyin: inaktif adayları, reddedilen başvuruları ve mülakat notlarını ne kadar süreyle saklayacakları. Sonra net akışlar uygulayın:

  • Kişisel verileri tamamen kaldırmanız gerekiyorsa silme\n- Sadece toplu raporlama için kimlikleri kaldırmak istiyorsanız anonimleştirme

Bu eylemleri denetlenebilir ve gerektiğinde geri alınamaz şekilde yönetin.

Erişim talepleri için veri dışa aktarımı

Erişim taleplerini destekleyin: aday kaydının yapılandırılmış JSON dışa aktarımı ve insan tarafından okunabilir PDF/HTML özeti çoğu ihtiyacı karşılar.

Güvenli depolama ve en az ayrıcalık ilkesi

İletim ve dinamik depolamada şifreleme, ayrı ortamlar ve güçlü oturum yönetimi kullanın. Varsayılan rolleri en az ayrıcalıkla ayarlayın: recruiterlar otomatik olarak ücret, özel notlar veya tüm müşteri gönderimlerini görmemeli.

Aday verilerini görüntüleme/dışa aktarma/paylaşma için bir görüntüleme denetim kaydı ekleyin ve politika detaylarını /privacy üzerinden ajansların adaylara açıklayabilmesi için erişilebilir hale getirin.

Entegrasyonlar: E-posta, Takvim, ATS ve İş Panoları

Entegrasyonlar uygulamanızın işe alımcının gününe doğal uyum sağlayıp sağlamayacağını belirler—veya “bir başka sekme daha” olur. Önce yüksek etkili bağlantılar için küçük bir set hedefleyin ve diğer her şeyi temiz bir API katmanının arkasına koyun ki daha sonra yeniden yazmadan ekleyebilesiniz.

E-posta entegrasyonu (v1)

E-posta ile başlayın; çünkü bu doğrudan iletişimi destekler ve değerli aktivite geçmişi oluşturur.

Gmail ve Microsoft 365 ile bağlanarak:\n

  • Uygulama içinden outreach e-postaları gönderin (şablonlar + kişiselleştirme tokenları)\n- Gelen ve giden konuşmaları aday ve iş kayıtlarına loglayın\n- Dosya eklerini iliştirin ve aranabilir ileti zaman çizelgesi tutun

Basit tutun: mesaj meta verilerini (konu, zaman, katılımcılar) ve arama için güvenli bir gövde kopyası saklayın. Loglamayı açık tutun ki işe alımcılar hangi konuların sisteme ait olacağını seçebilsin.

Takvim entegrasyonu (v1 için opsiyonel)

Takvim zaman çizelgesini tehlikeye sokmuyorsa bekleyebilir, ama güçlü bir yükseltmedir. Google Calendar / Outlook Calendar ile mülakat etkinlikleri oluşturabilir, zaman önerileri gönderebilir ve sonuçları kaydedebilirsiniz.

Erken sürümlerde odaklanılması gereken: etkinlik oluşturma + katılımcı ekleme + mülakat detayını aday pipeline aşamasına yazma.

ATS bağlantıları ve temiz bir API/webhook katmanı

Birçok ajans zaten bir ATS/CRM kullanıyor. Kilit olaylar için webhook'lar sağlayın (aday oluşturuldu/güncellendi, aşama değişti, mülakat planlandı) ve REST uç noktalarınızı açıkça belgeleyin ki ortaklar hızlıca bağlansın. /docs/api gibi basit bir dokümantasyon sayfası ve hafif bir “entegrasyon ayarları” ekranı düşünün.

İş panoları (2. aşama)

İş panosu yayınlama ve gelen başvurular güçlüdür, ama karmaşıklık getirir (ilan politikaları, yinelenen başvurular, kaynak takibi). Bunları 2. aşama olarak ele alın:\n

  • İlanları seçili panolara gönderin\n- Başvuruları aday profil yönetimine alın\n- Kaynağı izleyin ve işe alımları doğru atfedin

Veri modelinizi şimdi tasarlayın ki “kaynak” ve “başvuru kanalı” alanları ileride birinci sınıf alanlar olsun.

Teknoloji Yığını ve Mimari Seçimi

Teknoloji yığını MVP'yi hızlı göndermeye odaklanmalı, ancak daha sonra daha iyi arama ve entegrasyonlara yer bırakmalı. İşe alım uygulamalarının iki farklı ihtiyacı vardır: işlemsel iş akışları (pipeline'lar, izinler, denetim günlükleri) ve hızlı arama/sıralama (adayları işlemlere göre eşleme).

Hızlı gönderen yığın seçenekleri

Modern bir JavaScript yığını için React + Node.js (NestJS/Express) yaygın bir seçimdir: ön yüz ve arka uçta tek dil, çok sayıda kütüphane ve basit entegrasyon.\n Daha hızlı CRUD ve güçlü konvansiyon isterseniz, Rails veya Django core ATS/CRM iş akışlarını daha az kararla kurmak için mükemmeldir. Bunları hafif bir ön yüzle (Rails view'ları, Django template'leri) veya daha zengin bir UI gerekiyorsa React ile eşleştirin.\n Eğer prototipleme hızınız darboğazsa (özellikle iç araçlar veya erken doğrulama için), Koder.ai gibi bir vibe-coding platformu uçtan uca MVP oluşturmanıza yardımcı olabilir: temel ekranlar, iş akışları ve bir başlangıç veri modeli ile. Takımlar bunu hızlı yineleme için kullanıp, hazır olduğunda kaynak kodunu dışa aktarır. Anlık görüntüler ve geri alma, sıralama değişikliklerini teste sokarken uygulamayı bozmadan denemeyi kolaylaştırır.

Veri depolama: ilişkiselle başlayın

Kaynak veri için bir ilişkisel veritabanı (genellikle PostgreSQL) kullanın. İşe alım verisi işlem ağırlıklıdır: adaylar, işler, aşamalar, notlar, görevler, e-postalar ve izinlerin tümü transaction ve kısıtlamalardan faydalanır.

“Dokümanları” (özgeçmişler, ekler) S3-benzeri bir depolamada tutun ve Postgres'te meta verilerini saklayın.

Arama ve sıralama: aşamalar halinde büyütün

Anahtar kelime sorguları ve filtreler için Postgres full-text search ile başlayın. MVP için sıklıkla yeterlidir ve başka bir sistemi çalıştırmaktan kaçınır.

Eşleştirme ve arama darboğaz olduğunda (karmaşık sıralama, eşanlamlılar, bulanık sorgular, yüksek hacim), asenkron olarak Postgres'ten beslenecek Elasticsearch/OpenSearch gibi bir indeks ekleyin.

Dağıtım: riski ve maliyeti kontrol edin

Test edebilmek için ayrı staging ve production ortamları tutun.\n Otomatik yedeklemeler, temel izleme (hatalar, gecikme, kuyruk derinliği) ve maliyet kontrolü (log saklama, doğru boyutlu instance'lar) kurun. Bu, daha fazla işe alımcı ve veri geldikçe sistemi öngörülebilir tutar.

Analitik ve Eşleştirmeyi Geliştiren Geri Bildirim Döngüleri

Sohsette birlikte çalışın
Projenizi paylaşın ve tüm gereksinimler, değişiklikler ve yinelemeler üzerinde sohbet içinde birlikte çalışın.

Eşleştirme, sonuçları ölçtüğünüzde daha iyi olur ve işe alımcı kararlarının “neden”ini yakaladığınızda gelişir. Hedef gösteriş metrikleri değil—her kısa liste, mülakat ve yerleştirme önerilerinizi daha doğru hale getiren sıkı bir döngüdür.

Gerçek işe alım hızını yansıtan KPI'ları takip edin

Küçük bir KPI setiyle başlayın ki ajans performansına doğrudan bağlansın:\n

  • İlk kısa liste zamanı: iş oluşturulmadan ilk nitelikli kısa liste gönderilene kadar geçen gün sayısı\n- İşe alımlar per recruiter: aylık/çeyreklik üretim, aktif requisition'lara göre normalize edilmiş\n- Kaynak etkinliği: hangi kanallar mülakat/teklif/yerleştirmeye ulaşan adaylar üretiyor

KPI'ları müşteri, rol türü, kıdem ve recruiter bazında filtrelenebilir yapın ki sayılar ortalama ve muğlâk değil, eyleme geçirilebilir olsun.

Eşleşme kalitesi geri bildirim döngüsü kurun

Karar verilen yerde hafif geri bildirim ekleyin (eşleştirme listesi ve aday profili üzerinde): beğen/beğenme, artı isteğe bağlı nedenler (örn. “maaş uyuşmazlığı”, “eksik sertifika”, “konum/vize”, “düşük yanıt oranı”).

Geri bildirimi şu sonuçlarla ilişkilendirin:\n

  • kabul edilen kısa listeler\n- planlanan mülakatlar\n- yapılan teklifler\n- yerleştirmeler\n- reddedilme ve belirtilen neden

Bu, puanlamanızı gerçekle karşılaştırmanıza ve ağırlıkları veya kuralları kanıt ile ayarlamanıza imkan verir.

İşe alımcıların gerçekten kullanacağı raporlar

Birkaç varsayılan rapor oluşturun:\n

  • Pipeline sağlığı: aşama sayıları, dönüşüm oranları ve darboğazlar\n- Yaşlanan adaylar: güçlü profiller ama X gündür aktivitesi olmayanlar\n- İş doldurma oranı: açık vs doldurulan, her aşamada ortalama süre

Okunabilir ve dışa aktarılabilir panolar

Panolar “bu hafta ne değişti?” sorusunu bir ekranda cevaplamalı, sonra detaylandırmaya izin vermeli. Her tablo CSV/PDF dışa aktarılabilir olmalı ki müşteri güncellemeleri ve iç incelemeler için kullanılabilsin; tanımlar görünür olsun (tooltip veya /help) ki herkes aynı metrikleri aynı şekilde okusun.

Test, Lansman ve Yineleme Yol Haritası

Bir işe alım uygulaması gerçek roller, gerçek adaylar ve gerçek zaman çizelgeleriyle güvenilir çalıştığında başarılı olur. Lansmanı öğrenmenin başlangıcı olarak görün—bitiş değil.

MVP lansman kontrol listesi ("hazır" ne demek?)

İlk kullanıcıları davet etmeden önce, temel özelliklerin sadece inşa edilmiş değil, uçtan uca kullanılabilir olduğundan emin olun:

  • Seed data: hedef nişinizi yansıtan 10–20 gerçekçi aday ve 5–10 iş (karmaşık özgeçmişler ve eksik profiller dahil).\n- Onboarding: ilk akış bir iş oluşturmalı, aday ithal etmeli ve 10 dakika içinde ilk kısa listeyi göstermeli.\n- İzinler: Admin/Recruiter/Viewer gibi roller ve güvenli varsayılanlar (yeni kullanıcılar sadece görmesi gerekenleri görmeli).\n- E-posta şablonları: mülakat davetleri, aday iletişimi ve “başvurunuz alındı” tipi mesajlar marka ve değişkenlerle hazır.

Eşleştirme kalitesini koruyan test yaklaşımı

Büyük bir test paketine ihtiyacınız yok ama doğru testlere ihtiyacınız var:\n

  • Skorlama için birim testleri: ana senaryolar için beklenen sonuçları kilitleyin (must-have beceriler, konum kuralları, maaş aralıkları, dealbreaker'lar). Bu, sıralamada “sessiz” değişiklikleri engeller.\n- Uçtan uca testler: iş oluştur → aday içe aktar → eşleştirme çalıştır → e-posta gönder → aşama değiştir. Bunlar birden fazla ekran arasındaki kırılmaları yakalar.

Yayılma planı: küçük başla, hızlı öğren

Pilotu haftalık geri bildirim verecek 1–3 ajans ile başlatın. Başarı metriklerini önceden tanımlayın: ilk kısa liste süresi, azalan e-posta trafiği, işe alımcıların eşleşme açıklamalarına güveni gibi.

İki haftalık bir tempo yürütün: sorunları toplayın, en önemli engelleri düzeltin ve iyileştirmeleri gönderin. Değişiklikleri hafif bir changelog ile yayınlayın (ör. /blog).

MVP'den sonraki kilometre taşları

Core iş akışı stabil hale geldikten sonra önceliklendirin:\n

  • Otomasyon: hatırlatıcılar, takipler, aşama hatırlatmaları, yinelenen kayıt tespiti\n- AI destekli özetler: aday öne çıkanlarını ve iş-a-day-ilişkisini taslak hâlinde oluşturma (kolay düzenleme ile)\n- Müşteri portalı: kısa listeleri paylaşma, geri bildirim toplama ve mülakat onaylarını uzun e-posta zincirleri olmadan alma

Katmanlar (portal erişimi, entegrasyonlar, gelişmiş analizler) eklerken /pricing üzerinde paketlemeyi net tutun.

SSS

Bir işe alım eşleştirme web uygulaması için en küçük MVP nedir?

Bir işe alım eşleştirme web uygulaması için kapalı döngü bir iş akışıyla başlayın:

  • Bir iş ilanı oluşturun
  • Aday ekleyin (manuel giriş + özgeçmiş yükleme)
  • Açıklanabilir sonuçlarla eşleştirme çalıştırın
  • Adayları kısa listeye alın ve gönderin

Bir özellik bu döngüyü doğrudan desteklemiyorsa (ör. iş panosu yayınlama, karmaşık otomasyon, işe alım yöneticisi portalı), bunu 2. aşamaya erteleyin.

İlk olarak kimler için tasarım yapmalıyım?

Her ana kullanıcı için 2–3 “en önemli görev” seçin ve tasarımı bunların etrafında yapın.

  • Recruiterlar (işe alımcılar): adayları hızlıca bulmak, iletişimi takip etmek, kişileri aşamalardan geçirmek
  • Adminler: kullanıcıları/izinleri yönetmek, raporlama, tutarlı süreçler
  • İşe alım yöneticileri (opsiyonel): gönderilen adayları incelemek ve geri bildirim vermek (izinler + bildirimler ekler)

Eğer işe alım yöneticilerini v1'e dahil ediyorsanız, izin modeli ve bildirim kurallarını önceden planlayın.

Ürünün işe yaradığını kanıtlayan hangi başarı metrikleri en uygundur?

“Daha iyi eşleşmeler” gibi belirsiz hedefler yerine ölçülebilir, iş akışıyla bağlantılı metrikler kullanın. İyi başlangıçlar:

  • İlk kısa listeye ulaşma süresi (iş oluşturulma → kısa liste gönderilme)
  • Dolum/yerleştirme oranı (çalışılan rollere göre doldurulan roller)
  • İşe alımcı verimliliği (kişi başına handledilen roller)
  • Kaldırılan manuel adımlar (tablolar, kopyala-yapıştır, yinelenen kayıtlar)

Bu metrikler ayrıca sıralama değişikliklerinin sonuçları iyileştirip iyileştirmediğini doğrulamak için kullanılır.

Adaylar, işler ve pipeline etkinliği için hangi veri modeli kullanılmalı?

Temel varlıkları basit tutun ve iş akışını ilişkilerle modelleyin:

  • Candidate (Aday): düzenlenmiş alanlar + ham özgeçmiş metni/dosya
  • Job (İş): yapılandırılmış gereksinimler (must-have vs nice-to-have), konum, maaş aralığı, durum
  • Submission (aday ↔ iş): aşama, zaman damgaları, sahibi
  • Interview/Notes/Tasks/Messages: aday + iş ile bağlantılı (çoğunlukla submission üzerinden)

Bu yapı, eşleştirme, raporlama ve denetim kayıtlarının özellikler büyüdükçe tutarlı kalmasını sağlar.

Veritabanında dağınıklık yaratmadan özgeçmişler ve aday profili verilerini nasıl yönetmeliyim?

Ne depoladığınızla neyi aradığınız arasında net bir ayrım yapın.

  • Orijinal özgeçmiş dosyasını ve çıkarılan ham metni saklayın
  • Kürate edilmiş, düzenlenebilir alanları (beceriler, unvanlar, ücret, müsaitlik) tutun
  • Alan güvenini takip edin (pars edilmiş vs işe alımcı doğruladı)

Bu, ayrıştırma hatalarının işe alımcı onaylı verilerin üzerine sessizce yazmasını önler ve zaman içinde eşleştirme kalitesini artırır.

İşe alımcıların güveneceği bir eşleştirme mantığını nasıl uygularım?

Şeffaf kurallarla başlayın, sonra puanlama ekleyin.

  • Gates (zorunlu filtreler): must-have beceriler/sertifikalar, konum/çalışma yetkisi, maaş örtüşmesi
  • Puanlama (sıralama için): beceri eşleşme %, tazelik, kıdem uyumu, hafif metin benzerliği

Ağırlıkları ayarlanabilir tutun ve her sonucun yanında “eşleşme nedeni” gösterin. Açıklanabilirlik, işe alımcıların sistemi güvenle kullanmasını ve düzeltmesini sağlar.

İşlerde “must-have” ile “nice-to-have” gereksinimleri nasıl temsil etmeliyim?

Gereksinimleri iki kovada modelleyin:

  • Must-have: gate olarak kullanılır; yoksa eşleşme başarısız olur
  • Nice-to-have: sıralamayı artırır; yokluğu adayın elenmesine neden olmaz

Bu, tercihlerin güçlü adayları filtrelemesini önlerken daha iyi uyumları ödüllendirir.

v1 için gerekli roller, izinler ve denetim günlükleri nelerdir?

Her okuma/yazma yoluna izinleri entegre edin (arama ve eşleştirme dahil):

  • Roller tanımlayın (en az Admin ve Recruiter)
  • Workspace/ekip sınırlarına karar verin (ajans-geneli vs takım-özel adaylar)
  • Hassas alanları kısıtlayın (ücret, özel notlar, dışa aktarmalar)
  • Düzenlemeler, gönderimler ve aşama değişiklikleri için denetim izi ekleyin

Öntanımı en az ayrıcalık olarak ayarlayın ve yetenekleri kasıtlı şekilde ekleyin (ör. “adayları dışa aktarabilir”).

Gizlilik ve GDPR ile ilgili hangi özellikler erkenden dahil edilmeli?

Uyumluluğu ürün davranışı olarak ele alın, belge olarak değil.

  • Aday başına hukuka uygun gerekçe/izin kaydı (kapsam, zaman damgası, kaynak/delil)
  • Paylaşım/dışa aktarma işlemlerinde izni zorla
  • Saklama ayarları ve silme vs anonimleştirme akışları ekle
  • Erişim talepleri için veri dışa aktarma desteği sağlayın

Politika detaylarını /privacy gibi bir sayfadan bağlayın ve hassas işlemleri denetlenebilir kılın.

MVP'yi test edip dağıtırken eşleştirme kalitesini bozmadan nasıl hareket etmeliyim?

Güvenilirlik ve öğrenme odaklı bir yayın yapın:

  • Gerçekçi veri ile başlatın (karmaşık özgeçmişler, eksik profiller)
  • Puanlama için birim testleri ekleyin (sıralama regresyonlarını önlemek için)
  • Ana döngü için uçtan uca testler oluşturun (iş → aday → eşleştirme → aşama/e-posta)
  • 1–3 ajansla pilot yapın ve iki haftalık aralıklarla metrikleri gözden geçirin

Küçük değişiklikleri sıkça yayınlayın ve basit bir changelog tutun (ör. /blog).

Related posts