چگونه یک جونیور را اهلی کنیم؟

اگر جوان هستید چگونه وارد یک شرکت بزرگ شوید؟ اگر یک شرکت بزرگ هستید، چگونه یک جونیور شایسته استخدام کنیم؟ در زیر برش، من داستان استخدام مبتدیان را به شما می‌گویم: چگونه در انجام وظایف تستی کار کردیم، آماده انجام مصاحبه‌ها شدیم و یک برنامه راهنمایی برای توسعه و حضور تازه واردان ایجاد کردیم، و همچنین چرا سوالات استاندارد مصاحبه انجام نمی‌شود. کار نمیکنه

چگونه یک جونیور را اهلی کنیم؟
من سعی می کنم جونیور را رام کنم

سلام! نام من پاول است، من در تیم Wrike کار می کنم. ما یک سیستم برای مدیریت پروژه و همکاری ایجاد می کنیم. من از سال 2010 روی وب کار کردم، 3 سال در خارج از کشور کار کردم، در چندین استارتاپ شرکت کردم و یک دوره فناوری وب را در دانشگاه تدریس کردم. در شرکت، من در توسعه دوره های فنی و برنامه مربیگری Wrike برای نوجوانان و همچنین به طور مستقیم آنها را استخدام می کنم.

چرا ما حتی به استخدام جوانان فکر کردیم؟

تا همین اواخر، ما توسعه‌دهندگان سطح متوسط ​​یا ارشد را برای frontend استخدام می‌کردیم - به اندازه کافی مستقل برای انجام وظایف محصول پس از نصب. در ابتدای سال جاری، متوجه شدیم که می‌خواهیم این سیاست را تغییر دهیم: در طول سال، تعداد تیم‌های محصول ما تقریباً دو برابر شده است، تعداد توسعه‌دهندگان فرانت‌اند به صد نفر رسیده است و در آینده نزدیک همه اینها خواهد شد. باید دوباره دو برابر شود کار زیاد است، دست‌های آزاد کمی وجود دارد، و حتی تعداد آنها در بازار کمتر است، بنابراین تصمیم گرفتیم به بچه‌هایی که تازه سفر خود را در خط مقدم شروع می‌کنند رجوع کنیم و متوجه شدیم که آماده سرمایه‌گذاری در آنها هستیم. توسعه.

جونیور کیست؟

این اولین سوالی است که از خود پرسیدیم. معیارهای مختلفی وجود دارد، اما ساده ترین و قابل فهم ترین اصل این است:

جونیور باید توضیح داده شود که چه ویژگی و چگونه آن را انجام دهد. میدل باید توضیح داده شود که چه ویژگی مورد نیاز است و او خودش پیاده سازی را مشخص خواهد کرد. خود امضا کننده به شما توضیح می دهد که چرا اصلاً نیازی به انجام این ویژگی نیست.

به هر طریقی، یک جوان توسعه دهنده ای است که در مورد نحوه اجرای این یا آن راه حل به مشاوره نیاز دارد. آنچه ما تصمیم گرفتیم بر روی آن بسازیم:

  1. جونیور کسی است که می خواهد پیشرفت کند و آماده است برای این کار سخت تلاش کند.
  2. او همیشه نمی داند که در کدام جهت می خواهد پیشرفت کند.
  3. به مشاوره نیاز دارد و از بیرون کمک می گیرد - از رهبر خود، مربی یا در جامعه.

چند فرضیه هم داشتیم:

  1. طوفانی از پاسخ ها به موضع ژوئن خواهد بود. شما باید پاسخ های تصادفی را در مرحله ارسال رزومه خود فیلتر کنید.
  2. فیلتر اولیه کمکی نمی کند. - وظایف تست بیشتری مورد نیاز است.
  3. کارهای آزمایشی همه را می ترساند - آنها مورد نیاز نیستند.

و البته ما یک هدف داشتیم: 4 جونیور در 3 هفته.

