Senior Embedded Linux Engineer
We build the embedded platform that runs high-power EV charging systems deployed in the field at scale. You will own the Linux platform development: the BSP, the kernel, the boot chain, the drivers, and the build. This is a hands-on engineering role - you will spend your time in kernel source, device trees, and on the bench with real hardware. You will be one of the senior technical anchors of a growing embedded software team in Cebu, working directly with hardware, firmware, application, and test engineers in Cebu and Irvine, California.
What you’ll work with
- ARM Cortex-A SoCs (NXP i.MX class) with Cortex-M safety coprocessors
- Yocto-based BSPs and production image pipelines
- Mainline and vendor kernels, device trees, U-Boot, secure boot and signed images
- CAN FD, Ethernet, USB, SPI, I2C, UART, GPIO, and custom peripheral hardware
- Rust and C/C++ application and service code running on the platform
- Git-based workflows with CI/CD and automated hardware-in-the-loop testing
What you’ll do
- Own and maintain the embedded Linux BSP end to end - kernel configuration, device trees, bootloader, and reproducible production images.
- Develop, port, and debug Linux device drivers for custom and third-party hardware.
- Lead board bring-up alongside hardware engineering: first boot, peripheral validation, signal-level debug, and hand-off to application teams.
- Build and harden the boot chain: secure boot, firmware signing, A/B partitioning, and fail-safe OTA update.
- Drive measurable improvements in boot time, memory footprint, thermal behavior, and field reliability.
- Integrate platform builds and tests into CI/CD, including automated HIL validation.
- Review designs and code, write the documentation that outlives you, and mentor mid-level engineers on the Cebu team.
What you need
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent practical experience.
- 6+ years developing embedded Linux software, including at least one product you took from bring-up to production.
- Strong C, and working proficiency in Linux internals: kernel configuration, device trees, and the driver model.
- Hands-on Linux device driver development or substantial driver debugging.
- Fluency with the embedded interfaces we use - SPI, I2C, UART, CAN, USB, Ethernet - at both the software and signal level.
- Structured hardware/software debugging with GDB, JTAG, trace, oscilloscopes, and logic analyzers, and the discipline to isolate root cause rather than symptom.
- Git and modern code review workflows.
- Clear written and spoken English, and the ability to work effectively with a distributed team across time zones.
- Rust experience, or a credible track record of picking up new systems languages quickly - parts of our stack are Rust and that share is growing.
Nice to have
- Yocto or Buildroot layer authorship and maintenance (Yocto is our build system).
- Multicore ARM SoCs with heterogeneous cores, and AMP/RPMsg communication between Linux and an RTOS or bare-metal MCU.
- Secure boot, firmware signing, TrustZone, or trusted execution environments.
- CI/CD for embedded targets and hardware-in-the-loop test automation.
- Embedded cybersecurity practice - threat modeling, CVE management, IEC 62443 or similar.
- EV charging, industrial control, automotive, or other regulated / safety-relevant hardware domains.
How we work
Small teams with real ownership. Hardware on your desk. Design and code review as a default, not a ceremony. We prefer engineers who surface problems early, write down decisions, and are comfortable saying "I don't know yet - here's how I'll find out."
Logistics
- On-site in Cebu, with access to lab hardware and test benches.
- Regular overlap with the Irvine, California team.