Middle Embedded Engineer

Rainscales 

📍 Ho Chi Minh City, Vietnam 🇻🇳

full-time
mid-level
Posted —

Key Skills

C/C++YoctoLinuxUARTSPI

Industry

Consumer ElectronicsTelecommunications

Job Description

Key Responsibilities:

•     Develop, optimize, and maintain firmware for embedded devices (microcontrollers / Linux-based SoCs).

•     Build and customize embedded Linux using the Yocto Project (layers, recipes, images, BSP).

•     Contribute to the development and integration of OTA (Over-The-Air update) features: remote firmware/software updates, rollback, and update security.

•     Debug across multiple levels: hardware bring-up, drivers, kernel, and applications; analyze logs, crashes, and memory issues.

•     Work with common hardware and communication interfaces: UART, SPI, I2C, GPIO, USB, Ethernet, etc.

•     Collaborate with Hardware, QA, and System teams to ensure product quality and timelines. Write technical documentation and unit tests for assigned components.

Requirements

•     Bachelor’s degree in Electronics & Telecommunications, Computer Science, Mechatronics, or a related field.

1–3 years of embedded development experience (strong junior candidates with solid fundamentals are also welcome).

•     Proficient in C/C++ ; solid understanding of firmware architecture and how embedded systems work.

•     Hands-on experience with the Yocto Project (Buildroot is a plus).

•     Comfortable with Linux , command line, cross-compilation, and build toolchains.

•     Strong debugging mindset and skills (gdb, JTAG, oscilloscope/logic analyzer are a plus).

•     Able to read and understand technical documentation in English.

Nice to Have

•     Previous experience on OTA-related projects.

•     Knowledge of embedded security (secure boot, signed updates).

•     Python / scripting skills for build and test automation.

•     Experience with Git and CI/CD for embedded development.

•     Familiarity with an RTOS (FreeRTOS, Zephyr, etc.).