
وقتی برای موقعیتهای شغلی استراتژیک و کلیدی اپلای میکنید، ارسال یک رزومهی PDF ساده (حتی اگر با بهترین قالبها طراحی شده باشد) گاهی نمیتواند تمام پتانسیل، خلاقیت و روحیه حل مسئلهی شما را نشان دهد. من، میلاد، دنبال راهی بودم که مسئول استخدام قبل از خواندن سوابقم، «طرز تفکر» مرا ببیند.
نتیجه؟ تصمیم گرفتم یک رزومهی تعاملی بر پایه موتور کلاسیک بازی Super Mario Bros بسازم. پروژهای که در آن کارفرما به جای اسکرول کردن یک متن خشک، کنترل ماریو را در دست میگیرد، در دنیای ۸-بیتی من قدم میزند و سوابقم را کشف میکند. و از همه مهمتر احتمالا هم نشینی و یادآوری لحاظات خوش بازی در کودکی و رزومه من احساس خوبی درون اون ایجاد کند و چالش ذهنی که از یاد بردن این رزومهرا سخت میکند. در نهایت تبدیل کردن این ایده به یک محصول نهایی و لایو، درسهای فنی و مدیریتی بزرگی برایم داشت که خواندنش خالی از لطف نیست.
یکی از مهمترین دلایلی که این پروژه به سرانجام رسید، این بود که دقیقاً میدانستم چه میخواهم. من کورکورانه وارد کدها نشدم؛ قبل از شروع، یک لیست مشخص از تمام تغییراتی که باید در بازی اعمال میشد تهیه کردم. از تغییر رنگبندیها گرفته تا جایگذاری لینکهای دانلود و پیغامهای اختصاصی، سناریوانجام و .... وقتی میدانید قرار است دقیقاً چه نتیجهای بگیرید، در دریای بینهایتِ کدها غرق نمیشوید و در نهایت، تیکِ تکتکِ آیتمهای آن لیست زده میشود.
در مسیر توسعه، چالشهای جالبی مثل محدودیت آپلود ۱۰۰ فایل در گیتهاب وجود داشت که با کمی حوصله حل شد. اما غولِ اصلیِ این پروژه جای دیگری منتظرم بود: «تمامصفحه کردن (Full-Screen) بازی».
شاید در نگاه اول ساده به نظر برسد. پیش خودم گفتم با چند خط استایل در CSS و تغییر تگهای HTML در فایل index.html همهچیز حل میشود. دهها بار استایلها را تغییر دادم، ابعاد را دستکاری کردم، اما بازی یا کِش میآمد، یا میبرید و یا در یک گوشه گیر میکرد. آنجا بود که فهمیدم مشکل از Front نیست؛ باید دستم را آلوده کنم و وارد موتور اصلی بازی (Game Engine) شوم! مجبور شدم کدهای هسته جاوااسکریپت بازی را کالبدشکافی کنم و منطق رندر شدن پیکسلها و دوربین بازی را تغییر دهم. این تجربه به من ثابت کرد که گاهی برای حل یک مشکل ساده، باید جرئت ورود به پیچیدهترین لایههای سیستم را داشته باشی.
یکی از آیتمهای لیست تغییرات این رزومه این بود که ماریو بتواند علاوه بر جلو رفتن، به عقب (سمت چپ) هم برگردد تا کاربر در نقشه آزادانهتر بچرخد.
اما وقتی معماری این نسخه خاص از موتور ماریو را بررسی کردم، متوجه شدم پیادهسازی حرکت به عقب نیازمند بازنویسی بخش عظیمی از منطق فیزیک و دوربین بازی است. به عنوان کسی که در ابتدای مسیر توسعه چنین موتورهایی است، اینجا باید یک تصمیم میگرفتم: «آیا این ویژگی آنقدر حیاتی است که کل پروژه را هفتهها به تعویق بیندازد؟» جواب منفی بود. من یاد گرفتم که واقعنگر باشم. مدیریت محدوده پروژه (Scope Management) یعنی بدانی کجا باید روی کمالگرایی پا بگذاری تا محصولت در زمان درست و با کیفیت مطلوب لانچ شود.
من این مسیر را با کمک هوش مصنوعی (AI) طی کردم. اما بزرگترین کشف من در این پروژه، تغییر نگاهم به نحوه تعامل با این تکنولوژی بود.
بسیاری تصور میکنند کار با هوش مصنوعی یعنی یک گوشه بنشینی و به آن دستور بدهی: "این ارور رو درست کن" یا "بازی رو تمامصفحه کن". اما واقعیت کاملاً متفاوت است. مهمترین شرط برای گرفتن خروجی درست از AI این است که خودت کانتکست (Context) و منطقِ کار را عمیقاً درک کرده باشی.
اگر من نمیفهمیدم مشکل تمامصفحه نشدن ریشه در موتور JS دارد و نه فایل CSS...
اگر درک پایهای از تفاوت سرورهای DNS ایرنیک و سیستمهای کلودفلر نداشتم... هرگز نمیتوانستم پرامپتهای درستی بنویسم.
وقتی به هوش مصنوعی فقط میگویید "کار نمیکند", او شروع به حدس زدن میکند و ممکن است با یک راهکار اشتباه، کل ساختار شما را ویران کند. اما وقتی خودتان مسئله را فهمیدهاید و میگویید: "من منطقِ دوربین را در موتور اصلی پیدا کردم، حالا چطور میتوانم متغیرهای رندر را برای عرضِ متغیرِ دسکتاپ بهینهسازی کنم؟", آنوقت است که معجزه رخ میدهد. شما باید معمار و فرماندهی پروژه باشید؛ هوش مصنوعی فقط ابزاری است که با سرعت نور، آجرهای این معماری را برایتان میچیند.
و این هم رزومه تعاملی من: mili-cv.ir
عبور از چالشهای کدهای جاوااسکریپت و درگیری با سرورهای گیتهاب و کلودفلر برای لایو کردن دامنهی شخصیام، به من نشان داد که هیچ «صفحهی سیاهی» پایان راه نیست. رزومهی من اکنون فقط یک لیست از دستاوردهای گذشته نیست، بلکه اثباتی زنده بر توانایی حل مسئله، مدیریت اهداف و تعامل سازنده با تکنولوژیهای روز است که برای ادامه در این دنیا حیاتیست.