8 دی 1399
برای بیشتر افراد، مصاحبه شغلی ترسناک است. شما واقعا نمیدانید آنها چه انتظاری از شما دارند. شاید احساس کنید که خودتان را در جایگاه محاکمه قرار دادهاید. آیا یک گفتگوی خوب خواهد بود یا به یک مصاحبه برای بازرسی از شما تبدیل خواهد شد؟ با این ناآگاهیها ما به سمت اشتباهات منحرف میشویم. حداقل خوب نیست که برای مصاحبه احساس آمادگی کنیم؟ اما چگونه میتوان برای یک مصاحبه شغلی برنامه نویسی که در آن میتوانند هر لحظه شما را به دام سوالهای عجیب بیندازند، آماده شد؟
در ابتدا یک سری موارد بدیهی را بررسی میکنیم. در مصاحبه شغلی برنامه نویسی باید بتوانید به سوالهای فنی پاسخ بدهید. بیایید فرض کنیم که شما یک توسعهدهنده React هستید؛ پس انتظار میرود که شما با React، Next JS, HTML و CSS آشنایی داشته باشید.
آماده شدن برای سوالهایی که در مصاحبه شغلی ممکن است پرسیده شود، نیاز به تلاش زیادی دارد اما ساده است. شما میتوانید با تایپ “سوالات مصاحبه برنامهنویسی” در گوگل، به نتایج بسیار زیادی برسید. شاید پاسخ خیلی از سوالها را بدانید ولی دنبال آنهایی بگردید که نمیدانید. همچنین ممکن است انواع سوالات فنی پرسیده شود. اینکه چه نوع و سطحی از سوالات از شما پرسیده شود، بستگی به مکان و اندازه شرکت و تجربه مصاحبه کنندگان دارد. شما میتوانید با سوالهای آسان شروع کنید و وقتی احساس راحتی به شما دست داد، میتوانید سراغ سوالهای سختتر بروید.
بیشتر افرادی که برای مصاحبه شغلی برنامه نویسی آماده میشوند، به دلیل نگرانی از سوالهای سخت یک امر مهم را فراموش میکنند. شما باید به شغل و شرکتی که در مصاحبه آن شرکت میکنید، علاقه داشته باشید. شما باید توانایی و تمایل خود به یادگیری و برقراری ارتباط را نشان دهید و به عنوان کسی که میخواهد با یک تیم کار کند، باید احساس راحتی با اعضای تیم داشته باشید.
در این مقاله، چیزهایی که در هنگام مصاحبه شغلی برنامه نویسی به کمک شما میآیند را میآموزید و بینشهای یک مصاحبه شونده را میتوانید درک کنید. مباحثی که در ادامه مقاله دنبال میشوند، به شرح زیر است:
حال اجازه دهید نگاهی دقیق به هر یک از این مباحث داشته باشیم.
گاهی اوقات، بعضی از افراد فقط به یک شغل یا پول نیاز دارند و نمیدانند که چه برنامهای را میسازند. همچنین نمیدانند که شرکتی که در آن کار میکنند، چه کاری انجام میدهد! اینها میتوانند منجر به موقعیتهای نامناسبی در مصاحبه شوند.
واضح است، وقتی که فرد مصاحبه شونده از ابتدا علاقهمند نباشد، در نظر مصاحبه کننده خیلی خوب به نظر نمیرسد. وقتی که در حال تحقیق هستید، اطلاعات گستردهتری از شرکت و محصول تولیدی آن، کسب کنید. به وبسایت آنها نگاهی بیندازید. بعضی اوقات میتوانید عکسهایی از دفتر آنها پیدا کنید. شرکتهای کوچکتر غالبا دارای صفحه تیمی هستند که میتوانید ببینید چه تعداد و چه نوع توسعهدهندههایی در آنجا مشغول به کار هستند. همچنین میتوانید طراحان، مدیر محصول، بازاریابها و پشتیبانها را ببینید. صفحههای بازاریابی آنها را مطالعه کنید تا اطلاعاتی در مورد محصول پیدا کنید؛ به این ترتیب حتی اگر دسترسی محدود به پرداخت مشتری باشد، میتوانید بینشی در رابطه با آن شرکت کسب کنید.
حالا میتوانید کمی عمیقتر شوید. اگر آن شرکت API ارائه بدهد، میتوانید مستندات فنی آن را پیدا کنید. این میتواند جزئیات ارزشمندی در مورد عملکرد داخلی سیستمهای آنها به شما بدهد. چه نوع مدلهای دادهای و موجودیتهایی دارند، چگونه به هم وصل میشوند؟ این آگاهیها میتواند برای نمایش (شایدم کمی خودنمایی) در طول مصاحبه بسیار عالی باشد.
پس فناوریهایشان چه؟ بسیاری از سازمانها دارای صفحه GitHub هستند و شما میتوانید مخازن متنباز آنها را مشاهده کنید. همچنین برخی از شرکتها برای جذب استعدادها، وبلاگهای فنی دارند. اینها فرصتهای شگفتانگیزی برای جلو بودن از دیگر شرکتکنندههای مصاحبه است. ممکن است درمورد ابزارهایی که آنها استفاده میکنند، فنآوریهایشان و دلایل تصمیمهای فنی آنها، اطلاعاتی کسب کنید.
در بعضی موارد، فردی که مسئول منابع انسانی یا استخدام کننده است، نام مصاحبه کنندگان را به شما میگوید. حتما این اسامی را یادداشت کرده و درمورد آنها تحقیق کنید. آیا آنها حساب کاربردی در Twitter یا LinkedIn دارند؟ شاید بتوانید وبلاگ شخصی آنها را پیدا کنید. حتی آشنایی ساده با عکس آنها میتواند لحظات اولیه محاصبه را برای شما راحتتر کند.
اگر شما به عنوان یک توسعهدهنده نرمافزار تجربه حرفهای دارید، یک داستان کوتاه درباره جالبترین پروژههایی که بر روی آنها کار کردهاید، برای مصاحبه شغلی برنامه نویسی بنویسید. از چه فناوریهایی در آن پروژه استفاده کردهاید؟ تیم آن پروژه چقدر بزرگ بود و چگونه با همدیگر همکاری میکردید؟ آیا شما چیزی را پیاده سازی کردهاید یا اتفاقی بوده که به آن افتخار کنید؟ چه چیزهایی یاد گرفتهاید؟
با توجه به پروژههای شخصی شما، طبیعتا مصاحبه کنندگان انتظار دارند که دانش عمیقی داشته باشید. پس از مواردی که در سابقه خود دارید، اگر کدی را فراموش کردهاید، دوباره سعی کنید به یاد بیاورید که دلیلی که پشت کدهایتان پنهان شده، چه بوده است؟ این میتواند در پیدا کردن چیزهایی که خارج از ادراک است، به شما کمک کند. این حتی ممکن است، یک سوال در مصاحبه باشد یا اگر آنها در این مورد نپرسیدند، خودتان میتوانید به این موضوع اشاره کنید. توانایی انتقاد از خود، شخصیت، بلوغ و توانایی یادگیری را نشان میدهد.
توصیه معمول مصاحبه شغلی برنامه نویسی، نوشتن کد روی وایتبورد یا کاغذ است. شما میتوانید بسیاری از سوالهای کدنویسی را به صورت آنلاین پیدا کنید. در حالی که شما به فکر راه حل هستید و کد را یادداشت میکنید، با صدای بلند صحبت کنید و آنچه میخواهید به دست بیاورید را توضیح دهید. بلند صحبت کردن در اینجا بسیار مهم است. بیشتر وقتی که ما در حال کدنویسی هستیم، مشکلها را در ذهن خودمان حل میکنیم، به خصوص زمانی که به صورت چند نفره برنامهنویسی نمیکنیم یا از تکنیک صحبت با اردک پلاستیکی استفاده نمینماییم. عادت به توضیح روند فکریمان برای دیگران، شانس ما را هنگام مصاحبه به طرز چشمگیری افزایش میدهد.
همین کار را میتوانید با سوالهای متداول مصاحبه انجام دهید که نیازی به کدنویسی ندارند. همانطور که در ابتدا توضیح داده شد، لیستی از چیزهایی که باید در مصاحبه و در جواب سوالهای JavaScript بگویید، پیدا کنید و با صدای بلند به آنها پاسخ دهید. اگر همه جوابها را نمیدانید، بهتر است چون یک مصاحبه واقعی رخ خواهد داد؛ بنابراین، بهتر است به آن عادت کنیم.
البته باید اشاره کنیم که بعضی از وبسایتها، مصاحبههای مسخرهای را ارائه میدهند. مصاحبه interviewing.io یا pramp.com گزینههای خوبی به نظر میرسند. همچنین به codesignal نگاهی بیندازید؛ زیرا منابع زیادی برای مصاحبه در اختیار شما قرار میدهد. همه این وبسایتها از آنجا که درآمدشان از ارجاع کاندیداهای خوب به شرکتها است، برای توسعهدهندگان رایگان هستند.
بیشتر مصاحبهها با این سوال به پایان میرسند: آیا سوالی از طرف شما وجود دارد؟
کاندیدایی که بعد از مصاحبه یا در طول مصاحبه سوالهای خوبی بپرسد، بهنظر میرسد که بیشتر علاقهمند به شرکت و شغلی است که برای آن تقاضا کرده اما احتمال دارد در این مرحله مغز شما خسته شده باشد. ممکن است ظرفیت ذهنی برای فکر کردن درباره چیزی که پرسیدنش جالب باشد، باقی نمانده باشد؛ به همین دلیل، برخی از سوالها را باید آماده کرده و آنها را بهخاطر بسپارید. شاید حتی بهتر باشد آنها را روی کاغذ بنویسید. هیچ شرمندگی در خواندن سوالهایتان از روی کاغذ وجود ندارد. این فقط نشان میدهد که شما برای مصاحبه آماده شدهاید.
در اینجا چند پیشنهاد وجود دارد که میتوانید در این روابط، سوال بپرسید:
بهخصوص سوالهایی که مربوط به فرایند توسعه، اولویتهای فنی و بهترین و بدترینها است، میتواند بسیار قطعی باشد.
موارد خاصی که باید درمورد فرایند توسعه سوال کنید، این است که آیا آنها از روشهای چابکی مانند Scrum استفاده میکنند؟ آیا بهصورت sprint کار میکنند؟ آیا در تیمهای cross-functional (هر تیم در زمینه خاصی مهارت دارد و همه این تیمها برای یک هدف برنامهنویسی میکنند) کار میکنند؟ آیا بهصورت pair-programming (چند برنامهنویس در کنارهم) برنامهنویسی میکنند؟
به این ترتیب میتوانید بررسی کنید که آیا آنها در یک محیط توسعه مدرن کار میکنند یا خیر. این امر به ویژه در صورتی که یک توسعه دهنده تازه وارد باشید و بخواهید عملکرد خود را بهبود ببخشید، بسیار مهم است.
سوالهای مربوط به اولویتهای فنی و بدترین و بهترین چیزها، خلاف اینکه درباره نقاط قوت و ضعف یک کاندیدا صحبت شود، باعث میشود تماشای مصاحبه کننده هنگام فکرکردن درمورد پاسخ به این سوالها، بسیار جالب باشد.
پس از اتمام مصاحبه، هرچه سریعتر اتفاقها را به یاد بیاورید و آنها را یادداشت کنید. مهم است که تاثیر این تمرین را دست کم نگیرید. خیلی راحتتر میتوانید نقاط ضعف خود را شناسایی کنید و برای مصاحبه شغلی بعدی آمادهتر شوید. سعی کنید مصاحبه را قدم به قدم، مجددا بازسازی کنید. چه سوالهایی پرسیده شده و چه پاسخهایی دادهاید؟ سعی کنید درمورد روحیه خود نیز فکر کنید. چه زمانی عصبی بودهاید و چه زمان اعتماد به نفس کافی داشتهاید؟
وقتی که احساس میکنید در مصاحبهتان خیلی موفق بودهاید، با بازسازی جریان مصاحبه متوجه میشوید که چه اشتباهاتی را انجام دادهاید و این باعث میشود در مصاحبههای بعدی موفقتر باشید.
تمامی حقوق برای گیتی سرور محفوظ است.
ممنونم
مطلب بسیار خوبی بود.
خواهش میکنم
خیلی برام جالب بود، ممنونم