We are recruiting an experienced Software Engineer to join our team to support our client in the automotive industry.
NOTE:
- Onsite 4 days per week in Ottawa, Oakville, or Waterloo
RESPONSIBILITIES:
- Design, develop, integrate, and maintain Board Support Package (BSP) software and device drivers for ARM SoC-based Telematics Control Units (TCU) across multiple product generations
- Full embedded software stack from bootchain through kernel to OS-level system services, supporting production automotive programs from bring-up through mass production
- Design, secure, and maintain the low-level software stack (from bootloader to kernel) for ARM-based automotive SoCs, ensuring robust boot performance, secure OTA updates, and highly optimized vehicle-to-peripheral communication
Key Technical Stack
- Architecture: ARM SoCs, TrustZone, Multicore
- Bootchain: Multi-stage bootloaders, DDR init, Secure Boot (fusing, image signing), A/B trial boot, Fastboot OEM
- Kernel & Drivers: Linux kernel, Device Trees (DTB/DTBO), Ethernet PHY (TC10 sleep/wake), Audio Codecs, NAND/eMMC, GNSS, PCIe, USB, eBPF/XDP.
- Security & OS: dm-verity, SELinux, Yocto Project/OpenEmbedded.
- CI/CD & Tools: Jenkins, Python, Shell, AI tools (Copilot, Claude)
- Primary Focus Areas Secure Boot & Update Reliability: Implementing hardware root-of-trust, secure key management, and robust A/B update mechanisms to prevent bricking during over-the-air (OTA) updates
- Low-Level Driver & Power Management: Writing and debugging automotive-grade drivers, managing low-power states (suspend/resume, TC10), and diagnosing complex kernel crashes (SLUB bugs, IRQ storms)
- Infrastructure & Diagnostics: Build-system maintenance (Yocto), manufacturing tool development, and field crash analysis (pstore, minidump)
- AI-Driven Workflows: Leveraging generative AI tools to accelerate code reviews, refactor legacy code, and automate PR validation
REQUIRED SKILLS & QUALIFICATIONS:
- Bachelor’s degree from an accredited university or a WES-evaluated equivalent
- Minimum 5 years of professional embedded software development experience
- Strong troubleshooting skills, including the ability to identify, root cause, and resolve systemic issues across hardware and software boundaries
- Strong proficiency in C (kernel/bootloader level) and Python (build/test tooling)
- Experience with ARM-based SoC bootchain development
- Linux kernel driver development experience (device tree, platform drivers, interrupt handling, power management)
- Experience with embedded Linux build systems (Yocto/OpenEmbedded, BitBake)
- Understanding of hardware interfaces: UART, SPI, I2C, SGMII/RGMII Ethernet, PCIe, USB, GPIO/PMIC
- Experience with secure boot, image signing, and hardware fuse provisioning
- Familiarity with Git-based workflows (repo tool, multi-project manifests, PR reviews)
- LinuxKernel, GitHub, Jenkins, Python
PREFERRED SKILLS & QUALIFICATIONS:
- Experience with automotive Ethernet (100BASE-T1/1000BASE-T1, TC10 sleep/wake)
- Experience with UEFI/EDK2 bootloader frameworks
- Knowledge of automotive standards (ISO 26262 awareness, AUTOSAR concepts)
- Experience with NAND/eMMC flash management and partition table design
- Familiarity with production signing infrastructure and HSM integration
- Experience debugging production vehicle issues using crash dumps, kernel logs, and field diagnostics
- Demonstrated experience leveraging AI-assisted development tools (e.g., GitHub Copilot, Claude) for code generation, automated code review, driver integration, security analysis, and refactoring in embedded/systems programming workflows
COMPENSATION & BENEFITS:
- $53.00 - $56.00 / hour (depending on experience)
- Paid Benefits after 90 days (individual and family) – extended medical, out-of-country coverage, dental etc.
- Pension eligibility, with employer match, after 1 full year of work (open enrollment every October)
MEDA offers an excellent referral bonus. Great candidates know great candidates.
MEDA Limited is an equal opportunity employer and does not discriminate in employment on the basis of any of the protected reasons as described in the Ontario Human Rights Code. We are committed to providing accommodation for persons with disabilities, as described in the Accessibility for Ontarians with Disabilities Act, 2005, reasonable accommodation requests will be reviewed and granted to those that request assistance during our hiring process.