آیا باید چالش کد نویسی take-home را انجام دهم؟

07 اردیبهشت 1400, خواندن در 6 دقیقه

چند هفته پیش اولین چالش کد نویسی take-home را به عنوان بخشی از فرایند مصاحبه برای یک شرکت انجام دادم. من شروع به تحقیق درباره چالش‌های take-home کردم تا نکاتی را یاد بگیرم و مطمئن شوم که بهترین روش‌ها را دنبال می‌کنم. بعد از اینکه برخی از تجارب شخصی توسعه دهندگان راجع به چالش‌های take-home را خواندم، فهمیدم که نمی‌دانم این موضوع چقدر بحث انگیز است!

این یعنی چه؟

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

شما می‌توانید تحقیق کنید، اسناد و مدارک لازم را به کار گیرید، وقایع مربوط به تعهدات خود را نشان داده و مهارت‌های دیگری که نشان دادن آن‌ها در یک تمرین معمولی امکان پذیر نیست را به نمایش بگذارید. مزیت یک چالش take-home این است که شما در محیط خود کار می‌کنید و از آن راحت هستید و این (در تئوری) به شما این امکان را می‌دهد تا بهترین کار خود را تولید کنید.

پس چرا از آن متنفرید؟

بزرگترین جنبه منفی برای یک چالش take-home زمانی است که نیاز به سرمایه گذاری دارد. به طور معمول یک مصاحبه معمولی بین ۴۵ دقیقه تا یک ساعت به طول می‌انجامد. ناگفته نماند مواردی وجود داشته است که شرکت‌ها از این روش به عنوان راهی برای بهره برداری از کارمندان بالقوه استفاده کرده و اساسا از آن به عنوان نوعی کار رایگان یا کار بدون مزد استفاده می‌کنند.

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

عوامل

علاقه شما به شرکت

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

تعهد زمانی

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

مراحل مصاحبه

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

ارزیابی کردن

کار یا پروژه را خیلی واضح بخوانید. آیا به خوبی ارزیابی کرده‌اید؟ آیا از کاری که باید انجام دهید مطمئن هستید؟ آیا امکان تغییر محدوده ارزیابی شما وجود دارد؟ یک چالش take-home خوب باید شما را از نتیجه نهایی مطمئن سازد و بدانید که قدم‌های لازم برای رسیدن به این هدف چیست.

کار مربوطه

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

بازخورد و پشتیبانی

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

جستجوی شغلی شما

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

نتیجه گیری

تجربه شخصی من با انجام این چالش کد نویسی بسیار مثبت بوده است. به طور کلی من به عنوان یک توسعه دهنده جدید ارزش زیادی در آن می‌بینم. به نظرم این روش بهتری برای نشان دادن مهارت‌های من است. همچنین با نداشتن استرس و محدودیت زمانی کمتر لذت می‌برم.

هدف این مقاله رد چالش‌های کد نویسی take-home نیست. همچنین من به شما نمی‌گویم که حتما باید این چالش‌ها را انتخاب کنید. اما جستجوی کار سخت است و شما باید با توجه به وقت خود انتخاب کنید. شما می‌خواهید بهترین استفاده را از وقت و انرژی خود ببرید.

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
پوریا رزمجویی @Pooriarazmjoo
پوریا رزمجویی هستم
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو