صنف توسعه نرمافزار در ایران در دست بخش خصوصی و شرکت های کوچک است که در آنها جابجایی نیرو هم خیلی زیاد است. افراد هر وقت که قصد جابجایی داشته باشند باید آماده مصاحبه باشند و بتوانند در مصاحبهها تواناییهای خود را اثبات کنند. معیارهای اثبات توانایی بین شرکت های مختلف متفاوت است. گستردگی صنعت توسعه نرمافزار هم خیلی بالا است. اگر شما یک Web Developer باشید و به شرکتی بروید که نرم افزارهای Desktop تولید میکند ممکن است از شما سؤالاتی در زمینه Desktop Application پرسیده شود که با وجود تسلط به وب جواب آنها را ندانید در نتیجه از نظر آنها ناشی به نظر برسید. آیا راه حلی برای این مشکلات وجود دارد؟
مانع شماره یک این است که در شرکت های مختلف مشکلات و Solutionهای مختلفی وجود دارند. ممکن است شما Solution های خوبی برای مشکلات در کار قبلی تان داشته اید. اما شرکت جدید به Solution های متفاوتی نیازمند است. آنها یک مسأله جلوی شما میگذارند و از شما Solution میخواهند که معمولاً شما بلد نیستید. نتیجهگیری میشود که شما ناشی هستید و به در اون کار نمی خورید. اگر تیم مصاحبه کننده بیطرف نباشد و بخواهد عمداً از ورود شما جلوگیری کند که اوضاع بدتر از این هم می شود. یک سؤال جزیی از شما پرسیده میشود که معمولاً به اون نیازی مگر در موارد خیلی استثنایی در شرکت جدید. شما هم جواب را بلد نیستید و کار تمام.
شرکت هایی هستند که در سطح مقدماتی با دیتابیس های No SQL کار میکنند. قاعدتاً کسی که چندین سال با دیتابیس های Relational کار کرده هم بعد از مدتی کلنجار رفتن میتواند در سطح مقدماتی با دیتابیس های No SQL کار کند. تیم مصاحبه کننده اگر حرفهای و به اندازه کافی با تجربه نباشد که تقریباً در اکثر قریب به اتفاق همینطور است یا اینکه قصد و غرضی داشته باشد یک سؤال راجع به فلان جای No SQL میپرسد و چون شما قبلاً با اون کار نکردهاید جواب درست و حسابی هم ندارید. نتیجه اینکه شما در بخش فنی مصاحبه نمره کافی به دست نمی آورید.
من دیدهام که در مصاحبههای فنی تمرکز زیادی روی Design Pattern ها می شود. این را خصوصا در تیم های جاوایی و بعضا سی شارپی دیده ام. دوستان محترم مصاحبه کننده کتاب Design Pattern مارتین فولر را مثل کتاب حافظ باز میکنند و یک Pattern با یک اسم عجیب و غریب را انتخاب میکنند و از شما میخواهند که راجع به آن توضیح دهید. حالا اگر شما هم مثل اونها Theory Man باشید که مشکلی نیست ولی اگر با اسم اون Pattern آشنا نباشید اوضاع خراب می شود. حتی اگر در عمل از آن Pattern بدون اون که خودتان آگاه باشید استفاده کرده باشید هم چیز زیادی عوض نمی شود.
مواردی وجود دارد که یک فرد تازه فارغ التحصیل از کارشناسی ارشد به عنوان مصاحبه کننده حضور دارد. این دوستمان شروع میکند به مرور مباحثی که در دروس سیستم عامل، بانک اطلاعاتی و … وجود دارد و چند موضوع را با تلفظ غلیظ انگلیسی از شما می پرسد. معمولاً هم از کلماتی مثل Service و Distributed و اینها زیاد استفاده می شود.
گاهی اوقات تیم مصاحبه کننده سراغ مواردی میرود که خیلی درست است و خوب است که در دنیای واقعی استفاده شود اما خوب زیادی ایدهآل گرایانه است در حدی که حتی خودشان هم از آنها استفاده نمی کنند.
همه اینها را گفتم که به اینجا برسم که بیشتر شرکت ها خودشان هم در این موضوع سر در گم هستند و نمیدانند چطور توانایی افراد جدید را ارزیابی کنند. بیشتر آنها خصوصا در سطح مدیریت نمیدانند افراد را از لحاظ مدرک دانشگاهی بررسی کنند یا سابقه کار یا پروژه هایی که شخص در آن شرکت داشته یا اسم شرکت هایی که فرد مورد نظر قبلاً در آنها کار کرده.
شاید به همین دلیل است که شرکت های معروف وزن زیادی برای مصاحبه و سابقه کار قبلی قائل نیستند و مبنای ارتقای شغلی را میگذارند بر اساس مدت سابقه در شرکت خودشان.
اینکه شرکت ها علاقه زیادی به جذب نیرو از طریق Connection ها و نه آگهی استخدام ها، دارند نیز به این موضوع بیربط نیست.
بدبختی اونجاست که خیلی از مدیران و مصاحبه کنندگان مبنای مقایسهای درستی برای اهمیت پروژه ها ندارند و اشتباهات زیادی در این مورد مرتکب می شوند. مثلاً من میروم در جلسه مصاحبه میگویم که سیستم وام ازدواج فلان بانک را من نوشتهام و در مثلاً شرکت سداد یا خدمات انفورماتیک هم اینقدر سابقه حضور دارم. از طریق سیستم وام ازدواج هم تاکنون 900 میلیون تومان وام پرداخت شده. مصاحبه کننده هم تحت تأثیر این اعداد و این اسامی قرار میگیرد و من را آدم توانایی فرض میکند در حالی که به لحاظ فنی من فقط یک Web Application با سه چهار تا فرم نوشتم که حداکثر 15 تا جدول هم در دیتابیس دارد. از اون طرف دوست من که یک Application راجع به اشتراک و نمایش ویدیو در پلتفرم موبایل نوشته به اندازه من مورد توجه قرار نگرفته چون اسم کارش دهن پر کن نیست.
در این موضوع مثال زیاد هست. فلان شخص دیگر میرود میگوید من در فلان شرکت معروف بانکی بودم و در پروژه Core Banking کارهای زیادی کرده ام. مدیر تصمیم گیر هم به این دقت نمیکند که در یک پروژه Core Banking به جز بخشهایی از آن که مربوط به Transaction است و معمولاً هم به چیزهایی مثل Oracle واگذار میشود بقیه Core Banking چیزی بیش از تعدادی Sub System نیست که عمدتا LOB و CRUD محسوب می شود.
در بیشتر مواردی که سراغ دارم این شرکت های کوچک و کارمندان آنها هستند که بیشترین ضرر از این طرز تفکر می بینند. طرز تفکری که در آن ارزش یا بزرگی Business مربوط به Application مبنا قرار میگیرد نه پیچیدگی یا فراوانی فرایند های آن یا Stability و Maintainability پروژه تولید شده. دقت کردهاید که جذب برنامه نویس در شرکت های کوچکتر سخت از شرکت های بزرگتر است؟
اگر مصاحبه کننده و مدیران تصمیم گیر به اندازه کافی با تجربه باشند و نیروی جدید را از جهات دیگری مثل تواناییهای حل مسئله، توانایی تطبیق با محیط های جدید، Soft Skill و… بسنجند که مشکلات کمتری وجود خواهد داشت اما بدبختی اینجاست که آدمهای با تجربه و با دید وسیع به اندازه کافی وجود ندارند.
Comments
سلام افشار
ممنون از مطلبی که نوشتی. جالب بود و بسیار به جا.
من باب اشتراک تجربه، مصاحبه ی من در جایی که در حال حاضر در اون مشغول به این کار هستم این مسیر رو طی کرد.
1) مصاحبه ی تلفنی با Recruiter. که شرایط کلی رو می سنجه و ببینه من با تکنولوژی هایی که مد نظر شرکت هست آشنا هستم یا نه.
2) مصاحبه ی فنی در محل، یک صورت مساله نسبتا ساده دادند، مثل مساحبه ی مالیات با چند ورودی و حالت متفاوت. خواسته شده بود که پیاده سازی به صورت TDD و رعایت نکات شی گرایی در 30 دقیقه صورت بگیره. صورت مساله جوری طراحی شده بود که کمی گنگ باشه و بسنجند ببینند برنامه نویس چه سوال هایی مطرح می کنه.
(بعدا بهم گفتن بخشی از عملکرد اینطوری ارزیابی میشه که برنامه نویس چطوری با کیبرد کار می کنه و .. )
3) بعد اگر از نتیجه راضی باشند سوال های فنی رو مطرح می کردند مثل:
تا حالا با معماری Multi tenant کار کردی؟ و
اما مثلا میزان تجربه با Angular2 مهم نبود چون این مهارت ها قابل دستیابی هستند.
Author
سلام شاهین
یکی از مشکلات بزرگ دقیقا همین مهارت های قابل دستیابی است که پرسیدنش در جلسات مصاحبه جایی ندارد. مهارت هایی که طی چند روز به دست می آید را نباید پرسید بلکه فقط باید مطمئن شد که فرد مورد نظر اهل یادگیری هست یا نه.
من دیدم که توی جلسه مصاحبه می پرسند که آیا شما کار با ELMAH را بلد هستید!؟
یه چیزی که باید در نظر داشت برای شرکت های بزرگ اینه که به خاطر حجم زیاد درخواست های استخدامی که به سمتشون میاد اونا مجبورن این فرآیند رو به نحوی مکانیزه کنند تا در وقت و هزینه شون صرفه جویی کنند و به همین دلیل ممکنه لزوما استخدام خوبی نداشته باشند یا فرد مناسبی رو حتی گزینش نکنند چون مثلا طرف کمتر از 3 سال سابقه کار داره در حالی که ممکنه در همین مدت از یه داوطلب دیگه با بیش از 5 سال سابقه کارآیی بیشتری برای شرکت داشته باشه. پس اونا مجبورن که یک ماشین استخدام با فرامینی از پیش تعیین شده بسازند.
مطلبی رو چند وقت پیش خوندم که به اشتراک گذاریش اینجا خالی از لطف نیست، مربوط هست به تجربه فردی با استخدام کننده های آمازون و ایمیلی که با لحن بسیار صمیمی براش ارسال کرده بودند و ایشون هم درخواست مصاحبه رو قبول می کنه و اما در جلسه مصاحبه اوضاع طور دیگه ای از آب در میاد. نتیجه اینکه ایشون در جواب ایمیل های استخدامی این شرکت های بزرگ فقط پاسخ میده که به شرطی درخواست رو قبول می کنم که توسط مدیر مستقیم خودم که قراره در شرکت باهاش کار کنم مصاحبه بشم!
http://www.yegor256.com/2017/02/21/say-no-to-google-recruiters.html
Author
این وبلاگ را تا حالا چند بار دیدم و مطالبی ازش خوندم و با نظرات رادیکال نویسنده اون آشنا هستم. تجربه های زیادی هم در مصاحبه دادن و مصاحبه گرفتن داشتم و با وجود اینها باید بگم که با خوندن این مطلب واقعا غافلگیر شدم. موقعیت شرح داده شده در بلاگ برام خیلی ملموس بود.
البته من فکر می کنم شرکت خدمات انفورماتیک، توسن، سداد، همکاران سیستم، دیجی کالا و امثالهم در قیاس با گوگل و فیسبوک و آمازون شرکت های خیلی کوچک تری هستند و قاعدتا باید خیلی چابک تر عمل کنند
سلام
مطلب خوب و بجایی بود. البته به نظرم جا دارد در مورد مصاحبه اجتماعی و روانشناسی که توانایی هایی مانند قابلیت کار کردن با تیم، سازگاری و مدیریت پذیری و ارزش هایی مانند صداقت و درستکاری هم ارزیابی می شوند صحبت شود.
در مورد شرکت هایی که نام بردید به نظر می رسد که فیس بوک و گوگل و آمازون بسیار چابک تر از این ها هستند. این شرکت های ایرانی از نظر تکنولوژی نرم افزار حرفی برای گفتن ندارند و تنها مدل کسب و کار و مدیران کسب و کار و سرمایه خوبی دارند.
Author
مصاحبه اجتماعی و روان شناسی و بقیه مواردی که اشاره کردید در شرکت های خارجی به نام Soft Skill شناخته می شوند. تعداد قابل توجهی از شرکت های کوچک (زیر 20 نفر) که تا حالا تجربه کرده ام به این موضوع وزن زیادی نمی دهند و بیشتر دنبال کسی هستند که هر چه سریع تر شروع به کار کرده و مشکل کمبود نیرو در پروژه یا کمبود های تکنولوژیک شرکت را برطرف کنند
Pingback: تجربه های خوب از فرایند استخدام - وبلاگ افشار محبی