با این درک ما شروع به آزمایش کردیم. طرح ساده بود: با وسیع ترین قیف ممکن شروع کنید و سعی کنید به تدریج آن را محدود کنید تا بتوانید جریان را پردازش کنید، اما آن را به 1 کاندید در هفته کاهش ندهید.

ما یک جای خالی ارسال می کنیم

برای شرکت: صدها پاسخ وجود خواهد داشت! به یک فیلتر فکر کنید.

برای نوجوانان: قبل از ارسال رزومه و تکلیف آزمون از پرسشنامه نترسید - این نشانه این است که شرکت از شما مراقبت کرده و روند را به خوبی تنظیم کرده است.

در روز اول، حدود 70 رزومه از داوطلبان "با دانش جاوا اسکریپت" دریافت کردیم. و سپس دوباره. و بیشتر. ما از نظر فیزیکی نمی‌توانستیم همه را برای مصاحبه به دفتر دعوت کنیم و از بین آنها افرادی را انتخاب کردیم که بهترین پروژه‌های حیوانات خانگی، Github زنده یا حداقل تجربه را داشتند.

اما نتیجه اصلی که در همان روز اول برای خودمان گرفتیم این بود که طوفان شروع شده بود. اکنون زمان آن است که قبل از ارسال رزومه، یک فرم پرسشنامه اضافه کنید. هدف او حذف نامزدهایی بود که حاضر به انجام حداقل تلاش برای ارسال رزومه نبودند، و کسانی که دانش و زمینه لازم برای حداقل جستجوی پاسخ های صحیح را نداشتند.

این شامل سؤالات استاندارد در مورد JS، طرح‌بندی، وب، علوم رایانه بود - هرکسی که تصور می‌کند در یک مصاحبه مقدماتی چه می‌پرسد، آنها را می‌شناسد. تفاوت بین let/var/const چیست؟ چگونه می توانم استایل ها را فقط برای صفحه نمایش هایی با عرض کمتر از 600 پیکسل اعمال کنم؟ ما نمی‌خواستیم این سوالات را در یک مصاحبه فنی بپرسیم - تمرین نشان داده است که می‌توان بعد از 2-3 مصاحبه بدون درک توسعه به آنها پاسخ داد. اما آنها توانستند در ابتدا به ما نشان دهند که آیا نامزد، در اصل، زمینه را درک می کند یا خیر.

در هر دسته 3-5 سوال آماده کردیم و روز به روز مجموعه آنها را در فرم پاسخنامه تغییر دادیم تا اینکه قابل قبول ترین و سخت ترین آنها را حذف کردیم. این به ما امکان داد تا جریان را کاهش دهیم - در 3 هفته دریافت کردیم 122 نامزد، که می توانستیم بیشتر با آن کار کنیم. اینها دانشجویان فناوری اطلاعات بودند. بچه هایی که می خواستند از عقب به جلو حرکت کنند. کارگران یا مهندسان 25 تا 35 ساله که به شدت می خواستند شغل خود را تغییر دهند و تلاش های مختلفی را برای خودآموزی، دوره ها و کارآموزی انجام دهند.

آشنایی بیشتر با یکدیگر

برای شرکت: کار آزمون داوطلبان را منصرف نمی کند، اما به کوتاه کردن قیف کمک می کند.

برای نوجوانان: تست های کپی-پیست را کپی نکنید - قابل توجه است. و github خود را مرتب نگه دارید!

اگر همه را برای مصاحبه فنی فرا می‌خواندیم، باید هفته‌ای 40 مصاحبه فقط برای نوجوانان و فقط در جبهه انجام دهیم. بنابراین، تصمیم گرفتیم که فرضیه دوم - در مورد تکلیف آزمون را آزمایش کنیم.

آنچه در آزمون برای ما مهم بود:

  1. یک معماری مقیاس پذیر خوب بسازید، اما بدون مهندسی بیش از حد.
  2. بهتر است بیشتر طول بکشد، اما این کار را به خوبی انجام دهید، تا اینکه یک کاردستی را یک شبه جمع کنید و آن را با نظر "حتما تمامش می کنم" ارسال کنید.
  3. تاریخچه توسعه در Git فرهنگ مهندسی، توسعه تکراری و این واقعیت است که راه حل آشکارا کپی نشده است.

