علی دهبان
علی دهبان
خواندن ۴ دقیقه·۱ سال پیش

پنج دلیل برای اینکه توسعه دهندگان با تجربه در مصاحبه های برنامه نویسی شکست می خورند و کلیدهای موفقیت!

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

خب دلایلی وجود داره که چرا این اتفاق می افته.

1- اونها زمان لازم برای پیش مطالعه یا آماده سازی کامل رو معمولاً ندارند

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

2- اونها مجبور به انجام کارهای متفاوتی نیستند بعد از سالها به یک ثباتی رسیده اند.

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

3- آنها بیش از حد اعتماد به نفس دارند

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

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

4- آنها با فناوری های جدید آشنایی ندارند

دنیای توسعه نرم افزار به طور مداوم در حال تحول است. ابزارها و فناوری های جدید در حال ظهور هستند.

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

5- آنها به جزئیات توجه ندارند

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

آنها باید به جزئیاتی مانند data type ها و syntax و چیزهای خیلی جزیی توجه دقیق تری داشته باشند، چرا که می تواند منجر به عملکرد ضعیف آنها شود.


کلیدهای موفقیت چیست؟

در طول مصاحبه کدنویسی یک پازل، مسئله یا تمرین داده می شود که باید با نوشتن کد حل شود. این مصاحبه ها دانش شما را از الگوریتم ها و ساختار داده ها بررسی می کند، در طول مصاحبه باید راه حلی برای یک مسئله طراحی کنید و همان راه حل را به صورت کد ارائه کنید.

  • مطالعه کنید.
  • کامیونیتی های حوزه ی کاری خود رو پیدا کرده و با آنها تعامل داشته باشید.(گروه های تلگرامی، فیسبوک، توییتر، ردیت، فروم ها و غیره)
  • در وبسایت هایی که در مورد اخبار و اتفافات دنیای تکنولوژی می نویسند عضو باشید و هر روز یک یا چند خبر جدید را بخوانید، بدانید دارد اطرافتان چه میگذرد!
  • در دنیای Open-Source حضور داشته باشید، در طی سالیان دراز حتماً دو سه خط کد برای به اشتراک گذاشتن با خیل مشتاقان دارید تا در جایی مثل GitHub به اشتراک بگذارید!


نکاتی در باب جلسه های مصاحبه

  • در صورت امکان ورودی/خروجی نمونه را روی کاغذ پیاده کنید تا مطمئن شوید که متوجه شده اید.
  • درباره error handling و type ها و موارد استثنا و غیره سؤال بپرسید.
  • برنامه ریزی و بحث کنید و شبه کد (pseudo code) بنویسید.
  • در نهایت کد واقعی را تمیز بنویسید.
  • مرحله به مرحله و خط به خط رو با تست نویسی تثبیت کنید.
  • بهینه سازی رو انجام بدید و از بحث در مورد ملاحظات اضافی خودداری نکنید!

سخن پایانی

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

موفق باشید.

توسعه دهندگاننرم افزار
برنامه نویس و دیگر هیچ...!
شاید از این پست‌ها خوشتان بیاید