توضیحات:
ما در مدریک به دنبال یک Senior Unity Developer با تجربه و توانمند هستیم. با حداقل 3 سال تجربه حرفهای با Unity (C#) در پروژههای با کیفیت منتشر شده، برای پیوستن به تیم توسعه یک بازی Online Turn-Based Multiplayer. این موقعیت نیازمند فردی است که توانایی طراحی معماری و زیرساخت فنی، پیادهسازی گیمپلی، و همکاری مؤثر با تیمهای مختلف را داشته باشد.
======================================================
مسئولیتها:
- توسعه بازیهای Multiplayer با Unity در تعامل نزدیک با تیمهای طراحی، هنری و فنی.
- طراحی سیستمهایی با قابلیت Scalable و Maintainable.
- پیادهسازی گیمپلی و UI با همکاری اعضای تیم طراحی بازی و آرتیستها.
- راهنمایی و منتورینگ اعضای کمتجربهتر تیم و مشارکت در بهبود فرآیندهای فنی.
- انجام Code Review و تضمین کیفیت و ساختار مناسب کد.
- مشارکت در تدوین مسیر فنی پروژه، شناسایی ریسکها و برآورد دقیق زمان توسعه.
======================================================
مهارتهای فنی:
- توانایی نوشتن کد تمیز، خوانا و بهینه (Clean, Readable, Efficient Code).
- درک عمیق از اصول طراحی نرمافزار (مانند SOLID، Modularity و Clean Architecture).
- تجربه ساخت سیستمهای Scalable، Maintainable و Extensible.
- مسلط بر Design Patternها مورد استفاده در دنیای گیم مانند Observer، Factory، Object Pooling و غیره
- تسلط به معماری بازیهای چندنفره، شامل: Matchmaking، پیادهسازی Turn-Based Logic و Synchronization وضعیت بازی میان Client و Server.
- تجربه کار با Nakama یا توسعه سیستمهای معادل توسط خود فرد (در قالب پروژههای شخصی یا شرکتی).
- آشنایی با Async Programming، مسائل مرتبط با Networking و Performance Profiling.
- تجربه کار تیمی با Git و آشنایی کامل با اصول Version Control.
- توانایی تولید کد تمیز، ماژولار و قابل توسعه (Clean, Modular, Extensible Code).
- آشنایی با ملاحظات توسعه بازیهای Android، شامل Performance Optimization، کاهش Asset Size و مدیریت منابع در دستگاههای مختلف.
======================================================
مهارتهای فنی امتیازی (Bonus Skills):
- تجربه طراحی و توسعه Backend اختصاصی برای بازی آنلاین (معادل Nakama).
- تجربه کار با AR یا VR در Unity.
- آشنایی با CI/CD Pipelines و ابزارهای DevOps مرتبط با توسعه بازی
- تسلط به Asset Management و استفاده از Unity Addressables
======================================================
مهارتهای نرم:
- فردی با ذهنیت هوشمند، همیشه تشنه یادگیری و پیشرفت، و در عین حال متواضع در تعامل با دیگران و پذیرش چالشهای جدید.
- ذهنیت مالکیت قوی : پروژه را مانند محصول شخصی خود دیده و نسبت به کیفیت آن متعهد بودن.
- توانایی همکاری مؤثر در تیمهای Agile مبتنی بر اصول Scrum، با قابلیت تعامل حرفهای حتی در شرایط دورکاری.
- توانایی Mentorship و انتقال دانش به دیگر اعضای تیم.
- قدرت تحلیل فنی بالا و توانایی حل مسائل پیچیده.
- مهارتهای ارتباطی مناسب برای انتقال مفاهیم فنی به زبان قابل فهم برای سایر تیمها.
- اشتیاق به یادگیری مستمر و رشد فردی در مسیر حرفهای.