ما توافق کردیم که می‌خواهیم یک مشکل الگوریتمی و یک برنامه وب کوچک را بررسی کنیم. نمونه های الگوریتمی در سطح آزمایشگاه های سطح ابتدایی - جستجوی باینری، مرتب سازی، بررسی آناگرام ها، کار با لیست ها و درختان آماده شدند. در پایان، ما به جستجوی باینری به عنوان اولین گزینه آزمایشی پرداختیم. برنامه وب باید با استفاده از هر چارچوبی (یا بدون آن) tic-tac-toe باشد.

تقریباً نیمی از بچه های باقیمانده کار آزمایشی را انجام دادند - آنها راه حل ها را برای ما ارسال کردند 54 نامزد. بینش باورنکردنی - فکر می‌کنید چند پیاده‌سازی از tic-tac-toe، آماده برای کپی پیست، در اینترنت وجود دارد؟

چند نفر؟در واقع، به نظر می رسد که تنها 3 مورد وجود دارد. و در اکثریت قریب به اتفاق تصمیمات دقیقاً این 3 گزینه وجود داشته است.
چیزی که دوست نداشت:

  • کپی پیست یا توسعه بر اساس همان آموزش بدون معماری خودتان.
  • هر دو کار در یک مخزن در پوشه های مختلف هستند، البته هیچ commit history وجود ندارد.
  • کد کثیف، نقض DRY، عدم قالب بندی؛
  • ترکیبی از مدل، نمایش و کنترل کننده در یک کلاس صدها خط کد طولانی.
  • عدم درک تست واحد؛
  • یک راه حل "هدر رو" یک کد سخت از یک ماتریس 3x3 از ترکیب های برنده است که برای مثال گسترش آن به 10x10 بسیار دشوار است.

ما همچنین به مخازن همسایه توجه کردیم - پروژه‌های جالب حیوانات خانگی یک امتیاز مثبت بودند، و یک سری کارهای آزمایشی از شرکت‌های دیگر بیشتر یک زنگ هشدار بود: چرا نامزد نمی‌توانست به آنجا برسد؟

در نتیجه، گزینه های جالبی را در React، Angular، Vanilla JS پیدا کردیم - 29 مورد از آنها وجود داشت. و ما تصمیم گرفتیم یک نامزد دیگر را بدون آزمایش برای پروژه های حیوان خانگی بسیار جالب او دعوت کنیم. فرضیه ما در مورد مزایای وظایف آزمون تایید شد.

مصاحبه فنی

برای شرکت: این میان‌سال‌ها نیستند که پیش شما آمده‌اند! ما به یک رویکرد فردی تر نیاز داریم.

برای نوجوانان: به یاد داشته باشید که این یک امتحان نیست - سعی نکنید برای یک C سکوت کنید یا استاد را با جریانی از دانش ممکن خود بمباران نکنید تا او گیج شود و "عالی" بدهد.

در مصاحبه فنی می خواهیم چه چیزی را بفهمیم؟ یک چیز ساده - کاندید چگونه فکر می کند. اگر مراحل اول انتخاب را پشت سر گذاشته باشد احتمالاً مهارت های سختی دارد - باید دید که آیا می داند چگونه از آنها استفاده کند یا خیر. ما روی 3 کار به توافق رسیدیم.

اولین مورد در مورد الگوریتم ها و ساختارهای داده است. با یک قلم، روی یک تکه کاغذ، به زبان شبه و با کمک نقاشی، نحوه کپی کردن یک درخت یا حذف یک عنصر را از لیست پیوندی تکی فهمیدیم. کشف ناخوشایند این بود که همه بازگشت و نحوه کار مراجع را درک نمی کنند.

