شرکت تسنیم در زمینه ارائه راهکارهای تردد و حضور و غیاب پرسنل و ارباب رجوع در سطح سازمانی یا شرکت های بزرگ فعالیت دارد. سیستم های کنترل تردد و حضور و غیاب (دستگاه های حضور و غیاب)، انواع گیت های تردد (شبیه گیت های مترو)، سیستم BMS از جمله محصولات این شرکت هستند. پردازندههای خانواده STM32 اصلیترین پردازندههای مورد استفاده بر روی محصولات شرکت هستند.
قدرت برنامه نویسی، توانایی طراحی، خلاقیت، مسئولیت پذیری، انجام کار در بازه زمانی مشخص از ویژگی های لازم برای این موقعیت شغلی می باشد.
وظیفه اصلی در این موقعیت شغلی توسعه نرم افزاری روی سخت افزارهای طراحی شده توسط تیم تحقیق و توسعه می باشد.
سخت افزارهای مورد استفاده در محصولات شرکت شامل ماژول های شناسایی افراد (مثل ماژول های اثرانگشت، ماژول های کارتخوان، بارکدخوان و ...)، ماژول های ورودی و خروجی( مثل انواع LCD، صفحه کلید و ...)، انواع سنسورها (مثل دما، رطوبت، شفت انکدر، مادون قرمز، اکسیژن، نشتی آب و ...)، ماژول های کنترل موتور، ماژول های ارتباطی (مثل اترنت، 232 و 485 و ...)، انواع حافظه، ماژول های تغذیه و ... می باشد.
فعالیت ها و وظایف
* برنامهنویسی و دیباگ سختافزارهایِ الکترونیکی؛
* آماده کردن گزارشهای لازم برای مدیر؛
* مستندسازی کدها، طراحیها و فرآیندهای مربوط؛
* طراحی، مدلسازی، شبیهسازی، توسعه و تست سختافزارها و نرمافزارهای Embedded؛
* مشارکت در طراحی سخت افزار های جدید؛
مهارت ها
* تجربهی عملی با میکروکنترلرهای STM32
* تسلط نسبی به یکی از محیط های برنامه نویسی STM32 (ترجیحا IAR)
* تسلط خوب به زبان C و مفاهیم low-level برای برنامهنویسی Embedded C
* آشنایی خوب با مفاهیم شیء گرایی
* توانایی در پیاده سازی کد تمیز، ساختار یافته و ماژولار
* آشنایی با مفاهیم زمانبندی، وقفهها
* آشنایی با یکی از RTOSها
* آشنایی و تجربهی عملی با پریفرالهای رایج: (UART/USART, SPI, I2C, DMA, ADC, Timers / PWM)
* توانایی دیباگ سخت افزار، آشنایی با ابزارهای دیباگ مثل ST-Link, J-Link, SWD
* آشنایی با ابزارهای کنترل نسخه مانند Git
* درک نقشه شماتیک و توانایی کمک به طراحی نقشه شماتیک
* توانایی مستندسازی فنی پروژهها
موارد زیر جزء امتیاز حساب می شود
* تجربه کاری مرتبط در حوزه Embedded C
* آشنایی با Bootloader و Firmware Update از طریق UART یا OTA
* تجربه در تکنیکهای Static Test و قواعد کدنویسی مانند MISRA-C/C++
* تجربه در مفاهیم شیءگرایی (Object-Oriented) و زبان برنامهنویسی ++C
* آشنایی با پروتکلهای ارتباطی صنعتی (CAN, Modbus, RS485)
خصوصیات مورد انتظار
* توانایی کار تیمی و برقراری ارتباط مؤثر با اعضای تیم سختافزار و نرمافزار
* مهارت حل مسئله و دیباگ خلاقانه
* مدیریت زمان و تعهد به تحویل بهموقع وظایف
* توانایی مستندسازی و نوشتن کد تمیز
* علاقهمند به یادگیری و حل مسائل پیچیده
مزایای همکاری
* فرصت رشد در معماری برنامه نویسی لایه ای و مستقل از میکرو و مستقل از داده
* محیط کاری فنی و بی حاشیه
* کار روی پروژههای عملیاتی شده