Embedded Software Engineer / C/C++ DeveloperJob description:We are looking for a software engineer to develop, debug and optimize embedded systems based on Linux and microcontrollers. The main focus is working with peripherals, low-level communication protocols (CAN, UART, RS485, IC), drivers and system programming. 600">Main responsibilities:Implementation of communication protocols (CAN, RS-485, UART, SPI, I?C, Ethernet, etc.);Practical experience in code development and validation for safety-
Embedded Software Engineer / C/C++ Developer
Job description:
We are looking for a software engineer to develop, debug and optimize embedded systems based on Linux and microcontrollers. The main focus is working with peripherals, low-level communication protocols (CAN, UART, RS485, IC), drivers and system programming. 600">Main responsibilities:
- Implementation of communication protocols (CAN, RS-485, UART, SPI, I?C, Ethernet, etc.);
- Practical experience in code development and validation for safety-critical systems (ASIL, DO-178C, IEC 61508, ISO 26262 or similar standards). Ability to create deterministic, verifiable and fault-tolerant code
- Testing, profiling, performance and memory optimization;
- Working with version control systems (Git);
- Documenting code and technical solutions;
Requirements:- Knowledge of C and/or C++ - working with memory, data structures, multithreading;
- Experience with Git (branching, merge, pull request, submodules);
- Knowledge of Linux: shell, compilation, assembly (Make/CMake), working with libraries, system logs;
Will be a plus:- Experience with embedded systems (ARM, STM32, ESP32, Arduino, Raspberry Pi, etc.);
- Understanding and practical experience with protocols:
- CAN / CAN FD (SocketCAN, CANOpen, etc.)
- UART / RS-485
- I?C / SPI
- Ethernet / TCP/IP (basic concepts)
- Understanding the principles of electronics: GPIO, ADC/DAC, PWM, sensors, power interfaces;
- Experience with debugging tools: Logic Analyzer, Oscilloscope, JTAG/SWD, Serial Monitor;
Experience with motor control systems (PWM, PID, CAN servo);