[راهنما] نحوه یافتن و استخدام بهترین مهندسان نرم افزار


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

آشنایی با جمعیت شناسی توسعه دهندگان

اولین چیزی که قبل از شروع باید بدانید این است که اگرچه “توسعه دهنده” یک زمینه تخصصی است، اما هنوز کاملاً گسترده است. توسعه دهندگان، به ویژه توسعه دهندگان فول استک ، می‌توانند نقش‌های مختلفی مانند توسعه وب، توسعه موبایل، مهندسی نرم‌افزار، مدیران پایگاه داده یا سیستم‌ها و غیره را بر عهده بگیرند.

Stack Overflow یک سایت بزرگ است که در آن توسعه دهندگان می توانند به یک شبکه بپیوندند، به یکدیگر کمک کنند، پروژه های خود را به نمایش بگذارند و به طور کلی در یک جامعه بزرگتر شرکت کنند. آنها یک نظرسنجی سالانه از مخاطبان خود انجام می دهند، با بیش از 90000 پاسخ دهنده به نظرسنجی 2019 خود . این می تواند چیزهای زیادی در مورد جمعیت شناسی توسعه دهندگان به ما بگوید، اگرچه به طور کامل نماینده این حوزه به عنوان یک کل نیست.

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

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

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

ایجاد فهرست و منبع یابی کاندیداهای واجد شرایط

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

کجا می توانید به دنبال نامزدهای منبع برای پر کردن استخر خود باشید؟ در اینجا بهترین منابع فراتر از “یک پورتال شغلی” یا صفحه شغلی وب سایت شما هستند.

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

البته شما محدود به این کانال ها نیستید. کانال های سنتی می توانند تعداد زیادی کاندیدای واجد شرایط را نیز به همراه داشته باشند. موارد فوق صرفاً راه‌های عالی برای استخدام نامزدهای منفعل و جذب استعدادها از منابع بسیاری هستند.

استفاده از ارزیابی کد

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

ارزیابی کد تست‌هایی هستند که می‌توانید توسعه دهید یا از شرکت‌هایی که آنها را توسعه می‌دهند خریداری کنید. آنها می توانند از ساده تا پیچیده متغیر باشند و برای آزمایش توانایی یک نامزد در کدنویسی در پروژه های خاص هستند. ایده در اینجا این است که با توسعه‌دهنده اصلی فعلی خود یا هر کسی که سرپرست تیم توسعه شما است، برای شناسایی تست‌هایی که مهارت‌های مرتبط را ارزیابی می‌کنند، کار کنید. به عنوان مثال، اگر به یک مهندس نرم افزار ماهر در توسعه وب نیاز دارید، می خواهید از آزمایش ساده مبتنی بر زبان اجتناب کنید.

TestDome طیف گسترده ای از تست ها را در موضوعات مختلف ارائه می دهد، از PHP، جاوا، و C گرفته تا فناوری موبایل، علوم داده و مهندسی نرم افزار . سوالات از رایگان و ساده تا پیچیده و پولی، با قیمت گذاری بر اساس تعداد داوطلبانی که می خواهید تست کنید، متغیر است.

HireVue همچنین ارزیابی‌های کد، از جمله مهارت زبان کدنویسی و آزمون‌های تحلیل مهارت نرم را برای ارزیابی نامزدها از همه زوایای ارائه می‌دهد.

HackerRank ، در میان چیزهای دیگر، CodeScreen را ارائه می دهد. CodeScreen یک پلت فرم ارزیابی کد است که می توانید از آن برای ارائه تست به داوطلبان استفاده کنید تا آنها در اوقات فراغت خود روی آن کار کنند و نه تنها در مورد عملکرد آنها بلکه در مورد سرعت تکمیل پروژه به شما اطلاعات می دهد.

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

تعیین توانایی های فنی مهندس نرم افزار

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

 

