Experience: 5 years of commercial experience in embedded projects (bare metal or RTOS).
Language & Tools:
Strong C skills; CMake/Make; GCC/Clang or MCU vendor toolchains; Git; debugger tools (J-Link / ST-Link); trace and profiling tools.
Microcontrollers:
ARM Cortex-M (e.g. STM32 / NXP / Infineon) or equivalent; ability to read and apply datasheets and reference manuals.
HAL / Drivers:
Design and modification of low-level drivers (GPIO ADC PWM I2C SPI UART watchdog timers) as well as drivers for external peripherals (e.g. EEPROM).
Communication:
CAN bus (filters masks bitrates transceivers termination); basic knowledge of SocketCAN (Linux); design of application-level communication protocols.
Bootloader / Firmware Update:
Experience in bootloader implementation firmware updates (e.g. via CAN) integrity verification (CRC) rollback mechanisms and secure update strategies.
Measurements & Protections:
Design and validation of current voltage and temperature measurements (ADC oversampling calibration) and protection mechanisms (thresholds hysteresis time-based debouncing).
Software Architecture:
Design of modular software architecture: clear layer separation (HAL/Drivers Services Protocol Application) state machines event loops interface abstractions.
Quality & Testing:
Integration testing functional verification error logging and tracing; ability to develop Linux-based test tools (SocketCAN).
Documentation:
Technical specifications (drafting review) block diagrams in-code documentation changelogs and environment setup instructions.
RTOS experience (FreeRTOS / Zephyr)
MISRA C
Unit testing (Ceedling / Unity)
Continuous Integration (GitHub Actions / GitLab CI)
Static analysis (clang-tidy cppcheck)
Experience with safety-critical systems (e.g. automotive industrial)
EMC / ESD awareness
Knowledge of UDS / ISO-TP CANopen / J1939
Repository & Branching:
Git with pull requests code reviews and commit conventions (e.g. Conventional Commits).
Build System:
CMake/Make or IDE-based toolchains; per-target configurations (Debug / Release).
Debugging:
J-Link / ST-Link SWD OpenOCD; flashing scripts (e.g. make flash).
Linux Test Rig:
SocketCAN (can0 cangen candump); custom CLI test application for Control Board simulation.
Documentation:
Markdown / AsciiDoc; diagrams in / PlantUML; test checklists.
Issue Tracking:
JIRA or GitHub Issues with linkage to commits and pull requests.
At Infotree, meeting your career needs is a top priority. Client satisfaction is largely dependent on the resources we can provide, and we take pride in our delivery. We have a supportive team in place to give quality people a chance to grow and challenge themselves in their roles whi ... View more