چطور با باز گذاشتن در، مسئله منشی رو دور زدیم
خلاصهٔ کاملتر
نویسنده تو این پست تعریف میکنه که تو یه بحث تو اسلک Clojure با مسئله منشی یا Secretary Problem آشنا شده؛ یه مسئله کلاسیک تو نظریه توقف بهینه که میپرسه چندتا کاندیدا رو باید ببینی تا شانس انتخاب بهترین نفر حداکثر بشه. این مسئله یه قید کلیدی داره: کاندیدایی که رد شد، دیگه نمیشه برش گردوند. خودش و همکارش Mayank سالها قبل، بدون اینکه اسم این مسئله رو شنیده باشن، دقیقاً همین قید رو شکسته بودن.
ماجرا این بود که بین اواخر ۲۰۱۳ تا ۲۰۱۴ تو helpshift.com دنبال تستر-برنامهنویس میگشتن، اون هم تو پونه هند، جایی که بازارش تقریباً پر از تسترهای فقط دستیه. چون ابزارها و سوئیتهای تستشون به Clojure نوشته میشد، دنبال آدم کنجکاوی بودن که بشه آموزشش داد. برای همین دو کار غیرمعمول کردن: اول اینکه به رد شدهها صریحاً گفتن بعد از یه دوره خنک شدن میتونن دوباره اپلای کنن، دوم اینکه به هر کسی که علاقه نشون میداد سرفصل آموزشی میدادن و یه ساعت مشخص هفتگی هم برای office hours در اختیارش میذاشتن.
خروجیش به گفته نویسنده این بود: پنج استخدام از حدود ۳۰۰ رزومه ورودی، و همه ظرف حدود یک ماه بهرهور شدن. سه نفرشون رفتن سراغ Clojure و دو نفر سراغ SDKهای موبایل. بعداً وقتی ریارگ شرکت واحد QA رو حذف کرد، همهشون به نقشهای دیگه مثل توسعه بکاند و مدیریت محصول رفتن و بین چهار تا ده سال موندن. یه مهندس دیگه هم غیرمستقیم و با دهان به دهان جذب شد، چون همسرش از همون office hours استفاده کرده بود.
بخش جالبتر پست، قوانین حلقه استخدامه. سقف پاسخگویی ۲۴ ساعت بود و صریحاً به کاندیدا میگفتن اگه تو این مدت خبری نشد خودش پیگیری کنه. هیچکسو ghost نمیکردن. همه ارتباط از توی ATS رد میشد و دلیل هر رأی بلافاصله همونجا نوشته میشد، شبیه یه commit message خوب. تصمیمها هم async بود: دو تا رأی مثبت یعنی رفتن به مرحله بعد، یه مثبت و یه منفی یعنی رد.
درباره تمرین کدنویسی نظر تندی داره: تکلیفهای چندساعته سیگنال به نویز افتضاحی دارن، چون هم وقت کاندیدا رو میگیرن هم ساعتها وقت ریویوئر. پس تمرین باید حدود پانزده دقیقهای باشه و درخواست بعدی هم معمولاً refactor کردن همون راهحل با یه طراحی کاملاً متفاوت بود. کپی کردن اشکالی نداشت، به شرط اعلام شفاف. در کل عمداً سمت false negative خطا میکردن، چون سیاست درِ باز اجازه میداد به آدمهای نزدیک به قبولی راحت و سریع نه بگن.
نکات کلیدی:
- قید اصلی مسئله منشی اینه که کاندیدای رد شده رو نمیشه برگردوند؛ همین قید عمداً شکسته شد
- پنج استخدام از حدود ۳۰۰ رزومه ورودی، با ماندگاری چهار تا ده سال برای هر نفر
- سقف پاسخگویی به کاندیدا ۲۴ ساعت بود و ghost کردن کاملاً ممنوع
- پروتکل رأی async: دو رأی مثبت یعنی مرحله بعد، یه مثبت و یه منفی یعنی رد
- تمرین کدنویسی باید حدود ۱۵ دقیقهای باشه، متناسب با سطح شغلی کاندیدا، نه چند ساعت
- الگوی سرعت از Paul English مدیرعامل سابق Kayak گرفته شده: SLA هفت روز تقویمی از آشنایی با کاندیدا تا پیشنهاد قطعی کار




