توسعه نرمافزار به فناوریها و فرایندهای پیچیدهای نیاز دارد، اما در نهایت این «افراد» هستند که بیشترین اهمیت را در ساخت محصولات عالی دارند. بههرحال، آنها کسانی هستند که فرایندها را ایجاد و حفظ و ابزارها را انتخاب و استفاده میکنند.
مهندسان ارشد (senior) نرمافزار بهدلیل توانایی نوشتن کدهای عالی، راهنمایی مهندسین نرمافزار تازهکار (junior)، رسیدگی به مسائل سازمانی و پیادهسازی و مدیریت فناوریها بسیار ارزشمند تلقی میشوند. گرچه آنها برای موفقیت یک شرکت بسیار مهم هستند، اما مصاحبه و استخدام افراد مناسب برای این شغل بسیار چالشبرانگیز است. به همین دلیل شما برای جذب مهندسان نرمافزار درجهیک به استراتژی استخدام مؤثری نیاز دارید.
معنی «ارشد» بودن را درک کنید
مهندس نرمافزار ارشد بودن مفهومی بسیار گسترده است. اکثر کسانی که مهندس ارشد شناخته میشوند، حداقل ۵ سال و یا بیشتر سابقه کدزنی حرفهای دارند.
هنگام مصاحبه با مهندسان ارشد نرمافزار، انتظار میرود که آنها نهتنها بتوانند مشکل را دریابند، بلکه راهحلهایی با کد اصلاحشده نیز ارائه دهند. در مقابل از مهندسین نرمافزار تازهکار انتظار میرود که فقط بتوانند مشکل را حل کنند. به یاد داشته باشید که تجربه به شما میآموزد که چه مشکلاتی را باید حل کنید.
در طی مراحل مصاحبه فنی با مهندسان ارشد نرمافزار، از آنها بپرسید که چه کارهایی را برای ارائه ایدههای جدید به مدیریت انجام میدهند و روند توسعه یک نرمافزار را چگونه طی میکنند؟ همچنین مطمئن شوید که آنها با آخرین تحولات بازار همگام هستند.
درمورد مهارتهای کدزنی لازم و ارزشهای اصلی که در کاندیداهای ارشد بهدنبال آن هستید فکر کرده و آنها را در روند مصاحبه فنی بگنجانید. همچنین متنی را تهیه کرده و جزئیات نردبان شغلی و ویژگیها و تفاوت بین سطوح مختلف در شرکت را در آن ذکر کنید.
مطلب مشابه: چرا توسعهدهندگان ارشد بیش از تازهکارها در مصاحبههای کاری رد میشوند؟
سؤالات مناسبی را برای مصاحبه آماده کنید
چه مصاحبه ویدئویی باشد و چه حضوری، مصاحبه با مهندسین ارشد نرمافزار باید مانند یک گفتگو باشد. درمورد روند استخدام شفاف باشید و اجازه ندهید که مصاحبه طولانی شود. درمورد طراحی، ساختار و رفتار نرمافزار سؤال بپرسید. در اینجا چند نمونه از سؤالات مناسب برای مصاحبه آورده شده است:
- چه زمانی بهجای SQL از NoSQL استفاده میکنید؟
- چگونه توسعه یک سرویس وب یکپارچه مانند Django یا Ruby on Rails را مدیریت میکنید؟
- چگونه دانش خود در زمینه فناوریهای جدید مرتبط با توسعه وب فول استک را بهروز نگه میدارید؟
- اگر بخواهید یک پروژه را تنها در یک ماه از صفر تا صد تکمیل کنید، از کدام فناوریها، زبانهای برنامهنویسی و فریمورکها استفاده میکنید؟
- مزایا و معایب کار در یک محیط سریع چیست؟
- برای یک اپلیکیشن مورد استفاده عموم، چه نگرانیهای امنیتی دارید و چگونه آنها را رفع میکنید؟
- چگونه کار خود بر روی یک برنامه را مستند میکنید تا دیگران پس از شما بفهمند که چرا این سیستم به این شکل است؟
به یاد داشته باشید که درخواست تکمیل یک الگوریتم ساده یا آزمون ساختار داده از مهندسان ارشد نرمافزار کاملاً بیفایده است. برخی از آنها سالهاست که با این مسائل برخورد نکردهاند. در عوض، از آنها بخواهید چند نمونه کار یا مستندات دیگری که نشاندهنده مهارتهای فنی آنها باشد را با شما به اشتراک بگذارند.
همچنین در انجام تستهای وایتبردی مراقب باشید. فقط درصورتی این کار را انجام دهید که انتظار داشته باشید مهندسان ارشد نرمافزار این کار را در کارهای روزمره خود انجام دهند. مصاحبههای وایتبردی، عملکرد متقاضیان شغل در محیط کار واقعی را نمیسنجند و همیشه بهترین روش برای استفاده در مراحل استخدام نیستند.
در طول مراحل استخدام، با تیم استخدام و بهخصوص سایر مهندسان ارشد که پس از استخدام با کاندیدای احتمالی کار خواهند کرد، همکاری و مشورت کنید. وجود یک گروه به نمایندگی از تیم و شرکت شما باعث میشود تا متقاضی احساس بهتری نسبت به محیط کار شما پیدا کند. سعی کنید تعداد اعضای این گروه به ۵ نفر محدود شود تا کاندیدا تحت فشار قرار نگیرد.
شما میتوانید در ارزیابی خود از روشهای تعاملی هم استفاده کنید. یک روش معمول برای ارزیابی مهارتهای فنی، کدزنی با کاندیدا است که معمولاً با عنوان برنامهنویسی دونفره (Paired Programming) شناخته میشود. میتوانید از بسترهایی مانند Codelive که ویژگیهای زیادی مثل وایتبرد و مصاحبه تصویری دارد، استفاده کنید تا بتوانید نحوه تفکر درلحظه متقاضی را بسنجید.
نکاتی برای مصاحبه فنی
مصاحبه فنی میتواند شکلهای مختلفی داشته باشد. امروزه بسیاری از شرکتها از کاندیداها میخواهند تا یک آزمون کدنویسی را از خانه و بهصورت آنلاین انجام دهند. مزیت این کار این است که آنها میتوانند از لپتاپ و وسایل خودشان که کار با آنها برایشان راحتتر است، استفاده کنند. مهندسان ارشد نرمافزار وظایف دیگری هم دارند، پس اینکه اجازه بدهیم آنها آزمون کدنویسی را بهصورت آنلاین و در زمانی که برایشان مناسبتر است انجام دهند، بسیار باارزش خواهد بود.
در صورت نبود آزمون آنلاین، حدوداً یک ساعت برای مصاحبه ویدیویی وقت بگذارید و از فرد بخواهید تا یک کد را بهبود دهد. این کار نشان میدهد که شما به کیفیت کدها و برنامهنویسی مشترک بسیار اهمیت میدهید.
حواستان باشد که تست کدزنی آنلاین نباید شبیه یک تکلیف خانگی به نظر برسد. این آزمون فرصت مناسبی برای ایجاد یک رابطه تعاملی با مهندس ارشد نرمافزار است. ممکن است شما هم از آنها چیزهایی یاد بگیرید.