دومی کدگذاری زنده است. ما میرویم به codewars.com، چیزهای ساده ای مانند مرتب کردن یک آرایه از کلمات بر اساس حرف آخر را انتخاب کرد و به مدت 30-40 دقیقه به همراه داوطلب سعی در قبولی تمام آزمون ها داشت. به نظر می‌رسید که هیچ شگفتی از طرف بچه‌هایی که تیک تاک را تسلط داشتند وجود نداشته باشد - اما در عمل، همه نمی‌توانستند بفهمند که مقدار باید در یک متغیر ذخیره شود و تابع باید چیزی را از طریق بازگشت بازگرداند. اگرچه من صمیمانه امیدوارم که این یک گیج بود و بچه ها توانستند در شرایط سبک تر با این وظایف کنار بیایند.

در نهایت، مورد سوم کمی در مورد معماری است. ما در مورد چگونگی ایجاد یک نوار جستجو، نحوه عملکرد debounce، نحوه رندر کردن ویجت‌های مختلف در نکات جستجو، نحوه تعامل قسمت جلویی با قسمت پشتی بحث کردیم. راه حل های جالب زیادی وجود داشت، از جمله رندر سمت سرور و سوکت های وب.

ما 21 مصاحبه با استفاده از این طرح انجام دادیم. مخاطبان کاملاً متنوع بودند - بیایید به کمیک ها نگاه کنیم:

  1. " موشک ". او هرگز آرام نمی شود، درگیر همه چیز می شود و در طول مصاحبه شما را با جریانی از افکار غرق می کند که حتی مستقیماً با سؤال پرسیده شده مرتبط نیستند. اگر در دانشگاه بود، این یک تلاش آشنا برای نشان دادن، خوب، تمام دانش شما بود، وقتی تنها چیزی که در مورد بلیطی که با آن برخورد کردید به یاد دارید این است که دیشب تصمیم گرفتید آن را مطالعه نکنید - هنوز هم نمی توانید به دست بیاورید. آن را بیرون
  2. "گروت". تماس گرفتن با او بسیار دشوار است زیرا او گروت است. در طول یک مصاحبه، شما باید زمان زیادی را صرف تلاش کنید تا کلمه به کلمه پاسخ ها را دریافت کنید. خوب است اگر فقط یک کسالت باشد - در غیر این صورت در کار روزانه برای شما بسیار دشوار خواهد بود.
  3. "دراکس". من قبلاً در حمل و نقل بار کار می کردم و از نظر برنامه نویسی فقط JS را در Stackoverflow یاد گرفتم ، بنابراین همیشه متوجه نمی شوم که در یک مصاحبه در مورد چه چیزی صحبت می شود. در عین حال، او فرد خوبی است، بهترین نیت ها را دارد و می خواهد به یک توسعه دهنده بزرگ جلویی تبدیل شود.
  4. خب احتمالا "ارباب ستاره". به طور کلی، یک نامزد خوب است که می توانید با او مذاکره کنید و گفت و گو کنید.

در پایان تحقیق ما 7 نامزد به فینال رسیدند و مهارت های سخت خود را با یک تست عالی و پاسخ های خوب به مصاحبه تایید کردند.

تناسب فرهنگی

برای شرکت: تو باهاش ​​کار میکنی! آیا نامزد حاضر است برای پیشرفت خود بسیار سخت کار کند؟ آیا او واقعاً در تیم جا می شود؟

برای نوجوانان: تو باهاشون کار میکنی! آیا این شرکت واقعاً آماده سرمایه گذاری در رشد جوانان است یا به سادگی تمام کارهای کثیف را با دستمزد کم روی شما خالی می کند؟

هر جوان، علاوه بر تیم محصول، که سرپرست آن باید با او موافقت کند، یک مربی نیز می گیرد. وظیفه مرشد این است که او را از طریق یک فرآیند سه ماهه ورود و ارتقاء مهارت های سخت راهنمایی کند. بنابراین، ما به عنوان مربی به هر مناسبت فرهنگی رسیدیم و به این سوال پاسخ دادیم: "آیا طبق برنامه خود در مدت 3 ماه مسئولیت توسعه یک نامزد را بر عهده خواهم گرفت؟"

این مرحله بدون ویژگی خاصی گذشت و در نهایت ما را به ارمغان آورد 4 پیشنهادکه 3 تای آنها قبول شدند و بچه ها وارد تیم ها شدند.