با این اوصاف، چند راه وجود دارد که یک فرد غیر فنی می تواند توانایی های فنی را قضاوت کند، البته با کمی نمک.

  • پاسخ های متعدد به یک سوال را از متقاضیان مختلف بررسی کنید. آیا هیچ یک از آنها به زیبایی بیشتر از دیگران متمایز است؟ با نوشتن کد برای انجام کاری که یک تابع در زبان ذاتاً می تواند انجام دهد، مراقب مسائلی مانند «اختراع مجدد چرخ» باشید.
  • یک چالش برنامه نویسی بدون نیاز به زبان صادر کنید. انتخاب زبان و دقت پاسخ به دست آمده می تواند چیزهای زیادی در مورد نامزد توسعه دهنده آن بگوید.
  • سعی کنید کد را بشکنید. اگر از یک داوطلب مهندسی نرم افزار بخواهید یک اپلت ساده طراحی کند که عملکردی را انجام می دهد، چه اتفاقی می افتد اگر بخواهید ورودی های عجیب و غریب مانند حروف را به جای اعداد، کاراکترهای خاص یا قطعه کد اضافه کنید؟ یک مهندس خوب باید (تا زمانی که بخشی از تکلیف باشد) برنامه ریزی کند تا از این نوع مسائل جلوگیری کند.

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

مثبت نگه داشتن فرآیند مصاحبه

ارزیابی یک نامزد شامل بررسی بسیاری از جنبه‌های مهارت‌ها، شخصیت و توانایی‌های ارتباطی یک فرد است. برخی از بهترین کاندیداهای شما ممکن است در ارزیابی مهارت‌ها خیلی خوب عمل نکنند، اما با تیم‌ها خیلی خوب کار می‌کنند و بهترین‌ها را در هر یک از همکارانشان به‌دست می‌آورند. اگر کاملاً بر یک جنبه از فرآیند استخدام تکیه کنید، می توانید ناخودآگاه بسیاری از این نامزدهای عالی (در غیر این صورت) را از خود دور کنید.

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

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

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

تصمیم گیری در مورد غرامت و مزایا

دیر یا زود باید در مورد غرامت بحث کنید. یک مهندس نرم افزار، مورد تقاضا، احتمالاً پیشنهادات چندین شرکت مختلف را با هم مقایسه خواهد کرد. آنها نه تنها به حقوق پایه، بلکه به مزایای دیگر نیز توجه خواهند کرد.

بنابراین چه چیزی می تواند غرامت کافی باشد؟ خیلی به آن وارد می شود.

  • متوسط ​​حقوق. نامزدهای شما تقریباً می دانند که افراد در موقعیت خود چه چیزی را دریافت می کنند. بازگشت به بررسی Stack Overflow ، دستمزدها از 38 هزار دلار برای یک محقق دانشگاهی تا 95 هزار دلار برای مدیران مهندسی متغیر است، اما این در سراسر جهان است. در ایالات متحده، محققان دانشگاهی به طور متوسط ​​95 هزار دلار و مدیران مهندسی به طور متوسط ​​به 152 هزار دلار می رسند.
  • جبران مکان و مکان یابی مجدد. یک مهندس نرم افزار در روستایی می سی سی پی ممکن است انتظار داشته باشد کمتر از زمانی که در سیلیکون ولی زندگی می کرد، درآمد داشته باشد. هزینه منطقه ای زندگی و تعدیل حقوق می تواند برای نامزدهایی که مایل به نقل مکان هستند نیز بسیار مهم باشد.
  • فواید. پوشش سلامت، گزینه های سهام، تطبیق 401 (k)؛ این همه بخشی از محاسبه کلی است.
  • انتظارات زمانی آیا از مهندس خود در دفتر 9-5 انتظار دارید؟ آیا انتظار می رود آنها 50 ساعت یا بیشتر در هفته کار کنند؟ آیا آنها در زمانی که می توانند هر روز وارد و خارج شوند انعطاف پذیر هستند؟ آیا آنها گاهی اوقات از خانه سر کار می آیند یا به طور منظم؟ اینها می تواند ملاحظات مهمی به خصوص امروز باشد.

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

کاهش زمان استخدام

جذب بهترین مهندسان نرم‌افزار و سایر توسعه‌دهندگان می‌تواند نیاز به یک فرآیند سریع از برنامه به ارائه داشته باشد. هرچه ارزیابی شما بیشتر طول بکشد، احتمال بیشتری وجود دارد که شرکت دیگری وارد شود و نامزدهای شما را جذب کند. بنابراین چگونه می توانید زمان خود را برای استخدام کاهش دهید؟

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

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

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

به آنها فضایی برای رشد دادن

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

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

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

به مهندسان خود نقشی بدهید که بتوانند با آن رشد کنند، و شما یک مهندس وفادار خواهید داشت که می تواند شرکت شما را به ارتفاعات جدیدی برساند.

بدون نظر

پاسخ دهید