Senior Embedded Software Engineer – Robot Control (Team Lead)
- Hanoi / Ho Chi Minh City, Vietnam
- Full-time, In-office
Position Overview:
We are seeking an experienced and highly motivated Senior Embedded Software Engineer to lead the development and structuring of the low-level software stack for our humanoid robotics platform. This individual will play a key role in integrating real-time motor control systems using Linux-based environments and EtherCAT communication, while also mentoring and guiding the electrical engineering (EE) team on best practices for embedded software architecture.
The ideal candidate possesses a strong background in embedded systems, robotics software integration, and team leadership. This position acts as a bridge between the EE team and the Robotics Software team, ensuring that the low-level control stack is professionally structured, scalable, and compliant with software engineering standards.
Key Responsibilities:
Design and implement real-time embedded software for robotic control using C++, Python, and ROS on Linux-based platforms.
Lead the structuring, documentation, and testing of embedded software packages developed by the EE team.
Integrate and maintain EtherCAT communication protocols for controlling actuators and sensors.
Guide and mentor engineers on embedded software best practices, including architecture, modularity, code reuse, and version control.
Collaborate closely with existing team members managing the master controller to ensure seamless integration with motor and actuator systems.
Support the implementation of joint dynamics control (e.g., PD controllers) and other real-time feedback mechanisms.
Conduct code reviews and contribute to software quality assurance processes.
Drive continuous improvements in software development processes and toolchains.
Required Qualifications:
Bachelor’s or Master’s degree in Computer Science, Electrical/Electronics Engineering, Mechatronics, or a related field.
A minimum of 4 years of hands-on experience in embedded software development for robotics, automation, or related domains.
Proficiency in C++ and Python programming languages.
Experience with ROS, embedded Linux development, and real-time Linux systems (e.g., PREEMPT_RT, Xenomai).
Strong understanding of EtherCAT communication, device driver development, and kernel module integration.
Familiarity with cross-compilation toolchains (e.g., GCC) and build systems (e.g., make, CMake).
Proficient in version control systems such as Git or SVN.
Demonstrated experience in software architecture, modularization, and long-term codebase maintainability.
Preferred Qualifications:
Practical experience working with robotic or electromechanical systems.
Background in control systems design and dynamics modeling (e.g., PD/PID controllers).
Familiarity with tools such as MATLAB, LabVIEW, or simulation environments.
Experience in the development of commercial or production-grade embedded systems.
Strong analytical and problem-solving skills with the ability to work independently and in cross-functional teams.
Similar job opportunities
BOM & Technical Document Coordinator
- Full-time, In-office
- Due date
QA & Integration Specialist
- Full-time, In-office
- Due date
Junior Embedded Software Engineer
- Full-time, In-office
- Due date