زندگی بعد از پیشنهاد

برای شرکت: مراقب جوانان خود باشید یا دیگران این کار را خواهند کرد!

برای نوجوانان: AAAAAAAAAA!!!

هنگامی که یک کارمند جدید بیرون می آید، باید او را همراهی کرد - در جریان فرآیندها قرار داد، به او گفت که چگونه همه چیز در شرکت و در تیم کار می کند، و به طور کلی چگونه باید کار کند. وقتی یک جونیور بیرون می آید، باید بدانید که چگونه او را پرورش دهید.

وقتی در مورد آن فکر کردیم، به لیستی از 26 مهارت رسیدیم که به نظر ما، یک جوان باید تا پایان دوره سه ماهه ورود به سیستم داشته باشد. این شامل مهارت‌های سخت (طبق پشته ما)، دانش فرآیندهای ما، اسکرام، زیرساخت و معماری پروژه بود. ما آنها را در یک نقشه راه ترکیب کردیم که طی 3 ماه توزیع شد.

چگونه یک جونیور را اهلی کنیم؟

به عنوان مثال، در اینجا نقشه راه جوان من است

ما برای هر جوانی که به صورت جداگانه با او کار می کند، یک مربی تعیین می کنیم. بسته به استاد راهنما و سطح فعلی کاندید، جلسات می تواند از 1 تا 5 بار در هفته به مدت 1 ساعت برگزار شود. منتورها توسعه دهندگان داوطلبی هستند که می خواهند کاری فراتر از نوشتن کد انجام دهند.

برخی از بار روی مربیان توسط دوره های آموزشی در پشته ما برداشته می شود - Dart، Angular. دوره ها به طور منظم برای گروه های کوچک 4-6 نفری برگزار می شود که دانش آموزان بدون وقفه در محل کار به مطالعه می پردازند.

در طول 3 ماه، ما به صورت دوره ای بازخوردهایی را از نوجوانان، مربیان و رهبران آنها جمع آوری می کنیم و فرآیند را به صورت جداگانه تنظیم می کنیم. مهارت های پمپاژ شده 1-2 بار در طول کل دوره بررسی می شود، همان بررسی در پایان انجام می شود - بر اساس آنها، توصیه هایی در مورد آنچه که دقیقاً باید بهبود یابد شکل می گیرد.

نتیجه

برای شرکت: آیا ارزش سرمایه گذاری در جوانان را دارد؟ آره!

برای نوجوانان: به دنبال شرکت هایی باشید که با دقت نامزدها را انتخاب می کنند و می دانند چگونه آنها را توسعه دهند

در طی 3 ماه، 122 پرسشنامه، 54 تکلیف آزمون را بررسی کردیم و 21 مصاحبه فنی انجام دادیم. این برای ما 3 جوان بزرگ را به ارمغان آورد که اکنون نیمی از نقشه راه ورود و شتاب خود را تکمیل کرده اند. آنها در حال حاضر وظایف محصول واقعی را در پروژه ما تکمیل می کنند، جایی که بیش از 2 خط کد و بیش از 000 مخزن تنها در قسمت جلو وجود دارد.

ما متوجه شدیم که قیف برای جوانان می تواند و باید بسیار پیچیده باشد، اما در نهایت فقط آن دسته از بچه هایی که واقعاً آماده هستند بسیار سخت کار کنند و در توسعه خود سرمایه گذاری کنند از آن عبور می کنند.

اکنون وظیفه اصلی ما تکمیل نقشه‌های راه توسعه سه ماهه برای هر دانش‌آموز در حالت کار فردی با مربی و دوره‌های عمومی، جمع‌آوری معیارها، بازخورد از سرنخ‌ها، مربیان و خود بچه‌ها است. در این مرحله می توان آزمایش اول را تکمیل شده در نظر گرفت، نتیجه گیری کرد، روند را بهبود بخشید و دوباره برای انتخاب نامزدهای جدید شروع کرد.

منبع: www.habr.com

اضافه کردن نظر