هیچکس دنبال استخدام «وایبکودرها» نیست. متأسفم 🤗

هیچکس دنبال استخدام «وایبکودرها» نیست. متأسفم 🤗
توی این مقاله درباره «مصاحبه استخدامی برنامهنویسی» و واقعیتهای امروزش حرف میزنیم. چیزهایی که کمتر توی شبکههای اجتماعی میبینی.
این روزها خیلیها میگن دیگه لازم نیست برنامهنویسی یاد بگیری. چون «مصاحبههای کدنویسی دیگه مردن» و هوش مصنوعی همهچیز رو انجام میده.
اما اگه به دادهها و روند واقعی استخدام نگاه کنیم، تصویر کاملاً فرق میکنه.
مصاحبههای فنی نهتنها از بین نرفتن، بلکه توی خیلی از شرکتها جدیتر و سختگیرانهتر هم شدن.
پس داستان واقعی چیه؟
اگه این موضوع رو اشتباه بفهمیم، از هر دو طرف ضربه میخوریم:
یا هنوز داریم برای مصاحبهای تمرین میکنیم که اونقدرها هم وجود نداره،
یا کلاً صنعت رو اشتباه میخونیم و از مسیری کنار میکشیم که هنوز هم حسابی نیرو میخواد.
پس بیا بهجای حرفهای شبکههای اجتماعی، ببینیم شرکتها وقتی پای پول و استخدام واقعی وسطه، دقیقاً چیکار میکنن.
آیا مصاحبههای فنی واقعاً کمتر شدن؟
برخلاف چیزی که بعضیها توی شبکههای اجتماعی میگن، دادهها نشون میدن که مصاحبههای فنی در آمریکا از سال ۲۰۲۳ تقریباً دو برابر شدن.
گزارشهای پلتفرمهایی مثل CoderPad هم همین رو تأیید میکنن:
ارزیابیهای فنی در سطح جهانی رشد قابلتوجهی داشتن و هنوز هم بخش بزرگی از شرکتها از روشهای کلاسیک مثل ارزیابی الگوریتمی استفاده میکنن.
البته همهچیز دقیقاً مثل قبل نمونده.
بخشی از شرکتها فقط شکل سؤالها رو عوض کردن:
- طراحی سیستم
- برنامهنویسی دونفره
- دیباگ کردن سناریوهای واقعی
- کار با کدبیس موجود
- استفاده از فریمورکها و ابزارهای واقعی
یعنی بهجای اینکه فقط ازت بخوان یه معمای الگوریتمی رو حل کنی، بیشتر میخوان ببینن توی دنیای واقعی چطور فکر و عمل میکنی.
چرا شرکتهای هوش مصنوعی هم مصاحبههای سخت دارن؟
شاید بعضیا فکر کنن شرکتهای قدیمی هنوز گیر کردن توی سالهای قبل.
ولی واقعیت جالب اینه که سختگیرانهترین مصاحبهها رو خیلی وقتها همون شرکتهایی برگزار میکنن که خودشون دارن ابزارهای هوش مصنوعی رو میسازن.
برای مثال، توی گزارشهای مختلف اشاره شده که بعضی از شرکتهای بزرگ حوزه هوش مصنوعی هنوز روی مفاهیم پایهای مثل ساختار دادهها، کشها و طراحی راهحل از صفر تأکید زیادی دارن.
مثلاً پیادهسازی یک LRU Cache از صفر، یکی از سؤالهای پرتکرار توی بعضی از این مصاحبههاست.
از اون طرف، بعضی شرکتها مثل Anthropic توی مصاحبههای زنده، استفاده از هوش مصنوعی رو محدود میکنن تا ببینن داوطلب واقعاً چطور توی لحظه فکر میکنه.
و بعضیهای دیگه مثل Meta (فیسبوک سابق) مسیر متفاوتی رفتن و حتی مرحلههایی طراحی کردن که توی اون استفاده از هوش مصنوعی مجازه یا حتی تشویق میشه. اما طبق گزارشها، اون مرحلهها هم لزوماً آسونتر نیستن.
نکته اصلی اینجاست:
شرکتهایی که دقیقتر از همه میدونن هوش مصنوعی چیکار میتونه بکنه و چیکار نمیتونه، معمولاً سختگیرانهترین معیارها رو هم دارن.
مصاحبه فنی فقط درباره نوشتن کد نیست
یکی از سوءبرداشتهای رایج اینه که مصاحبه فنی فقط برای سنجش سرعت کدنویسیه.
در حالی که هدف اصلیش معمولاً چیز دیگهای هست.
مصاحبهگر فقط نمیخواد ببینه میتونی سینتکس رو درست بنویسی یا نه.
چیزی که واقعاً ارزیابی میشه، قضاوت مهندسی توئه:
- آیا میتونی مسئله رو تحلیل کنی؟
- چرا این راهحل رو انتخاب کردی؟
- این تصمیم چه مزایا و معایبی داره؟
- راهحل توی مقیاس بزرگ کجا میشکنه؟
- میتونی از تصمیمت دفاع کنی؟
توی خیلی از مصاحبهها حتی کدنویسی هم بخش اصلی نیست.
بخش مهمتر، توضیح منطقی راهحل، تحلیل سیستم و توانایی فکر کردن در لحظه هست.
برای همین بهترین داوطلبها معمولاً فقط کسایی نیستن که «سریعتر کد میزنن» بلکه کسایی هستن که میتونن خوب فکر کنن، خوب توضیح بدن و خوب مسئله رو بشکنن.
آیا چیزی توی مصاحبهها تغییر کرده؟
آره، ولی نه اونطوری که بعضیا تصور میکنن.
مصاحبههای فنی سالهاست که مورد انتقادن:
بیشازحد انتزاعی، وابسته به حفظیات، و گاهی دور از کار واقعی.
خبر خوب اینه که بخشی از شرکتها حالا دارن به سمت شبیهسازی سناریوهای واقعی میرن.
یعنی بهجای تمرینهای مصنوعی، از داوطلب میخوان روی چیزهایی مثل اینها کار کنه:
- کدبیس چندفایلی
- دیباگ واقعی
- کار با کد موجود
- استفاده از ابزارها و فریمورکهای واقعی
- بهتر کردن یک سیستم موجود، نه ساختن همهچیز از صفر
این تغییر، به دنیای واقعی مهندسی نرمافزار خیلی نزدیکتره.
اما در عین حال، هنوز هم همون مفاهیم بنیادی مهم هستن.
چون حتی اگه هوش مصنوعی توی بخشی از نوشتن کد کمک کنه، باز هم باید بفهمی چیکار میکنی، چرا این رو میسازی، و کجا ممکنه راهحلت خراب بشه.
هوش مصنوعی سطح انتظارات رو پایین نیاورده. فقط جابهجاش کرده
این بخش مهم ماجراست.
هر بار یه ابزار جدید وارد جریان توسعه نرمافزار شده، یه لایه از کارهای مکانیکی رو حذف کرده و سطح انتظار رو بالاتر برده.
- کامپایلرها، اسمبلی رو حذف کردن.
- فریمورکها، بویلرپلیت رو کم کردن.
- حالا هوش مصنوعی هم داره بخشی از تولید کد رو سادهتر میکنه.
اما نتیجه این نیست که مهارت لازم کمتر شده. نتیجه اینه که بار مهارتی به لایه بالاتری منتقل شده.
یعنی چی؟
یعنی حالا بیشتر از قبل باید بلد باشی:
- مسئله رو درست بفهمی
- راهحل مناسب انتخاب کنی
- خروجی هوش مصنوعی رو ارزیابی کنی
- باگ رو تشخیص بدی
- تصمیم فنی رو توضیح بدی
- و در نهایت، مسئولیت چیزی که میسازی رو بپذیری
پس هوش مصنوعی سطح رو پایین نیاورده.
فقط باعث شده «ندانستن» گرونتر بشه.
دو افراط اشتباه توی بازار امروز
۱) «فقط پرامپت بهتر بزن، یاد گرفتن لازم نیست»
این نگاه میگه دیگه لازم نیست برنامهنویسی رو عمیق یاد بگیری. فقط پرامپت بزن و جلو برو.
اما این مثل اینه که بگی چون هواپیما autopilot داره، دیگه آموزش خلبانی لازم نیست.
کمک خلبان (autopilot) عالیه، ولی جای فهم پرواز رو نمیگیره.
توی بازار امروز، کسی که هیچ درک بنیادی از کدنویسی، ساختار داده، دیباگ و معماری نداره، حتی اگه با هوش مصنوعی هم کار کنه، خیلی زود به مشکل میخوره.
۲) «مهندس واقعی اصلاً از هوش مصنوعی استفاده نمیکنه»
این نگاه هم به همون اندازه اشتباهه.
توی شرایط فعلی، نادیده گرفتن ابزارهای هوش مصنوعی عملاً میتونه تو رو از بقیه عقب بندازه.
این ابزارها بخشی از جریان کار مدرن شدن، نه یه اسباببازی موقت.
مهم این نیست که از هوش مصنوعی استفاده میکنی یا نه.
مهم اینه که بلدی چطور درست ازش استفاده کنی و در عین حال، درک مهندسی خودت رو هم حفظ کنی.
پس الان شرکتها دنبال چی هستن؟
شرکتها هنوز هم دنبال کسی هستن که:
- مسئله رو بفهمه
- راهحل رو تحلیل کنه
- بتونه کد موجود رو بهتر کنه
- از هوش مصنوعی بهعنوان ابزار استفاده کنه، نه عصای جادویی
- و مهمتر از همه، بدونه چی رو و چرا میسازه
بهعبارت سادهتر:
مصاحبهها مرده نیستن. فقط سطح انتظارات عوض شده.
حالا دیگه فقط «کد نوشتن» کافی نیست.
باید نشون بدی که واقعاً میفهمی چیکار میکنی.
جمعبندی
هیچکس دنبال «وایبکودر» نیست. یعنی کسی که فقط با حس و حال و چند پرامپت جلو میره، اما درکی از زیرساخت فنی نداره.
مصاحبههای فنی هنوز زنده هستن، هنوز جدیان، و هنوز هم میخوان بفهمن تو واقعاً بلدی یا نه.
تغییر اصلی اینه که:
- هوش مصنوعی بخشی از کار رو ساده کرده
- اما استانداردها رو حذف نکرده
- بلکه اونها رو به سطح بالاتری برده
پس اگه میخوای توی این بازار موفق بشی:
- پایهها رو جدی بگیر
- با ابزارها راحت باش
- و هر چیزی رو که میسازی، واقعاً بفهم
چون توسعهدهندههایی که هم بلدن فکر کنن، هم بلدن از ابزار استفاده کنن، الان نهتنها نترسیدن، بلکه دارن رشد میکنن.
مطالعه بیشتر
این مقاله با الهام از نوشتهای از Dennis Ivy بازنویسی و برای مخاطب فارسیزبان بومیسازی شده است.
اگر خواستی نسخه اصلی رو هم ببینی، میتونی از این لینک استفاده کنی:
همچنین کلی مقاله دیگه هم در سایت هست که میتونی بخونی. [لینک مقالهخونه]

