Role Overview
We are seeking Embedded Software Engineers / Senior Embedded Software Engineers to join our automotive software engineering teams in Ho Chi Minh City.
The role covers the full embedded software development lifecycle, from requirement analysis and architecture/design through implementation, integration, testing, debugging, and maintenance. Depending on your expertise, you may work primarily on low-level Embedded C, drivers and AUTOSAR Classic, or on C++ architecture and safety-critical automotive software.
Key Responsibilities
-
Design, implement, integrate, and maintain embedded software for automotive ECUs and systems using C and/or C++.
-
Analyze system and software requirements and convert them into technical solutions, specifications, and software designs.
-
Develop software following automotive development methodologies, coding standards, and quality requirements.
-
Conduct code reviews, debugging, performance optimization, and root-cause analysis.
-
Work closely with software architects, system engineers, product teams, and other stakeholders to clarify requirements and establish appropriate technical solutions.
-
Support software integration, verification, qualification, and automated testing activities.
-
Integrate and work with third-party software components and external technology partners when required.
-
Develop solutions across both AUTOSAR and non-AUTOSAR environments.
-
Apply coding guidelines, static analysis, and software quality practices throughout development.
-
Contribute to improving engineering processes and automating development, build, and testing workflows.
Technical Focus Areas
Depending on your background, you may specialize in one or more of the following areas:
1. Embedded C / Low-Level Development
-
Develop embedded software in C for automotive microcontrollers and ECU platforms.
-
Work on low-level software, Basic Software (BSW), MCAL, or device drivers.
-
Develop and integrate software interacting with automotive peripherals and interfaces, including:
-
CAN / LIN / FlexRay
-
SPI
-
ADC
-
Timers
-
Watchdog
-
Interrupts
-
DMA
-
Memory interfaces
-
-
Experience with AUTOSAR Classic modules such as NVM, COM, and Diagnostics.
-
Knowledge of automotive diagnostics and communication standards including CAN, UDS, ISO 14229, and J1939.
-
Familiarity with MISRA C and other embedded software coding guidelines.
2. C++ / Software Architecture / Safety-Critical Systems
-
Design and develop software architectures for complex automotive systems.
-
Build safety-critical applications using modern C++.
-
Experience with ADAS or other advanced automotive systems is highly relevant.
-
Work with AUTOSAR Classic and/or Adaptive AUTOSAR.
-
Understanding of automotive middleware and communication technologies such as:
-
SOME/IP
-
DDS
-
IPC
-
Automotive Ethernet
-
CAN
-
-
Knowledge of functional safety and ISO 26262.
-
Familiarity with MISRA C++, static analysis, and software quality assurance.
-
For senior-level roles, contribute to or take ownership of software architecture and key technical design decisions.
Requirements
-
Bachelor's degree or above in Computer Science, Software Engineering, Electrical/Electronics Engineering, or a related discipline.
-
3+ years of professional software development experience, ideally within embedded systems or the automotive industry.
-
Strong hands-on programming skills in C and/or C++.
-
Solid understanding of embedded software concepts, development practices, and software engineering principles.
-
Strong debugging, analytical, and problem-solving capabilities.
-
Experience working within structured software development processes, including code reviews, quality assurance, and coding standards.
-
Ability to collaborate effectively with multidisciplinary engineering teams.
-
For senior positions, experience making technical decisions and contributing to software architecture is preferred.
Nice to Have
-
Previous experience with automotive ECU development.
-
Hands-on experience with AUTOSAR Classic/Adaptive.
-
Knowledge of automotive functional safety and safety-critical software development.
-
Experience with ADAS, automotive Ethernet, or modern automotive middleware.
-
Familiarity with static analysis and industry coding standards such as MISRA.
-
Experience working in an ASPICE/V-Model development environment.