"UDZ" is a Russian developer and manufacturer of a wide range of unmanned aerial systems — from compact drones to heavy-lift multicopters and fixed-wing UAVs.
Due to company growth and expansion of development areas, we are looking for an Embedded Systems Programmer (Embedded C/C++) for onboard and ground control systems of UAVs.
You will work with microcontrollers, single-board computers, develop various modules, configure flight stacks, and participate in device testing.
Responsibilities:
- Low-level programming of STM32 and ESP32/ESP8266 microcontrollers; implementation of I2C, SPI, UART/USART drivers and protocols;
- Development and support of software on single-board computers Orange Pi, Raspberry Pi, and other similar single-board computers running Linux\ADB;
- Deployment, configuration, and maintenance of Docker containers and microservices;
- Programming in C, C++, Python: development of firmware, system utilities, automation scripts;
- Participation in laboratory and field tests of developed devices and systems;
- Preparation of technical documentation: architectural descriptions, test protocols, operating instructions;
- Development of software for data exchange between onboard and ground systems using the MAVLink protocol and DDS middleware (DDS-Client / uXRCE-DDS);
- Setup, configuration, and adaptation of PX4, ArduPilot, INAV, and Betaflight flight stacks for target hardware platforms: parameterization, calibration, peripheral integration;
- Development of C++ software modules using the ROS2 framework under Linux OS.
- Work with the Git version control system within the team: code reviews, branches, documentation.
Requirements:
- Higher technical education, interesting portfolio projects are welcome;
- Work experience in embedded systems programming;
- Proven experience in firmware development for STM32 and ESP32;
- Experience with ROS2, DDS Client, Docker and containerized applications, and Linux systems at the level of system administration and development;
- Proficiency in specialized software: IDEs and development tools: STM32CubeIDE, ESP-IDF (VSCode + PlatformIO), CLion; build systems: CMake, Make, ninja; debugging: OpenOCD, GDB, ST-Link Utility, J-Link RTT Viewer; traffic and protocol analysis: Wireshark, Logic 2 (Saleae), PulseView;
- Attention to detail, analytical thinking, ability to work under high reliability and speed requirements.
Conditions:
- Employment under the Labor Code of the Russian Federation
- Stable "white" salary
- 5/2 schedule from 9:00 to 18:00
- Shuttle service to the workplace (Koltsovo district)
- Corporate dining
- Competitive salary
- Interesting projects and work with cutting-edge technologies
- Modern equipment, any hardware for efficient task completion
- Opportunities for self-development: trainings, conferences, education
- The final salary level is determined by the results of the technical interview in accordance with the candidate's experience, knowledge, and skills