تسک فنی کوئرا

سلام سلامبخاطر استقبال خیلی خوب بچها توی PV و گروه IDF تصمیم گرفتم این یکی تسک ام رو هم خیلی زودتر بنویسم ولی چون زمان انجام تسک وی پی ان خوبی برای سیستمم نداشتم، دستم برای ریسرچ بیش از چیزی که فکر کنید بسته بود جوری که من حتی نتونستم خود سایت کوئرا رو از لپ تاپ ببینم.ولی نگران نباشید این ویرگول قراره خیلی خلاصه تر باشه پس حتما تا اخر بخونیدش و مثل ویرگول قبلی هر نظر یا انتقادی داشتید بهم بگید.راستی تیم کوئرا ازم خواست اسم سایت رو نیارم پس هرجا X دیدین خودتون یه سایت کاریابی ایرانی رو فرض کنید.تسک ارزیابی برای موقعیت شغلی طراح محصول X یکی از پلتفرمهای کاریابی در ایران است که یکی از خدمات آن، سنجش شخصیت و مهارتهای نرم کارجوها از طریق برگزاری آزمونهای شخصیت شناسی است. همچنین میدانیم یکی از مراحل مهم در فرایند استخدام نیروهای برنامه نویسی، سنجش مهارت فنی آنها از طریق مصاحبه های فنی است. اما این مرحله میتواند طولانی و زمانبر باشد و فرایند استخدام را سخت کند. حتی ممکن است فرصت مهارت سنجی تعدادی از کارجوهای مستعد فراهم نشود و شرکت آنها را از دست بدهد. از این رو، ما از شما میخواهیم که به X امکان دیگری در خصوص برگزاری آزمونهای فنی برای برنامه نویسها با تخصصهای مختلف اضافه کنید. از آنجا که شما به پنل کارفرمایان X دسترسی ندارید، ما برای شما تصاویری از جریانهای کاربری موثر در انجام این تسک را در این فایل آورده ایم.و نکات مهم زیر رو باید رعایت میکردم:● لزومی به اضافه کردن این امکان در جریانهای معرفی شده وجود ندارد و شما مختارید به تمام صفحات وبسایت X برای اضافه کردن این امکان فکر کنید. ● الزام است همه ی مراحلی که در بررسی اضافه کردن امکان آزمون مهارت سنجی آنلاین طی نموده اید را برای ما مستند کرده و روند فکری خود را در یک فایل pdf به ما ارائه کنید. ● فایل نهایی شما باید شامل فرایند حل مسئله یعنی خلاصه هایی از تحقیقات UX ،ایده پردازی، نمونه سازی با اسکچ یا وایرفریم Low-Fi و در نهایت طراحی رابط کاربری حداقل یکی از صفحات مهمِ راه حل باشد.مهلت انجام ما برای انجام این تسک ۴۸ ساعت از زمان دریافت آن در نظر گرفته ایم. توجه داشته باشید که آنچه برای ما اهمیت زیادی دارد، نه جواب نهایی بلکه روند حل مسئلهی شماست.بله درست خوندید بدون وی پی ان و 48 ساعت وقت! دیگه خودتون حدس بزنید که چقد من تلاش کردم تا آروم باشم و بتونم بهترین خودم رو توی این تسک ارائه کنم ولی اخرش انقدر اعصابم خورد بود که یادم رفت UI یکی از طرح ها رو بزنم:(در هر پروژه ایی من قبل از ریسرچ سعی میکنم مسئله را اول بفهمم و شرایط و فرضیه ها رو بررسی کنم و وقتی حرف از استخدام زده میشه ما با 2دسته پرسونای اصلی طرف هستیم: • کارجو (که بسته به نوع پوزیشن ممکنه نیاز، مشکالت و دغدغه های متفاوتی داشته باشند. چون دیتایی ندارم مطمئن نیستم ولی فرضم بر این اساس که مثال برنامه نویس ها با بچهای پشتیبانی ذهنیت و دیدگاه متفاوتی دارند.) • شرکت (هر کدوم از بچهای شرکت با فرد تازه استخدام شده مستقیم یا غیر مستقیم ارتباط داره: ولی مدیران ممکنه دغدغه حقوق داشت باشند که آیا این فرد ارزش این حقوق را داره و برای این منظور ممکنه از منابع انسانی و تیم لید اون بخش کمک میگیره. منابع انسانی نیاز داره مطمئن بشه فرد استخدام شده با فرهنگ و شرایط شرکت اوکی هست. تیم لید یا هم تیمی فرد نیاز داره بدونه ایا کارجو با متد یا روش به خصوص شرکت کار کرده؟ تجربه ایی داره؟ مثلا در یه شرکتی، طراحی رو استخدام میکنن که ماین ست اون فرد کاملا Business Center Design هست (معمولا شرکت های B2B این جوری دیدم) یا در کد نویسی از معماری به خصوصی استفاده میکنه و به طور کلی نیازه که از مهارت های فرد تازه استخدام شده اطمینان حاصل کنند. ولی نیاز داشتم یکم ریز تر بشم و همدلی بیشتری به خرج بدم:بچها من با بالاترین کیفیت خروجی میگیرم ولی اخرش قابل خوندن نیست و از این بابت شرمندم و همین جوری از من قبول کنید:)من فرض کردم تیم ریسرچ X متوجه شدند که اگر ازمون فنی را اضافه کنند شرایط بررسی رزومه ها توسط کارفرماها و مدیران رو جهت پیدا کردن فرد مناسب بهبود و تسریع می کنند و به راه های دیگری جهت بررسی سریع تر رزومه ها فکر نکردم.(راستش وقتش رو هم نداشتم که حتی ریسرچ کنم و با فرض نتایج ریسرچ فرایند رو طی کردم) ولی سوالات زیادی برای من به وجود امد:• آیا این آزمون ها به تنهایی برای سنجش میزان مهارت کافیه؟ • زمان آزمون رو چجوری بفهمیم مناسبه؟ • چندتا سوال باشه مناسبه؟ • آزمون چگونه باشند که کارجو خسته یا دچار استرس نشه؟ • سر یه ساعت همه با هم ازمون بدن یا هرکی هر زمان که براش مناسب تر بود؟ • چی کار کنیم که کارجو تقلب نکنه؟ و مطمئن بشیم خودش این کار رو کرده نه که کدی از استک اور فلو اورده باشه؟ • ایا میشه همه ی مفاهیم برنامه سنجی رو در یه ازمون سنجید؟ شرایط هر پروژه متفاوته و روی حل مسئله و چالش هایی که ایجاد می کنه تاثیر میزاره چگونه میخواهند اینو ارزیابی کنند؟ • ارزیابی خود ازمون باید به چه صورت باشه؟ • با توجه به منتشر شدن جواب ها نیازه که سوالات هردفعه آپدیت بشه آیا به صرفه است که X هردفعه شخصی را برای این کار در نظر بگیره؟ یا بهتره هر شرکت خودش آزمون خودش را طراحی کنه؟(ساید بیزینس هست و بستگی به بیزینس پلن داره) آیا هر برنامه نویسی میتونه سوال استاندارد و درست طراحی کنند که قابل اطمینان باشه؟ • آیا میشه مرز مشخصی برای لول بندی مشخص کرد؟) مثال فلان مفهوم رو بلد بود جونیوره یا میدلول؟ ( یا ما هر کسی که آزمون رو پَس کرد به مرحله ی مصاحبه برسه؟ پس این جوری تفکر حل مسئله چی میشه؟ • چی کار کنیم که شرایط محیطی کمترین تاثیر را بر روی کارجو داشته باشه؟ ایا این شرایط قابل کنترل هست؟ اگر کارجو پریود بود یا اقوام نزدیکش رو در اون زمان از دست داده بود چی؟ میشه احتمال شانس رو کم کرد که منصفانه تر بشه؟ • رزومه که تایید شد کارجو ازمون بده یا قبل از ارسال رزومه ؟و برای هر کدوم از این سوالات با توجه به وقت کم و نبود اینترنت و دانش کافی در این زمینه نتونستم جواب های درست و معتبری پیدا کنم ولی براساس فرضیه ها و فیدبک هایی که از بقیه خوندم جواب هایی رو نوشتم ولی هر کدوم به نظرم یه اسپرینت حداقل یک ماه است که باید ریسرچ کافی با متخصصان و کارجوها داشت تا بتوان ایده یابی های زیادی انجام داد و جنبه های مختلف هر سوال رو بررسی کرد. (غیر از این که ممکنه سوال های دیگری هم وجود داشته باشه که توی این مدت به ذهن من نرسیده و توی ریسرچ میتوان فهمید یا موقع تست که بعدا باید بهشون رجوع کرد.)چون وی پی ان ویندوز وصل نمیشد محدود شدم به ریسرچ با گوشی و هر روشی که فکر میکردم میشه با گوشی جواب این سوالات رو پیدا کرد چنگ میزدمولی تا اینجا متوجه شدم 4 مدل میشه سوال کرد: • سوالی که دیباگ کنند کد رو (ظاهرا زمان بر و اعصاب خوردکنه)• سوالی که خروجی را میپرسه (الگوریتمی) • سوالی که خروجی فایل فابل نمایشه (بیشتر مربوط به فرانت کارهاست)• یا سوال براساس تست های برنامه نویسی ارزیابی میشه (که متوجه شدم کوئرا از همین روش استفاده می کنه.)بعد یه سوتی دادم که به نظرم سوتی بدی نبود، این که انقد استرس وقت و اینترنت داشتم که همون دو دقیقه که وصل شدم به جای X، سایت ایران تلنت رو دیدم:/و متوجه شدم آزمون های برنامه نویسی ایران تلنت زیاد مورد پسند کاربران نیست و تعداد کمی شرکت کردند.ولی چه مشکلی وجود داره که افراد در این آزمون ها شرکت نمی کنند؟ چه نیازی رو برطرف نمی کنه؟ آیا اهمیت شرکت در آزمون ها برای کارجوها شفاف نیست؟ برای جوابش سعی کردم دوباره از توییتر، لینکدین و دوستان برنامه نویسم استفاده کنم. که برای ایران تلنت چیزی پیدا نکردم ولی نمونه مشابه و پر طرفدار آزمون های تکنیکال در ایران کوئرا بود پس سعی کردم جواب سوالاتمو از کوئرا پیدا کنم تا بتونم برنامه نویس ها و این مدل ازمون ها رو بهتر درک کنم. متوجه شدم افراد از ازمون های کوئرا استفاده میکنند چرا که احتمال استخدام رو برای آن ها افزایش میده و چند نفر از این که استخدام نشده بوند شاکی بودند. در صورتی که برای ایران تلنت ظاهرا ارتباطی بین استخدام و این ازمون ها وجود نداره.بعضی ها این ازمون ها رو برای محک زدن دانش خودشون و یا شواف کردن نتیجه اخر استفاده میکردند. (فکر میکنم راه دیگه ایی جهت نشون دادن مهارت برنامه نویسی خودشون به جز این ازمون های کوئرا پیدا نمی کردند ولی بعضی ها برای این کار تمرکزشون روی Stack over Flow بود. (بعضی افراد از سرعت کم اینترنت و دانلود پیش نیازها خبر میدادن. بعضی افراد توی کوئرا با UX Writing مشکل داشتن مثلا واژه ی "محیط حرفه ایی" نمی دونستن چیه و یا بعضی ها توی یادگیری اولیه مشکل داشتن و نمی دونستن چجوری از جوابی که گرفتن امتیاز دریافت کنند.(یکم برای عجیب بود چون برنامه نویس ها های تک هستن و برام جالب شد برم فلوی کوئرا رو چک کنم تا منظورشو بفهمم و تا این قسمت امدم پیدا کنم نت قطع شد -.- ولی صفحه آزمون ها رو دیدم و فکر میکنم این "محیط حرفه ایی" و پیچیده بودن فلو در اپدیت های جدید بهبود پیدا کرده.) بعضی افراد دوست داشتن جواب ازمون هایی که تموم شده را ببین و این جوری فکر میکردن میتونن از بقیه یاد بگیرن و پیشرفت کنند. ولی برای استخدام چی؟ با صحبت با چندتا برنامه نویس متوجه شدم این آزمون ها اگر استاندارد طراحی بشن اتفاقا چالشی و جذاب هستند ولی بچه های فرانت کار برای مصاحبه مناسب نمی دونستن چرا که آزمون های موجود بیشتر مدل دوم و الگوریتمی هستند. پس همین مشکل رو انتخاب کردم و نتونستم مشکلات دیگه ایی پیدا کنم که تازه بخوام تو ماتریس بزارم و الویت بندی کنم.با کمک متد How Might We تصمیم گرفتم مسئله را اول شفاف کنم و سپس به سراغ ایده یابی برم: چطور میتوانیم ما برای بچه های فرانت اند آزمونی متناسب با مهارت های آنها طراحی کنیم؟(متاسفانه توی این زمان با تعداد کمی مصاحبه کردم و دانش زمینه ایی کمی پیدا کردم و به نظرم باعث شد نتونم ایده های زیادی داشته باشم که بخوام توی ماتریس الویت دهیش کنم و تنها ایده ایی که به ذهنم رسید این بود که تسکی تحت عنوان طراحی یه پیج یا Web application بر اساس زبان مورد استفاده شرکت بدهند و کارجو طراحی کنه و خروجی نهایی رو کپی کنه. همچنین بتوان کد نهایی را کامپایل کرد تا خروجی نهایی برای شرکت قابل نمایش باشه، این قابلیت کار رو برای شرکت ها هم راحت می کنه که یکی یکی نخواهند کد رو خودشون اجرا کنند ، همچنین آشنایی برنامه نویس ها با مفهوم رابط کاربری رو هم میتونن به راحتی بررسی کنند. (کسی از برنامه نویس توقع نداره مفاهیم UI را بدونه ولی اشنایی نسبی، عالوه بر کد تمیز و اصولی میتونه مفید باشه)ولی متوجه شدم به این مسائل هم باید توجه کرد: چون فرایند استخدام و اپلای برای کارجو زمان بر و استرس زا هست بهتره بعد از ارسال رزومه، کارجو اگر شرکت ازمونی را مطرح کرده بود انجام بده و نتیجه ازمون و رزومه برای شرکت ارسال بشه و همزمان بررسی این دو تا مورد بتونه به شرکت جهت ارزیابی فرد جهت مصاحبه تکنیکال یا دفاع کمک کنه. ولی مسئله ایی که پیش میاد این که بعضی افراد متناسب با فرهنگ اون سازمان نیستن و ممکنه در همون مصاحبه HR رد بشن. آیا درسته اول زمان بزاره ازمون رو بده و بعد در مصاحبه HR رد بشه؟ (فکر میکنم خیلی بستگی به شرایط و الویت دهی اون شرکت داره) و یا فردی در مصاحبه HR قبول بشه ولی ازمون رو به هر دلیلی نتونه به درستی پاس کنه ولی رویکرد حل مسئله ی خوبی داشته باشه که در همون جواب غلط مشخصه. چجوری میتونیم یه شانس مجدد به این افراد بدیم؟ و یا اصلا دوباره شانس دادن درسته؟ به نظرم این نکات رو باید در فلوی ثبت اگهی دخیل کنیم مثال از شرکت بخواییم فرایند استخدام خودش رو مشخص کنه یا تعیین کنه ازمون بعد از کدوم مرحله باشه. مسئله دومی که پیش میاد اینه که کارجویی که سریعا به دنبال شغل هست چی؟ چون به اصطلاح نمی تونه کیلویی رزومه بفرسته و شانسشو برای همه ی شرکت ها سریع امتحان کنه ولی اگر از دید بیزینس نگاه کنیم اگر شرکتی ارزشش رو داشته باشه و نخواد درگیر رزومه همه ی افراد قرار بگیره ممکنه این وقت گیر بود فرایند اپلای اتفاقا سودمند باشه.در نهایت با توجه به دانش کمی که در این مدت بدست اوردم تصمیم گرفتم کلی نگاه کنم و وارد مسائل خود آزمون نشم. مثلا چجوری ازمون منصفانه برگزار کنیم؟ یا چجوری ازمونی بدون تقلب برگزار کنیم؟ یا چجوری اطمینان بیشتری نسبت به درستی سوالات مهارت سنجی بدست بیاریم؟به فلوی X صفحه ی " انتخاب فرایند استخدام " اضافه کردم که بعد بتوان با گرفتن فیدبک، تست و مصاحبه بهبودش داد.همان طور که نوشتم تصمیم این که انتخاب فرایند اول فلو باشه یا قبل از انتخاب پلن به نظرم تصمیمی نیست که من طراح به تنهایی بگیرم و نیاز به تست کاربردپذیری هست ولی من با توجه به صورت سوال که آزمون بود فیچر آزمون رو الویت قرار دادم و اول فلو گذاشتم. و برای وایرفریم با توجه به برداشت کلی من از دیزاین سیستم X طرح زیر رو پیشنهاد کردم:نکاتی که دوست داشتم اگر وقت داشتم بیشتر بهشون میپرداختم : همان طور که بالا گفتم هر کدوم از مشکالت و سوالات رو جدا بررسی میکردم. دوست داشتم با مدیران ارشد صحبت میکردم ولی با توجه به شلوغ بودن وقت آنها و دیر جواب دادنشون نتونستم مشکلات و نیازهای آنها رو متوجه بشم و کل فرایند رو از دید برنامه نویس ها جلو بردم. بررسی میکردم اون ارزیابی که توی فوتره با ارزیابی که توی منو هست متفاوته ؟ (شاید باورتون نشه ولی اینترنت همراهیم نمی کرد.) نمی دونم مشکل ازمون فرانت اند ها رو کوئرا براش جوابی در نظر گرفته یا نه ولی یکی از دوستام روز اخر گفت ظاهرا دارید ولی من چیزی پیدا نکردم.و در نهایت هنوز خیلی جا دارم که با این حوزه کاریابی، استخدام، آزمون و برنامه نویس ها آشنا بشم و سعی کردم با توجه به سابقه کم خودم توی برنامه نویسی و مصاحبه ایی که با دوستام داشتم، بهترین خودم رو انجام بدم.خوب خسته نباشم، خیلی سعی کردم جز داکیومنتی که فرستادم چیزی اضافه نکنم که طولانی نشه ولی دلم نمیومد توی نوشتن کم بزارم و میخواستم برای همه شفاف باشه.ولی الان که تا اخرش همراه من بودین براتون لینک فایل فیگما رو گذاشتم تا اگر عکس ها براتون بی کیفیت و واضح نبود جبران بشه.?و در نهایت همه جا منو میتونید با ای دی bawhari@ پیدا کنید و اینم سایت منه bawhari.design اگر نیاز به همکار توی شرکت یا پروژه ایی داشتی خوشحال میشم باهات همکاری کنم و ازت یاد بگیرم :)