آگهی‌های استخدامی

استخدام متخصص پیاده سازی سخت افزاری

شرح موقعیت شغلی

*** مهارت‌های پایه

- مهارت پایه در حداقل یک زبان برنامه‌نویسی در سطح سیستم، ترجیحاً C یا C++.
- آشنایی با templateها و smart pointerها.
- تجربهٔ برنامه‌نویسی هم‌روند و استفاده از multithreading.
- درک کافی از memory management، عملیات با pointer، و تعاملات سطح پایین سخت افزار.
- آشنایی با پیچیدگی محاسباتی و درک مفهوم بهینگی.
- آشنایی و توانایی استفاده از ساختارهای دادهٔ متداول و کتابخانه‌های سیستم.
- توانایی خواندن و تحلیل کد.
- توانایی طرّاحی و درک اصول تست.
- راحتی با کار در تیم و انطباق با چارچوب‌های کدنویسی تیم.

*** مهارت‌های پیشرفته

- تجربهٔ کار با سرویس‌های بزرگ و درک نیازهای مربوط به مدیریت درخواست‌های کاربران.
- تجربهٔ کار DevOps.
- آشنایی با مفاهیم پایه‌ای سیستم، مانند ماژول‌های کرنل و syscallها.
- آشنایی با ساختار GPUهای Nvidia و برنامه‌نویسی CUDA.
             - آشنایی با مدل thread/block/grid.
             - آشنایی با سلسله مراتب حافظه.
             - آشنایی با روش‌های برنامه‌نویسی بهینهٔ CUDA مانند رعایت coalesced memory access.
             - آشنایی با کد سطح پایین GPU مانند PTX/SASS.
- تجربهٔ کار با کتابخانه‌های محاسبات GPU، به خصوص کتابخانه‌های با کاربرد در یادگیری ماشین، مانند CUTLASS.
- تجربهٔ کار با زبان‌های مختص دامنهٔ GPU مانند Triton و CuteDSL
- تجربهٔ کار با Inference Engineهای رایج، مانند vLLM.
- آشنایی با ابزارهای profiling.
               - تجربهٔ کار و توانایی تحلیل خروجی ابزارهای مجموعهٔ Nsight.
               - تجربهٔ کار با ابزارهای سنجش کارایی سیستم مانند Linux perf.

*** مهارت‌های عمومی

- مهارت پیدا کردن منابع یادگیری و خودآموزی سریع در موضوعات جدید.
- توانایی کار بر روی مسائل فنّی سخت و پیگیری آن‌ها بدون تسلیم سریع.
- توانایی نوشتن مستندات شفّاف و دقیق و ارائهٔ نتایج فنّی.
- توانایی خواندن مقالات تخصّصی به زبان انگلیسی.

*** دانش Linux

- تجربهٔ کار با محیط‌های command-line، شامل توانایی ابتدایی کار با فایل‌سیستم، پروسه‌ها و ابزارهای متداول سیستم‌عامل.
- آشنایی با یک زبان اسکریپت‌نویسی (bash، پایتون،…).

*** آشنایی با Git و Version Control

- آشنایی با سازوکار پایه‌ای Git، شامل stage، commit، pull و push و راحتی کار با برنچ‌ها، شامل کار با merge و rebase.
- تجربهٔ کار با استراتژی‌های branching مختلف و workflowهای رایج Git، مانند GitFlow یا GitHub Flow.

مهارت‌های مورد نیاز

  • C/C++
  • Git
  • سخت افزار

زبان‌های مورد نیاز

  • انگلیسی

حداقل سابقه کار

  • کمتر از سه سال

جنسیت

  • مهم نیست

وضعیت نظام وظیفه

  • مهم‌ نیست

نوع همکاری:

تمام وقت

دسته‌بندی شغلی:

IT / DevOps / Server

تاریخ انتشار آگهی:

۱۴۰۴/۱۰/۰۸
ارسال رزومه