شرح وظایف و توانمندی ها:
طراحی، توسعه و تست نرمافزار امبدد با استفاده از C و C++ برای میکروکنترلرها (ARM/STM32 یا معماریهای مشابه).
طراحی و پیادهسازی درایورها، لایهٔ سختافزاری-نرمافزاری و پروتکلهای ارتباطی (UART, SPI, I2C, CAN و ...).
کار با ابزارهای توسعهٔ میکروکنترلر (IDEها، ابزارهای برنامهریزی و دیباگ مثل JTAG/SWD).
مسلط به برنامه نویسی Multi-Thread (Free RTOS/ RTX / MbedOS / Zephyr)
تسلط نسبی بر نرمافزارهای طراحی شماتیک و PCB مانند Altium Designer
زبان انگلیسی در حد خواندن مستندات
توانایی مستندسازی فنی پروژهها
مهارتهای امتیازی:
آشنایی با ابزارهای version control (git)، unit test، و روشهای توسعهٔ ساخت (CI/CD) در حد کاربردی.
خواندن شماتیک و درک مسائل سختافزاری برای عیبیابی نرمافزار/سختافزار مشترک؛ آشنایی با Altium یک مزیت است.
آشنایی یا تجربهٔ عملی با Python برای توسعهٔ ابزارهای تست، اسکریپتنویسی، اتوماسیون یا ارتباط با سیستمهای امبدد.
تجربه در طراحی و توسعهٔ رابط کاربری گرافیکی روی سیستمهای امبدد با LVGL.
آشنایی با Qt / Qt Quick (QML) برای توسعهٔ GUI در پنلها یا سیستمهای مبتنی بر لینوکس.
تجربه یا آشنایی با Embedded Linux
آشنایی با build system ها مثل Make و CMake
آشنایی با اصول کدنویسی (MISRA-C، Clean Code)
آشنا با محیط برنامه نویسی Visual Studio و اکستنشن Platform io
تجربه کار با Raspberry Pi، i.MX، یا Allwinner
آشنایی با سیستم های کنترلی مانند PID یا MPC
مهارتهای ارتباطی و توانایی کار تیمی در محیطهای بینرشتهای.
آشنا به رویکرد Agile و چارچوب Scrum