Senior System Programmer at Avalanche Studios
پیدا کردن شغل مناسب در شرکتهای بازیسازی AAA اروپا
هدف این متن انتقال تجربیات من در پیدا کردن کار توی شرکتهای بازی سازی AAA توی اروپاست و تاکید بر اینکه AAA در دسترستر از اون چیزیه که از دور به نظر میرسه. طبعا اینها فقط تجربیات من و از نگاه من هستن و لزومی نداره همه جا اینطوری باشه.
تجربهی مصاحبه با شرکتهای بازی سازی AAA
اولین سوال قبل از شروع به اپلای کردن این بود که مراحل مصاحبهی این شرکتها چی هست؟ چیا میپرسن؟ چیا رو دوست دارن که توی رزومه بیارم؟ خودم رو برای چه چیزایی باید آماده کنم؟ برای اینکه جواب اینا رو بتونم در بیارم، توی glassdoor و لینکدین خیلی گشتم. برای پیدا کردن تجربیات افراد از مصاحبهها و شرکتها glassdoor رو میخوندم. برای آشنا شدن با سطح مورد نیاز برای شرکتها و پوزیشنهای مختلف، لینکدین اونایی که تو سطوح مختلف توی اون شرکتها کار میکردن رو بررسی میکردم. در آخر هم برای اینکه وضعیت بازار و وظایف هر موقعیت رو بفهمم، صفحهی موقعیتهای شغلی هر شرکت رو نگاه میکردم و با ترکیبش با اطلاعات glassdoor (سوالات مصاحبهها، وضعیت شرکت و میزان حقوق) و لینکدین (رزومهی افرادی که در حال حاضر توی اون موقعیت کار میکنن) شانس خودم برای هر موقعیت رو حدس میزدم.
مصاحبهها معمولا به این صورت هست که اول HR باهاتون تماس میگیره و خط قرمزها و کلیات رو بررسی میکنه، بعد یک یا دو مرحلهی فنی سطح پایین یا بالا، بعد یک پروژهی برنامهنویسی، بعد دوباره یک یا دو مرحله فنی در مورد پروژهای که انجام دادید و صحبت با بقیه اعضای تیم، بعد صحبت با یکی از مدیران اجرایی رده بالای شرکت و در نهایت صحبت دوباره با منابع انسانی. بعد از این مرحله، اگر تمامی مراحل قبلی رو با موفقیت طی کنید، بهتون قرارداد کاری رو میدن. بسته به شرکتی که اپلای میکنید، ممکنه مراحل بالا ترتیب یا تعدادشون متفاوت باشه. سعی میکنم که هر مرحله رو (با در نظر گرفتن NDA) با مثالهایی توضیح بدم. به صورت میانگین، شرکتهای بزرگ ۵ مرحله مصاحبه دارن.
معمولا شرکتها زمانی بین یک هفته تا چند ماه برای جمع کردن رزومه صبر میکنن. بسته به شرکت ممکنه که افرادی فقط از منابع انسانی یا به کمک بعضی از نیروهای فنی و یا حتی به کمک نرمافزارهای بررسی رزومه، تعدادی از رزومهها برای ادامهی مراحل مصاحبه انتخاب بشن. از اونجایی که رزومهها رو معمولا آدمهای کمتر فنی و پشت سر هم چک میکنن، شاید کمتر از یک دقیقه برای هر رزومه وقت بزارن! یا حتی قبل از بررسی از فیلتر نرمافزار رزومهها رو رد کنن. در نتیجه خیلی مهمه که رزومهی خلاصه و روونی داشته باشید.
مصاحبه HR مرحله اول:
معمولا زمان این مصاحبه نیم ساعته و هدفش چک کردن خط قرمزهای شرکت. مثلا در مورد میزان تجربهی فرد تو حوزههای مورد علاقهی شرکت صحبت میشه. اینکه چند سال با هر زبون برنامه نویسی کار کردید، چه پروژههایی انجام دادید، چه تکنولوژیهایی بلد هستید، چقدر حقوق میخواید، سطح تسلط به زبان، چقدر مشتاقید که به اون شرکت برید، نیاز به ویزا خواهید داشت یا نه و به صورت کلی چیزهای ساده و اولیه. شما هم فرصت خواهید داشت که سوالاتتون رو از منابع انسانی بپرسید.
مصاحبههای فنی:
معمولا چندین مرحله مصاحبهی فنی خواهید داشت. اولین بار معمولا خیلی وارد جزییات نمیشن. مثلا توی صحبت در مورد تجربیاتتون، ممکنه در مورد روش پیادهسازی ماژولها، راه حلهای احتمالی بعضی از مشکلات، نظراتتون در مورد روش حل مسائل معروف و ... بپرسن. مصاحبههای فنی میتونه چندین مرحله باشه. ممکنه تعداد مصاحبه کنندهها بیش از یک نفر باشه. همچنین حداقل یکی از مراحل، مصاحبهی فنی در مورد مسائل ریزتر خواهد بود. سوالات هندسی مثل فاصلهی اشکال با هم و نقاط تقاطعشون، سوالات جبری/احتمالاتی مثل تعداد وقوع اتفاقات مختلف، سوالات الگوریتمی مثل پیدا کردن یک مسیر یا یک الگو، پیدا کردن بهترین جواب مناسب در فضای حالت تعریف شده، همچنین پیچیدگی زمانی الگوریتمهای مختلف موجود یا الگوریتمهایی که تو مصاحبه موردشون بحث میکنید، سوالات برنامهنویسی از شیگرایی، ارثبری، حافظه، روشهای بهینهسازی و خلاصه هر چیزی که به ذهنتون برسه ممکنه که پرسیده شه. سوالات سطح بالاتر فنی/تجربی اعم از نحوهی تعامل با designerها، تعامل با producer، راهحلهای احتمالی برای حل مشکل در شرایط مختلف هم معمولا تو مصاحبهها پرسیده میشه. ممکنه با بقیه اعضای تیمی که در آینده باهاشون کار خواهید کرد هم جلسه داشته باشید و اونا هم از نگاه خودشون، سوالهایی بپرسن و ببینن که آیا میتونید در آینده همکارای خوبی برای هم باشید یا نه. بعد از انجام پروژهی برنامهنویسی، معمولا حداقل دقایقی در مورد انگیزههای طراحی، بقیهی راهحلهای ممکن و سوالاتی از این دست هم پرسیده میشه.
پروژهی برنامهنویسی:
این پروژه ممکنه هر چیزی باشه. از نوشتن بازی کوتاه از ابتدا، تا refactor کردن قطعه کد با اهداف مختلف (readability, portability, performance, …). حالت دیگه امتحان دادن توی سایتهای آنلاین هست. حتی ممکن ازتون بخوان که screen share کنید و همونجا در حضور چندین نفر دیگه سوالاتی که بهتون میگن رو حل کنید. زمان انجام دادن پروژه، ممکنه از چند ساعت تا چند هفته باشه. توی بعضی از پروژهها، مخصوصا وقتی از ابزار آنلاین استفاده میشه، شما میتونید هر وقت که خواستید پروژه رو شروع کنید ولی زمان انجام پروژه محدود خواهد بود. بعضی از شرکتها زمان بیشتری میدن و میگن که اندازهی فلان ساعت برای پروژه وقت بزارید.
مصاحبه با مدیران اجرایی/مدیر منابع انسانی:
معمولا توی مرحلهی آخر، مصاحبهی سطح بالایی در مورد خصوصیات فردی، میزان شناخت شما از خودتون و علایقتون مصاحبهای خواهید داشت. این مصاحبه فنی نیست و سوالاتی از این دست که مشکلاتتون رو چطوری حل میکنید، چه ایرادهایی که توی خودتون دیدید و حلش کردید، اهدافتون برای آینده چی هست و از این دست سوالات personal developmentای ازتون خواهند پرسید.
مصاحبه با Recruiter:
اصطلاح Recruiter یا head hunter ها افرادی هستن که دنبال گزینههای پر پتانسیل میگردن و به شرکتها معرفی میکنن. اگر اون فرد در شرکت استخدام بشه، (در اورپا) شرکت مقداری پول (معمولا درصدی از حقوق فرد) رو به recruiter پرداخت میکنه. HR یا Talent acquisition شرکتها هم ممکن هست این کار رو بکنن و به شما پیشنهاد بدن که بیاید و توی شرکت اونها مصاحبه بشید. بسته به رابطهی recruiter با منابع انسانی شرکتها، ممکن هست که صحبت با recruiter به جای صحبت اولیه با منابع انسانی به حساب بیاد.
قرارداد NDA:
قبل از به اشتراک گذاشتن اسرار شرکت با شما توی مصاحبهها، توافقنامهای موسوم به non-disclosure agreement (NDA) یا به فارسی تعهد حفظ مهرمانگی اطلاعات/منع افشا اطلاعات رو باید امضا کنید. معمولا این قرارداد قبل از شروع مرحلهی تست باید امضا بشه ولی بسته به شغل و شرکت، ممکنه در مراحلی زودتر هم نیاز باشه. این قرارداد متنی حقوقیه که طبق اون شما مجاز به انتشار اسرار سری شرکت، برای مدت تعیین شده (بین ۱ تا ۵ سال) نیستید. این اسرار به صورت خلاصه شامل تمامی اطلاعات شرکت که خود اون شرکت به صورت عمومی منتشر نکرده میشه. اطلاعاتی از قبیل سوالات مطرح شده، سورس کد تست برنامهنویسی، ویژگیهای فنی/غیر فنی بازی جدید، عکس، فیلم و صوت از مصاحبه و ... میشه. اگر به هر دلیلی میخواید در مورد مصاحبتون با کسی صحبت کنید، بهتره که آخر مصاحبه بپرسید که کجاهای صحبتمون سری به حساب میومد. میزان جریمهی انتشار این اطلاعات ممکنه در خود قرارداد نوشته شده باشه یا بسته به میزان خسارت وارد شده به شرکت توسط دادگاه تعیین خواهد شد. شما فقط بعد از اتمام مدت قرارداد یا انتشار اون اطلاعات توسط شرکت اجازهی به اشتراکگذاری اطلاعاتتون رو دارید.
امضای NDA/قرارداد:
در امضای قرارداد از راه دور چند حالت میتونه که اتفاق بیفته:
- فایل معمولی PDF قرارداد برای شما ارسال شده که شما میتونید اون رو پرینت، امضا و اسکن کنید و براشون بفرستید یا عکس امضای خودتون رو به فایل اضافه کنید.
- استفاده از fill & sign در adobe reader که اینجا نحوهی استفاده ازش رو میتونید ببینید.
- امضا کردن در سایتهای آنلاین مثل docusign یا adobe. مثل مرحلهی قبل با ترکیب اسم و امضا (به صورت عکس یا امضا در محل تعیین شده)
بعد از طی کردن موفق همهی این مراحل و راضی بودن تمامی آدمایی که باهاتون مصاحبه کردن، قرارداد رو براتون میفرستن و شما میتونید که قبولش کنید یا روی جزییاتش چونه بزنید.
تجربیات و نکات مهم از نظر "من"
تا اینجای متن، کلیاتی مطرح شد که تقریبا برای همهی شرکتها (بازی سازی/تکنولوژیک) یکی هست. ممکنه که تعداد و ترتیب مراحل اندکی متفاوت باشه، ولی به صورت کلی باید انتظار همچین مراحلی رو داشته باشید. از اینجا به بعد نظرات و تجربیات خودم رو مینویسم و سعی میکنم تا جایی توضیح بدم که بتونید برای خودتون شخصیسازی کنید. مشخصا تمامی نکاتی که مطرح میشه تجربیات و نظرات منه و لزوما قرار نیست که همیشه به نتیجه برسه یا برای همه درست باشه. تمام هدف ادامهی متن توضیح دادن تفکر موجود و روشهایی هست که بتونید داستان زندگیتون رو به روشی قابل فهم برای آدمهای مختلف بیان کنید و اونقدر شخصی و مفهوم باشه که بهتون اعتماد کنن و شغلی که دوست دارید رو بهتون پیشنهاد کنن.
احتمالا پیدا کردن سرنخ و نقطهی شروع برای اپلای اولین مشکل هست. اینکه کدوم شرکت/موقعیت/سطح/کشور اپلای کنم و از چه سایتهایی اپلای کنم؟
من اول توی سایت شرکتها، موقعیتهای شغلیشون رو خوندم و با هم مقایسه کردم. اینکه برای سطوح مختلف تو شغلهای مختلف چه تجربههایی رو چند سال نیاز دارن و من چطوری باید تجربیاتم رو بیان کنم که نشون بده فاکتورهای مختلف برای موقعیتهای مختلف رو دارم؟ به عنوان مثال برای gameplay programmer شدن، بعضی از شرکتها تجربهی قبلی AAAمیخوان که قاعدتا شانسی برای این موقعیتها نداشتم. در عوض بقیه، تجربهی gameplay programmer در هر سطحی رو قبول داشتن و در کنارش ریاضیات قوی، آشنا بودن با یک یا تعدادی انجین، آشنا بودن با ماژولهای مختلف مثل انیمیشن و فیزیک و گرافیک و ... رو میخواستن. در نتیجه من باید سعی میکردم توی رزومه به نحوی تمام این موارد رو اشاره کنم. نکتهی مهم اینه که اگر بالای ۳ تا ۵ سال سابقهی کار جدی توی حوزهی گیم داشته باشید، برای خیلی از موقعیتهای شرکتهای AAA شانس خواهید داشت. اگر تجربتون خارج از حوزهی گیم هست یا زیر ۳ سال سابقه داشته باشید، شانستون صفر نیست ولی باید بیشتر بگردید و شاید از هر چندتا شرکت، یه موقعیت باشه که شما بتونید اپلای کنید. شاید تو این شرایط بهتر باشه که با شرکتهای AA یا شرکتهای موبایلی شروع کنید که به نسبت AAA سادهتر میگیرن.
سوال مهم بعدی این بود که برای چه سطحی باید اپلای کنم؟ متاسفانه ما توی ایران خیلی سریع به سطوح بالا و حتی مدیریت میرسیم. من در زمانی که (با توجه به استاندارد شرکتهایAAA) حداکثر mid-level بودم، به عنوان مدیر فنی تیمی ۳۰ نفره، در شرکتی که بیش از ۱۰۰ کارمند داشت استخدام شدم! یا خیلی از کارهای جدیای که کردم در زمان دانشجویی بوده. یا بعد از سالها مدیریت کردن در یک حوزه، در چندین حوزهی دیگه به عنوان برنامهنویس کار کردم. در ادامه توضیح خواهم داد که چرا اینها مشکل ساز خواهند بود. برای شروع باید تصمیم میگرفتم که در چه سطحی باید اقدام کنم. به عنوان یک قانون کلی، جونیور زیر ۲ سال سابقه کار ، مدیور زیر ۵ سال و سنیور بالای ۵ سال سابقه کار داره.
در مورد انتخاب کشور بحث میتونه خیلی مفصل باشه و خارج از هدف این متنه. به صورت کلی، مواردی مثل آب و هوا، زبان، آشنایی مردم با انگلیسی، فرهنگ، پذیرش خارجی، هزینهی زندگی، سختگیری برای صدور ویزای اولیه، شرایط اقامت گرفتن و ... میتونه در انتخاب تاثیرگذار باشه. متاسفانه تعداد شرکتهای AAA توی کشورها خیلی محدوده و سرمایهگذاری فقط روی یکی دو شرکت ریسک خیلی زیادی داره. ممکنه موقعیت مناسب شما الان موجود نباشه یا رقیبی پیدا بشه که تجربهی ساخت چندین بازی AAA رو داشته باشه و شما با هر رزومهای شانسی در برابرش نداشته باشید! در هر صورت به طریقی باید شانستون رو بیشتر کنید. مثلا محدود کردن حوزهای که اپلای میکنید در کشورهای مختلف، یا محدود کردن کشور و اپلای در حوزههای مختلف حتی خارج از صنعت گیم.
بعد از تصمیم گیری موقعیت، سطح، کشور، شرکت و ...، نوبت آماده کردن رزومه، لینکدین، گیتهاب، وبسایت شخصی، portfolio، motivation letter و ... میرسه. در مورد هر کدوم میشه کلی بحث کرد و هزاران راهنما براشون موجوده. در ادامه جزییات مهمی که به من کمک کرد رو خواهم گفت.
در نهایت هم تصمیم به اینکه از کجا اپلای کنم؟ به نظر من ۳ روش کلی وجود داره.
- لینکدین: احتمالا جامعترین گزینه لینکدین هست. تبلیغات اکثر شرکتها توی لینکدین هست. یا خودشون به صورت مستقیم تبلیغات رو میزارن یا recruiterها اونجا تبلیغ میکنن. احتمالا تعداد خیلی کمی از شرکتهای خیلی بزرگ یا خیلی کوچیک باشن که نه با recruiterکار میکنن و نه تبلیغاتشون رو توی لینکدین میزارن. مزیت لینکدین اینه که میتونید پروفایلتون رو OpenToWork کنید که recruiterها متوجه بشن دنبال کار هستید و باهاتون تماس بگیرن. مزیت دیگه قابلیت جستجو بر اساس منطقه و شغل هست که میتونه هر روز شغلهای جدید تو حوزه و موقعیتی که شما تعیین میکنید رو بهتون خبر بده.
- سایتهای کاریابی محلی یا تخصصی. هر کشور یا حوزه تعدادی سایت معروف کاریابی داره که از اونها هم میشه اقدام کرد. به عنوان مثال gamasutra یا glassdoor
- سایت شرکتها. مخصوصا وقتی هدفتون حوزهی مشخصی از شرکتها و موقعیتها باشه، میتونید مستقیما از سایت شرکتها اقدام کنید.
من رزومه و لینکدین رو آپدیت کردم. به جای نوشتن motivation letter و صحبتهای تکراری مثل “من از عنفوان کودکی بازیسازی رو دوست داشتم. از وقتی باسواد شدم دوست داشتم تو شرکت شما کار کنم و من همهی خوبیهای دنیا رو توی خودم جمع کردم”، سعی کردم داستان زندگی و اهدافم توی رزومهام مخشص باشه. داشتن گیتهاب، وبسایت شخصی، portfolio، وبلاگ و ... شانستون رو بیشتر خواهد کرد، ولی خط قرمز نیست. من فقط با رزومه و لینکدین اپلای کردم. شرکتهای بزرگ و پر اهمیت رو مستقیما از سایت شرکتها اپلای میکردم و شرکتهای کوچیکتر و کم اهمیتتر (بیشتر با هدف قلقگیری و Plan B) رو از طریق لینکدین یا recruiterها اپلای میکردم. استراتژی من تمرکز روی تعداد محدودی شغل/شرکت بود در نتیجه رزومم رو خیلی ویژهی برنامهنویسی بازی نوشتم و مخصوصا با رعایت نکاتی که در ادامه میگم، بازخورد خوبی در دنیای بازی داشتم، ولی رزومم برای کارای سادهتر C++ای جذابیت کافی نداشت و از ۱۰-۱۵ موردی که اپلای کردم حتی به یک مورد مصاحبه نیروی انسانی هم نرسیدم. بعضی از دوستان به جای تمرکز روی یک حوزهی خاص، به صورت brute force تمامی شغلهای اندکی مرتبط رو اپلای میکنن و بعد از گرفتن بازخورد مثبت از طرف شرکت، نیازمندیهای شغل و شرایط شرکت رو بررسی میکنن. طبعا هر روش مزایا و معایب خودش رو داره و من نمیتونم بگم میزان موفقیت کدوم میتونه بیشتر باشه.
به نظر من، به دلیل رقابت زیاد، شرکتها هیچ دلیلی برای ریسک کردن روی گزینههای مشکوک ندارن. با توجه به مشکلات اقتصادی ناشی از کرونا، این رقابت بیشتر از قبل هم شده. در نتیجه اشتباهات کوچیک میتونه باعث رد شدنتون بشه. هرچند ممکنه بعضی مواقع که شرایطتتون برای شرکت جذاب هست ولی رقیبی بهتر دارید، توی آب نمک نگهتون دارن که ببینن رقیب چیکار میکنه.
قالب ذهن اروپایی:
با توجه به تجربهی محدود زندگی من در اروپا، به نظرم برای همه چیز به قالب(های) مشخصی رسیدن و همه چیز در اون قالبها شکل میگیره یا پیگیری میشه. (یکی از مهمترین دلایل سختی مهاجرت هم همینه. ما قالبها رو نمیدونیم و در محیطی بزرگ شدیم که دور زدن قالبها رو ارزش میدونه.) به عنوان مثال یه دانشجوی اروپایی، در دوران لیسانس برای پروژهی خیلی از درسها با شرکتها همکاری میکنه، کارآموزی به نسبت جدیای توی شرکتها داره و معمولا پروژهی پایانیش هم توی یک شرکتی تعریف و انجام میشه. میزان این جدیت در ارشد بیشتر هم میشه. معمولا هم بعد از دانشگاه توی یکی از همون شرکتها به عنوان کارآموز یا نیروی جونیور استخدام میشه و سالها در اون حوزه کار میکنه، مدیر و در نهایت بازنشسته میشه. در نتیجه رقیب شما معمولا کسی هست که از روز اول در یک حوزهی خاص عمیق شده و به خاطر دلایل مختلف مجبور به عوض کردن حوزه نبوده. همین طور از دید یک کارفرمای اروپایی، تمام کارهایی که در زمان دانشگاه انجام دادی یاد گرفتن اون حوزه بوده. در نتیجه سابقه کار جدی که باهاش بخواد سطح تجربه رو بسنجه بعد زمان فارغالتحصیلیه. طبعا درکی از کش دادن تحصیل برای نرفتن به سربازی هم نداره. (کارهای اداری هم به همین منوال هست. برای خودشون چون میدونن و قانون برای اونا طراحی شده، اکثرا بی دردسر انجام میشه و برای ما که که نمیدونیم، پیشنیازش رو نداریم یا میخوایم دور بزنیم معمولا با سختی). این یعنی ممکنه نیاز بشه بعضی از تجربیاتتون رو تو رزومه نیارید یا برای بعضی قسمتها نیاز به توضیح بیشتری بدید که قابل درک بشه.
تناسب شغل درخواستی با رزومه:
رزومههای زیادی رو دیدم که تمام سوابقشون سنیور و مدیر بوده و برای پوزیشن جونیور و مدیور اپلای میکنن. از دید خارجی یک جای کار میلنگه که با این سابقه طرف میخواد از صفر شروع کنه. اولا که سعی کنید روند پیشرفت معقولی در رزومتون باشه. ثانیا اگر واقعا شما سنیور هستید و به هر دلیلی میخواید از جونیور شروع کنید (مثلا عوض کردن فیلد)، باید به نحوی این دلیل یا روند تغییر رو توی رزومتون نشون بدید یا حتما motivation letter هم داشته باشید که دلایلتون رو توضیح بده. من تمامی پوزیشنهایی که به خاطر plan B جونیور اپلای کردم رو بلافاصله رد شدم چون توی رزومه ادعای سنیوری میکردم. راه حل دیگه داشتن چند رزومه با جزییات متفاوت هست.
داستان زندگی:
به تجربهی من، اروپاییها قصهگویی (story telling) رو خیلی دوست دارن و حتی بعضی از مواقع این قالب قصه گفتن انقدر شور میشه که کسی به محتوی توجه نمیکنه. شنونده فقط چک میکنه که آیا مراحل قصهگویی شامل مقدمه و شخصیتسازی و ... رو رعایت کردی یا نه و براش مهم نیست که اون قصه چی رو روایت میکرد! این یعنی خیلی مهم هست که شما به چی علاقه داری، هر مرحله از درس یا کاری که انجام دادی چطوری بهت دید و تجربه داد، دنبال چه چیزی بودی که رفتی سراغ کار بعدی و اونجاها چه چیزایی یاد گرفتی، شرکت اونا و اون موقعیت شغلی چطوری به درد تو میخوره و تو کجای داستان شرکت اونا قرار میگیری. شما باید دلیل قانعکنندهای داشته باشید که چی شد زبون/انجین/فیلد عوض کردی، چی شد رفتی سراغ موبایل، چی شد میخوای بیای خارج و ... جوابهایی مثل: یه مدت رفتم تو کار embedded system چون پولش چند برابر بود، کار خوب پیدا نکردم و رفتم سراغ فلان فیلد، شرکت شما اپلای میکنم چون دوست دارم تو خارج بازی ساخته باشم(تو نباشی دوستات هستن!) و ... (البته بسته به فضای مصاحبه) معمولا اونقدر بد هستن که همون لحظه تیر خلاص رو به خودتون زدید و سرد شدن طرف توی مصاحبه رو به وضوح حس میکنید.
عدم تسلط:
معمولا رقیبهای اروپایی دلیلی برای از این شاخه به اون شاخه پریدن ندارن، در نتیجه معمولا تخصصهای کمی رو با عمق زیادی بلد هستن. این یعنی افرادی که شما رو مصاحبه میکنن تسلط زیادی روی اون موضوع دارن. با توجه به تعداد زیاد مصاحبهها و مصاحبه کنندهها، معمولا تمام زوایای شغلی که اپلای میکنید رو پوشش میدن. در نتیجه بزرگنمایی توی رزومه یا مصاحبه، به بد دفاع کردن شما از اون موضوع منجر میشه و همون میتونه باعث رد شدنتون بشه. به نظر من، بد دفاع کردن از موضوعی که ادعا میکنید بلد هستید تاثیر منفی خیلی بیشتری از بلد نبودن اون موضوع داره. مثلا بگید فلان ماژول یا انجین رو پیادهسازی کردید ولی بدیهیات مربوط بهش رو ندونید. به علاوه اینکه تمام شرکتها بازهی قرارداد تستی از یک ماه تا یک سال دارن و توی اون بازه قانونا مجاز هستن که بدون آوردن دلیل شما رو اخراج کنن.
رعایت تناسب سطح صحبت با تخصص مصاحبهگر:
هر مرحلهی مصاحبه هدف مشخصی رو داره. مثلا وقتی با منابع انسانی صحبت میکنید، اگر صحبتتون وارد جزییات فنی بشه، دارید فرصت خودتون رو برای گفتن نکاتی که اون فرد منتظر شنیدنش هست رو از دست میدید و همین باعث رد شدنتون میشه. همین طور وقتی با کسی که مثلا تخصصش gameplay هست از پیچیدگیهای انجین صحبت کنید و ...
سوال پرسیدن:
به نظر من، سوال مناسب پرسیدن قسمتی از بیان داستان مناسب و نشانگر علاقهی شما به اون شرکت و موقعیت هست. همچنین سوال مناسب پرسیدن نشان از تجربه و تسلط شما به بحث خواهد بود. حداقل سوالهایی که حتما باید بپرسید، مراحل، اهداف و اشخاص توی هر مصاحبه هست که بتونید براش آماده بشید. زمانی که به تست میرسید، حتما ازشون در مورد جزییات مهم برای انجام دادن تست مثل هدفهای طراحی، استفاده از کتابخونه خارجی(stl, …)، میزان اهمیت مدیریت حافظه، حداقل performance قابل قبول، استاندارد C++ و ... رو بپرسید. سوالاتی در مورد فرهنگ تیم و سازمان، نحوهی مدیریت، وظایف احتمالی شما، سوالاتی در مورد بازی و امکاناتش و ... بسته به شرایط میتونه خوب باشه. خودتون رو آمادهی پرسیدن چند تا سوال برای هر مرحله بکنید.
نحوهی تماس:
مصاحبههای منابع انسانی/recruiter معمولا به صورت تلفنی هست. اگر این مصاحبه اینترنتی هم باشه معمولا صوتی خواهد بود. بقیه مصاحبهها به صورت تصویری و توسط Skype، Google meet، Cisco Webex، Zoom، Microsoft teams انجام میشه. اکثر این نرمافزارها بدون نصب برنامه جانبی و روی مرورگر هم قابل اجرا هستن ولی پیشنهاد میکنم که نرمافزارهاشون رو نصب کنید که امکانات و کنترل بیشتری داشته باشید. حتما قبل از مصاحبه نرمافزارها رو نصب و تست کنید. ممکنه به دلیل فیلتر/تحریم نیاز به استفاده از فیلترشکن هم بشید! از قبل خودتون رو براش آماده کنید. حتما دقایقی قبل از شروع جلسه وارد لینک جلسه بشید و منتظر بمونید. معمولا صحبت تصویری راحتتر و دوستانهتر از صحبتهای صوتی هست. اگر احساس میکنید صحبتهای صوتی رو سختتر متوجه میشید یا سختتر میتونید منظورتون رو برسونید، مشکلی نداره که درخواست بدید که صحبتاتون تصویری انجام شه. بگید که به صورت تصویری احساس بهتری دارید و راحتترید. سعی کنید عوامل قابل کنترل افت سرعت اینترنتتون رو از قبل کنترل کنید (استفادهی همزمان افراد، به روزرسانیهای خودکار،...) ولی اگر مشکلی پیش اومد کنترل شرایط رو از دست ندید. در صورت افت سرعت زیاد، میتونید با هماهنگی با مصاحبه کنندهها، تصویر خودتون یا تصویر اونا رو قطع کنید. درسته که قطعی/افت سرعت اینترنت ناخوشاینده ولی قابل درک هست و همه جای دنیا اتفاق میافته. تو یکی از تجربههام اینترنت (گیگابیتی من که مال یکی از ۵ تا اپراتور اول دنیاست) اونقدر قطع و وصل شد که تصمیم گرفتیم مصاحبه رو تلفنی ادامه بدیم. در نتیجه بابت مشکلات اینترنت شرمنده یا مضطرب نشید.
تقلبهای مفید:
سابقهی افرادی که مصاحبه میکنن رو پیدا کنید. پروفایل لینکدینشون رو چک کنید که notification از سمت شما داشته باشن و نشون بده که شما آدم پیگیری هستید. اگر طرف بلاگ، توییتر، technical talk، گیتهاب و ... داشته باشه که شما بتونید بیشتر باهاش آشنا بشید نونتون تو روغنه! این طوری کلی راه دارید جوابایی بدید که نشون بده خط فکری و علایق مشترک دارید. اشارهی ظریف به اینکه شما این اطلاعات رو از طرف دارید هم معمولا مثبته. مثلا اگر بتونید بگید “نظرم در مورد مشکل فلان، استفاده از راه حل بیسار که توی وبلاگ/گیتهاب شما هم بود، البته به نظر من...”، اون موقعیت رو ۲ دستی بهتون تقدیم میکنن. اگر همچین شانسی نداشتید، کماکان میتونید حول استراتژیهای شرکت، جزییات موجود توی بازیهاشون، نظراتتون در مورد technical talkهایی که شرکت داشته، کامنتهای مردم و منتقدها در مورد بازی و خلاصه هر چیزی که نشون بده شما آدم پیگیری هستید و اون شرکت و مصاحبه برای شما مهم هست صحبت کنید. طبعا دونستن اخبار اون صنعت و استفادهی به موقع از اون اخبار میتونه تو جلب اعتماد کمک زیادی بکنه. چیزای شخصیتر رو هم میتونید درگیر کنید، مثلا مثال از بازیهایی که دوست دارید یا اخیرا بازی کردید بزنید یا تو احوال پرسی اول در مورد یه چیز شخصی صحبت کنید.
اصطلاحات و ابزارهای موجود:
- کاراکترهای m/f/d/x در انتهای عنوان شغل: هر کدوم از کاراکترها مخفف یک دسته از آدمهاست. m = male، f = female، d = disable، x = non-binary معمولا اکثر این کاراکترها کنار هم قرار میگیرن و منظورشون برابری همهی قشرها در اون موقعیت هست.
- سطوح Junior/Mid-level/Senior/Lead/All level: منظور از junior کسی هست که تازه شروع به کار کرده و معمولا کمتر از ۲ سال سابقه کار داره. منظور از mid-level که با کلمات دیگه مثل mid-senior، medior و حتی بدون ذکر سطح در عنوان شغلی، سطحی بین جونیور و سنیور هست که معمولا بین ۲ تا ۵ سال سابقه کار داره. Senior منظور فرد با تجربهی بیش از ۵ سال هست و یکی از وظایفش کمک به نیروهای جونیور خواهد بود. Lead فردی سنیور با وظیفهی اضافهی مدیریت تیمی میانگین ۱۰ نفره هست. All level یعنی برای اون پوزیشن چندین نفر در تمامی سطوح استخدام خواهند کرد.
- سایت Glassdoor: احتمالا این سایت بهترین مرجع برای پیدا کردن جواب سوالات در مورد شرکتهاست. افراد بدون ذکر اسمشون نظرشون رو در مورد شرکتی که توش کار میکنن، مدیرهای اون شرکت، میزان حقوقشون و سوالاتی که توی مصاحبه ازشون پرسیده شده رو مینویسن. احتمالا مهمترین نقد به این سایت و تجربیات این باشه که معمولا افراد با تجربهی منفی که دنبال تعویض شغل یا نمایش اعتراضشون هستن توی این سایتها نظر مینویسن و افرادی که طولانی مدت توی اون شرکت هستن و امنیت شغلی کافی دارن، دلیلی برای سر زدن به این سایت ندارن. همچنین ممکنه بعضی از نظرات منفی صرفا در قسمت کوچکی از اون شرکت و به دلیل مدیریت بد یک مدیر میانی باشه و نشه به تمام شرکت نسبتش داد.
سعی در کنترل مصاحبه:
هیچ کس همه چیز رو نمیدونه و هر کدوممون به یه سری حوزهها مسلطتر هستیم. یه مصاحبه کنندهی باتجربه سعی میکنه با سوالات مختلف تمام جنبههای شخصیتی و فنی مصاحبه شونده رو بررسی کنه. ولی همیشه همه چیز اون طوری که دوست دارید پیش نمیره. از اونجایی که انعطاف معمولا از طرف کسی که در موضع ضعف هست انجام میشه، باید تا جایی که میتونید مصاحبه رو به سمت توانمندیهای خودتون بکشید. مثلا به هر دلیلی مصاحبه کننده فقط روی تجربهی آخر شما داره مانور میده ولی شما برگ برندتون توی تجربهی قبلیش هست. یا سوالها رفتن به سمتی که شما توش ضعیف هستید و فرصت درخشیدن تو حوزههایی که مسلط هستید رو ندارید. یا در مورد شرکت خیلی تحقیق کردید و میخواید نشون بدید که پیگیر بودید ولی صحبتا خیلی در مورد جزییات شده. کنترل مصاحبه اصلا کار سادهای نیست، مخصوصا به انگلیسی. ولی اگر بتونید انجامش بدید شانستون رو خیلی بیشتر میکنید.
تمرین:
با دوستانتون مصاحبهی انگلیسی رو تمرین کنید. هر سری میتونید سوالات مصاحبههای یکی از شرکتهای معتبر رو از glassdoor در بیارید و از همدیگه بپرسید و بعد در مورد جوابهاتون با همدیگه بحث کنید. من در همین تمرینها فهمیدم که وقتی سوال رو ازم میپرسن، سعی میکنم که حدس بزنم منظور طرف از این سوال چی بوده و با توجه به سابقه و علاقهی طرف، بهترین جواب چی میتونه باشه. این باعث میشد که مکثهای طولانی داشته باشم و بعضا جوابهایی بدم که متفاوت با هدف سوال بوده. یا جایی که روند فکری مهم هست، من فکرهام رو برای خودم نگه دارم و یه ضرب جواب رو بگم.
فیدبک:
گرفتن بازخورد درست و اصلاح مسیر مهمترین و سختترین کاری هست که شما باید بکنید. وقتی از یه جایی رد میشید، میتونید از طرف دلیل رد کردنتون رو بپرسید. هرچند که متاسفانه شرکتها همیشه جواب مناسبی بهتون نمیدن. گزینهی مناسب دیگه برای گرفتن بازخورد recruiterها هستن. Recruiter رو سمت خودتون و مشاور مجانی بدونید. نظرشون در مورد شانس پذیرش شما تو موقعیتهای مختلف، نقاط گنگ رزومتون، فیدبک از جوابایی که میدید و خلاصه هر سوالی که احتمالا میخواید از من بپرسید رو بهتر هست که از recruiterهای مختلف بپرسید و با قالب فکری اروپایی جوابتون رو بگیرید (احتمالا بزرگترین عیب recruiter اینه که هدفش پیدا کردن بهترین موقعیت کاری، از موقعیتهای موجودی که الان دم دستشه. در نتیجه ممکنه جوابهاش به شما در جهت بهترین موقعیت global برای شما نباشه). یه سری از فیدبکها رو هم میتونید با سعی و خطا در بیارید. مثلا وقتی اکثر مصاحبه کنندهها یه جایی از رزومه یا روند تجربتون رو بیشتر سوال میپرسن، میتونید اون تیکه رو واضحتر کنید و تو مصاحبههای بعدی دقت کنید که آیا مشکل حل شده یا نه.
رزومه:
علاوه بر نکاتی که تا الان برای رزومه اشاره شد، به نظر من رزومه باید شامل نکاتی که recruiter یا HR در مصاحبه اول برای خودش یادداشت میکنه باشه. این افراد با توجه به رزومهی شما و مصاحبهای که با شما میکنن، خلاصهای برای خودشون مینویسن که به افراد فنی نشون بدن. اگر دقت کنید، در حین توضیحات شما این افراد برای خودشون خلاصه برمیدارن. شما باید سعی کنید اون کلیدواژههایی که اونا مینویسن رو حدس بزنید و نه تنها حتما به اون واژهها در مصاحبههای بعدی اشاره کنید، بلکه توی رزومتون هم واضح اونا رو بنویسید. معمولا این خلاصه شامل تجربیات شما توی کارهای مختلف، مسئولیت شما، ماژولهایی که توی اون کار نوشتید، زبون و ابزارهایی که برای اون پروژه استفاده شده، دستاوردای پروژه و .... هست. همچنین رزومه هم باید برای منابع انسانی جذابیت داشته باشه که اولین مصاحبه رو با شما داشته باشه و هم برای نیروهای فنی که مصاحبه رو با شما ادامه بدن! پیدا کردن نقطهی مناسب نیاز به وقت گذاشتن و سعی و خطا و اصلاح داره. به عنوان مثال ممکنه بسته به تجربه و داستان زندگی شما، نیاز باشه که روی دانشگاه مانور کمتر یا بیشتری بدید. کارهای پروژهای/پاره وقت رو از کارهای تمام وقت جدا کنید. بعضی از تجربیات که باعث منحرف شدن بحث میشه رو از رزومه حذف کنید یا به قسمتهای پایینتر انتقال بدید.
تلاش مضاعف:
قاعدتا کار کردن در یک شرکت AAA (اگر آرزو نباشه) قدم بزرگی به حساب میاد. در نتیجه برای این هدف وقت کافی بزارید، روشهای مختلف رو امتحان کنید و دست از پیگیری برندارید. درخواست فیدبک از recruiter، درخواست نتیجه از شرکتهایی که دارید مصاحبه میشید (به شرط اینکه تعادل رعایت شه)، درخواست فیدبک از جایی که رد شدید و خلاصه امتحان کردن روشهای مختلف تماما بی ضرر هستن. از جواب درست نگرفتن یا رد شدن هم ناامید نشید. خوشبختانه تعداد انتخابهای سعی و خطا و گزینههای مطلوب در کل اروپا اونقدر هست که بتونید موقعیت مناسبی که میخواید رو پیدا کنید.
جمع بندی:
اگر بخوام همهی صحبتهام رو توی چندتا جمله خلاصه کنم این میشه که “جاهایی که میخواید اپلای کنید رو لیست کنید و اولویتبندی کنید. با کم اهمیتترهاش اپلای رو شروع کنید که فرصت سعی و خطا داشته باشید. یک روند منطقی برای مسیری که تا الان طی کردید و در آینده با اون شرکت و موقعیت خواهید داشت رو ترسیم کنید و اون رو توی رزومه و مصاحبهها بیان کنید. با استفاده از فیدبکهایی که میگیرید یا حدس میزنید، سعی کنید رزومه یا صحبتاتون رو تغییر بدید که به فهم بهتر داستانتون کمک کنه یا مشکلات داستانتون رو برطرف کنید که قابل فهم بشه.”
لینکهای کاربردی:
اطلاعات کلی در مورد مزایا و معایب شهرهای مختلف دنیا: https://nomadlist.com/
آب و هوا و مقایسش تو شهرهای مختلف: https://weatherspark.com/
هزینهی زندگی تو شهرهای مختلف، تخمین و مقایسشون با هم: https://www.numbeo.com/
https://www.numbeo.com/cost-of-living/estimator_main
https://www.numbeo.com/cost-of-living/comparison.jsp
نمایش طول روز و شب: https://www.timeanddate.com/sun/netherlands/amsterdam
توضیحات شرکت Valve از روند استخدام:
https://steamcdn-a.akamaihd.net/apps/valve/Valve_NewEmployeeHandbook.pdf
تکنیک مناسب جواب دادن به سوالات کلیتر: https://en.wikipedia.org/wiki/Situation,_task,_action,_result
انتظارات مدیر سابق Insomniac از برنامهنویسها: https://www.youtube.com/watch?v=cV5HArLYajE
https://www.youtube.com/watch?v=4B00hV3wmMY
نمونه داستان زندگی غربی: https://www.youtube.com/watch?v=aD7RAqByE3Q&t=58s
نمونه مصاحبه واقعی: https://www.youtube.com/watch?v=L7AENaKu2pA
نمونه خلاصهای که recruiter به شرکتها ارائه میده:
نمونه سایت امتحان آنلاین: https://www.codingame.com
سوالات متدوال:
طی کردن این مراحل چقدر طول میکشه؟
بین یک تا چندین ماه. بسته به اندازه و شرایط شرکتها، ممکنه از یک هفته تا چندین ماه طول بکشه که رزومهی شما بررسی شه. با توجه به تعداد مصاحبهها و زمان میانگین یک هفتهای بین هر مرحله، حداقل یک ماه و به صورت میانگین ۲-۳ ماه درگیر مصاحبه خواهید بود.
زبان من خوب نیست، چی کار کنم؟
این که چطوری زبانتون بهتر میشه رو من نمیدونم. به نظر من نکتهی مهم توی صحبت کردن، داشتن اعتماد به نفس بالا هست. مخصوصا در مکالمه با اروپاییها که انگلیسی زبان دومشون هست، لهجه داشتن، رعایت نکردن بعضی از قواعد گرامری و بلد نبودن بعضی از لغات و اصطلاحات کاملا عادی هست و هیچ کس شما رو مسخره یا قضاوت نمیکنه.
“من داشته بودم میرم”ممکنه برای یک فارسی زبان مسخره به نظر بیاد ولی مفهومش کامل مشخص هست. “I was being going” برای فارسی زبان حداکثر باید غلط به نظر بیاد و مسخره نیست. هر دو به عمل رفتن اشاره میکنن که کافیه برای فهمیدن منظور. به نظر من، رد شدن از این جور مشکلات و تمرکز روی منظور، بهتر از ۳۰ ثانیه مکث کردن و اصلاح کردن این جمله به روشهای مختلفه.
چطوری رزومم رو بهتر کنم؟ چطوری تمرین کنم؟ چه کتابی بخونم؟ چطوری پیشرفت کنم؟ چطوری وارد دنیای بازی سازی بشم؟
هدف این متن تمرکز روی این موارد نیست، من هم فرد مناسبی برای جواب دادن به این سوالات نیستم. من شخصا وبلاگهای تخصصی و technical talkها رو دوست دارم. به قسمت لینکهای مفید سر بزنید.
سنام کم یا زیاد هست و شرکتها قبولم نمیکنن.
سن کم برای شرکتهای AAA ممکنه که مشکل ساز باشه. سن کم یعنی تجربهی کم و تجربهی کم برای AAAها ممکنه که خط قرمز باشه. هیچ شرکتی در مورد سن من نپرسید. اگر میزان تجربتون مناسب موقعیتی که اپلای میکنید باشه، سن اصلا مهم نیست. هرچند موارد اکستریم مثل کارآموزی در ۴۰ سالگی یا مدیریت در ۲۰ سالگی احتمالا محدودیت باشه. بقیه موارد بین این بازه، به نظر من هیچ نگرانیای نداره.
آیا به کسی که توی ایران هست اعتماد میکنن؟
من توی هلند بودم که اپلای کردم ولی در عمل تفاوتم با کسی که توی ایران هست، حداکثر اندکی اعتماد اولیه در مورد تطابق با زبان و فرهنگ اینجا میتونه باشه. وگرنه من پاسپورت ایرانی دارم و نیاز به اجازهی کار در اروپا. به جز شرکتهای کوچیکتری که visa sponsorship نمیتونن داشته باشن و طبعا اونجاها نمیتونیم کار کنیم، به نظرم حضور در ایران یا ایرانی بودن نهایتا ۱۰٪ شانسها رو ممکنه که از بین ببره. در تجربهی من یک شرکت مستقیما گفت چون ایرانی هستی، فقط اگر پاسپورت اروپایی داشته باشی میتونیم ادامه بدیم. یکی از recruiterها هم گفت که ممکنه شرایط برات اندکی سختتر باشه چون ایرانی هستی. بقیه دوستانی که دنبال کار بودن هم تجربیات مشابهی داشتن.
میزان تاثیر تحصیلات دانشگاهی؟
طبعا اعتماد اولیه به کسی دانشگاه رفته و از سد یک سری استاد رد شده، اندکی راحتتر از کسیه که هیچ چیزی برای اثبات نداره. هرچی سطح تحصیلات و رتبه دانشگاه بالاتر، اعتماد سادهتر. در شرایط تجربهی برابر، احتمالا اعتماد به کسی خواهد بود که تحصیلات بیشتری داره. ولی تجربهی کار خیـــــــــــــــلی مهمتر از میزان تحصیلات هست. هیچ شرکت یا recruiterای در مورد میزان تحصیلات من سوال نپرسید (به جز guerrilla games که در مورد تجربهی من از دانشگاه هلند پرسید چون براش جالب بود توی دانشگاههای کشورش چه خبره). توی حدودا نصف توضیحات موقعیتهای شغلی بازیسازی، اشارهای به حداقل تحصیلات نشده. توی نصف بقیه هم معمولا تحصیلات تا لیسانس یا تجربهی کاری مرتبط اشاره شده. به تجربهی من، فقط در کارهای تحقیق محور، داشتن مدرک دانشگاهی ممکنه که خط قرمز باشه.
مطلبی دیگر از این انتشارات
پیری زودرس جمعیتِ ایران و عقیم شدن فکریِ جامعه با سونامی مهاجرت نیروی جوان
مطلبی دیگر از این انتشارات
اخذ پذیرش دکترا در اروپا - سیر تا پیاز
مطلبی دیگر از این انتشارات
دارالترجمه رسمی دقیقا چیه؟ مقایسه بهترین دارالترجمه های ایران