**A - EMBEDDED SOFTWARE ENGINEER**
**(MCU, RTOS, Linux OS)**
**1/ JOB DESCRIPTION**
Contribute to embedded software for microcontrollers that support functions in modern vehicles. Gain exposure to the development lifecycle, with your responsibilities focused on a specific phase and MCU module based on your technical proficiency and domain experience.
**Understand Software Requirements**
- Analyze requirements for your assigned MCU software module to understand the functionality it needs to deliver.
**Design & Develop Embedded Software**
- Contribute to driver and software design, and implement embedded code for your assigned module.
**Test Software Functionality**
- Perform testing within your assigned scope to verify software behavior against requirements.
**2/ REQUIREMENTS**
**WHAT YOU’LL BRING**
- Bachelor’s Degree or above in Electronic Engineering, Telecommunication, Computer Science, Computer Engineering, Automation, Information Technology or equivalent.
- Strong in C/C++ programming for Embedded Software Development.
- Experience in communication protocols (e.g., SPI, LIN, CAN, FR, ETH, etc.) and MCU peripheral devices (e.g., EEPROM, Flash, etc.).
- Experienced with firmware development and implementing hardware drivers and low-level code for device registers for microcontroller platforms.
- Experienced with Stack, Queues, Pipeline, Socket, Boot loader, secure boot.
- Experienced with embedded software development, Linux OS, RTOS.
- Capable of reading and understanding MCU hardware manual.
**ADDITIONAL SKILLS WE VALUE**
- Knowledge of scripting languages (e.g., Python, Unix Shell Scripts, Visual Basic, etc.).
- Familiar with source version control software (e.g., GIT, SVN, etc.).
- Familiar with CMMI and/or A-SPICE working environments.
- Experience in AUTOSAR standard.
- Good at problem analysis and solving.
- Good English language skills.
- Effective communication skills.
B - EMBEDDED LINUX ENGINEER
**1/ JOB DESCRIPTION**
Work across the Embedded Linux stack from bootloader and kernel integration to build environments, debugging, and release support.
**Develop and maintain Linux platforms**
- Develop, maintain, and support Linux Board Support Packages (BSPs) for SoC platforms.
- Perform kernel rebasing, version upgrades, and BSP integration.
**Support builds and system integration**
- Maintain Yocto Project builds and embedded Linux development environments.
- Support the integration of bootloaders, kernels, device trees, and middleware.
**Debug and validate system behavior**
- Verify Linux kernel functionality, device drivers, and peripheral features.
- Investigate and resolve software issues on ARM-based embedded platforms.
**Contribute to reliable releases**
- Collaborate with teams on software release and maintenance activities.
**2/ REQUIREMENTS**
**⭐ WHAT YOU’LL BRING:**
- Bachelor's degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or equivalent.
- Proficiency in C/C++ programming, including pointers, memory management, and basic data structures.
- Hands-on exposure to embedded Linux systems and ARM-based processors.
- Hands-on exposure to U-Boot, Linux kernel configuration, device tree, and device drivers.
- Comfort working in Linux command-line environments.
- Ability to read and understand hardware manuals, datasheets, and technical specifications.
- Practical exposure to debugging in Linux environments, such as using GDB for stepping through code or analyzing basic faults.
**⭐ HOW YOU APPROACH THE WORK:**
- Curiosity, a problem-solving mindset, and a strong willingness to learn.
- Clear written and verbal communication to document findings and collaborate with teammates.
- A proactive approach to asking questions, raising blockers early, and taking ownership of assigned tasks.
**⭐ ADDITIONAL SKILLS WE VALUE:**
- Knowledge of Yocto Project or Buildroot.
- Bash or Python scripting for automation and tooling.
- Experience with Git version control.
- Familiarity with Valgrind or other memory analysis tools for Linux user-space debugging.
C - EMBEDDED LINUX MIDDLEWARE ENGINEER
**1/ JOB DESCRIPTION**
Turn your C/C++ and Linux skills into middleware that helps embedded software components work together. Contribute across development, testing, and integration for System-on-Chip (SoC) platforms.
**Build middleware and frameworks**
- Design, develop, and test middleware and frameworks for SoC platforms.
- Develop sample applications that demonstrate product functionality and usage.
**Test functionality and integration**
- Perform unit, integration, and functional testing to verify software behavior and component interactions.
- Identify, report, and resolve technical issues throughout development.
**Make your work clear and usable**
- Prepare technical documentation to support understanding and use of the software.
**Collaborate toward successful delivery**
- Work with different teams to address technical challenges and support successful project delivery.
**2/ REQUIREMENTS**
**⭐ WHAT YOU’LL BRING**
- Bachelor's degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or a related field.
- Good programming skills in C/C++.
- Familiarity with Linux development environment and command-line tools.
- Basic scripting skills using Python or Bash.
- Understanding of multi-threading and inter-process communication (IPC) concepts.
- Experience with software development, integration, debugging, and testing.
- Familiarity with build systems such as Makefile or CMake.
**⭐ HOW YOU APPROACH THE WORK**
- Good communication and collaboration skills.
- Proactive attitude and willingness to take ownership of assigned tasks.
- Strong analytical and problem-solving mindset.
- Willingness to learn and share knowledge with team members.
**⭐ ADDITIONAL SKILLS WE VALUE**
- Exposure to embedded Linux, QNX, or FreeRTOS.
- Familiarity with CI/CD tools and automation workflows.
- Knowledge of embedded software architecture or middleware development.
- Experience in automotive, multimedia, camera, display, or related embedded domains.
- Understanding of SoC platforms, boot flow, or hardware/software integration.
- Awareness of MISRA C, static analysis, or functional safety concepts.