Location: Sainte-Anne-de-Bellevue, QC 4x/week (west end)
Length: 12 months contract + extensions
Why Open: Expected Vacancy
Rate: 50-100/hr
We may use artificial intelligence tools to assist with the screening, assessment, or selection of potential applicants for this position.
The Low Level Embedded Linux Developer is part of a multidisciplinary development team responsible for the architecture, development, integration, and maintenance of low-level embedded software for advanced space applications, including satellite platforms and payload systems.
The successful candidate will contribute to Board Support Package development, Linux board bring-up, bootloaders, kernel configuration, device drivers, and hardware–software integration on custom embedded platforms.
Responsibilities
- Develop, configure, and maintain Board Support Packages for custom embedded platforms and complex Systems-on-Chip.
- Perform Linux bring-up and hardware initialization on new boards.
- Configure, customize, integrate, and debug the Linux kernel, device tree, bootloader, and root file system.
- Develop and maintain low-level software and Linux device drivers for hardware interfaces and peripherals.
- Integrate vendor SDKs, firmware, FPGA interfaces, and hardware components.
- Diagnose complex problems involving hardware, firmware, boot sequences, memory, interrupts, device drivers, and system performance.
- Collaborate with hardware, FPGA, systems, RF, software, and verification teams throughout the development lifecycle.
- Contribute to the definition and refinement of software requirements, architecture, interfaces, and technical designs.
- Optimize boot time, memory usage, reliability, and real-time performance.
- Support software integration, continuous integration, hardware-in-the-loop testing, and release activities.
- Produce and review software requirements, architecture, design, integration, and verification documentation.
- Support technical estimates and contribute to new project proposals.
Requirements
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or an equivalent technical discipline.
- Minimum of 5 years of embedded software development experience, including experience with BSP or low-level Linux development.
- Strong programming skills in C and C++.
- Hands-on experience with Linux board bring-up, kernel configuration, device trees, bootloaders, and device drivers.
- Experience working with embedded processors, complex SoCs, and common hardware interfaces.
- Experience with embedded Linux build systems such as Yocto, OpenEmbedded, or Buildroot.
- Ability to read electrical schematics, hardware datasheets, and SoC reference manuals.
- Strong debugging and problem-solving skills across hardware and software.
- Strong communication and collaboration skills in English or French.
Nice to have
- Experience with Yocto, Buildroot, or similar embedded Linux build systems.
- Experience with RTOS, FPGA-based platforms, or real-time Linux.
- Experience in the aerospace or space industry.
- Knowledge of satellite interfaces or protocols such as CAN, SpaceWire, CCSDS, or MIL-STD-1553.
- Experience with CI/CD, Git, Jira, and Confluence.
- Fluency in both French and English.