Embedded Software Engineer
- Greater Montreal Metropolitan Area, QC, Canada
$65 to $85 CAD / hour · Contract
Applications open in a new tab.
Job details
- Pay
- $65 to $85 CAD / hour
- Job type
- Contract
- Apply by
- Experience
- 10+ years of embedded software development experience, including significant BSP or low-level Linux development experience.
- Posting language
- English
- Posted
Original job description
Senior Low-Level Embedded Linux Developer
Location: West Island, Montreal (4 days onsite per week)
Clearance Requirement: Must be eligible for Reliability and Controlled Goods Clearances
Overview
Insight Global is seeking a Senior Low-Level Embedded Linux Developer to join a leading Canadian space organization. This individual will be part of a multidisciplinary engineering team responsible for the architecture, development, integration, and maintenance of low-level embedded software supporting advanced space technologies, including satellite platforms and payload systems.
The successful candidate will provide technical leadership across Board Support Package (BSP) 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 (BSPs) for custom embedded platforms and complex System-on-Chip (SoC) architectures.
- Perform Linux board bring-up and hardware initialization on new embedded hardware.
- Configure, customize, integrate, and debug Linux kernels, device trees, bootloaders, and root file systems.
- Design, develop, and maintain low-level software and Linux device drivers for hardware interfaces and peripherals.
- Integrate vendor SDKs, firmware, FPGA interfaces, and additional hardware components.
- Troubleshoot and resolve complex issues involving hardware, firmware, boot sequences, memory management, interrupts, device drivers, and overall system performance.
- Collaborate closely with hardware, FPGA, systems, RF, software, and verification teams throughout the development lifecycle.
- Define and refine software requirements, system architectures, interfaces, and technical designs.
- Optimize boot times, memory utilization, system reliability, and real-time performance.
- Support software integration, CI/CD processes, hardware-in-the-loop testing, and release activities.
- Create and review requirements, architecture, design, integration, and verification documentation.
- Provide technical mentorship, leadership, and guidance to junior and intermediate software developers.
- Contribute to project estimates, technical planning, and proposal development.
Required Qualifications
- Bachelor's degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or a related technical discipline.
- 10+ years of embedded software development experience, including significant BSP or low-level Linux development experience.
- Strong programming skills in C and C++.
- Hands-on experience with Linux board bring-up, kernel configuration, device trees, bootloaders, and device driver development.
- 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 and interpret electrical schematics, hardware datasheets, and SoC reference manuals.
- Strong troubleshooting, debugging, and problem-solving skills across both hardware and software environments.
Preferred Qualifications
- Experience with Yocto, Buildroot, or other embedded Linux build environments.
- Experience working with RTOS, FPGA-based platforms, or real-time Linux systems.
- Background in aerospace, defense, or space technologies.
- Knowledge of satellite communication interfaces and protocols such as CAN, SpaceWire, CCSDS, or MIL-STD-1553.
- Experience with CI/CD pipelines, Git, Jira, and Confluence.
- Fluency in both English and French.
*We may use artificial intelligence tools to assist with the screening, assessment, or selection of potential applicants for this position.
*Pay range for this role is between 65/hr - 85/hr CAD.
*This role is an existing vacancy.
*No requirement for Canadian experience or education.
More about this job
Responsibilities
Lead the development and maintenance of BSPs and low-level embedded Linux software, including board bring-up, kernels, bootloaders, device trees, drivers, and hardware integration for custom platforms. Troubleshoot and optimize system performance and reliability, collaborate across engineering teams, support integration and verification activities, and provide technical leadership and mentorship.
Requirements
Requires a bachelor's degree in a relevant engineering or computing discipline and 10+ years of embedded software experience, including substantial BSP or low-level Linux development. Candidates need strong C and C++ skills, hands-on experience with Linux bring-up, kernels, device trees, bootloaders, drivers, embedded build systems, and the ability to interpret schematics and hardware documentation.
Skills
- Embedded Linux
- Linux Board Bring-Up
- C
- C++
- Linux Kernel Configuration
- Device Trees
- Bootloaders
- Device Driver Development
- Yocto
- OpenEmbedded
- Buildroot
- System-on-Chip
- Hardware-Software Integration
- FPGA Integration
- Hardware Debugging
Visa sponsorship
Not detected in the job text
Categories
- Engineering
- Software
- Technology
Keywords
- Embedded Linux
- Board Support Package
- BSP
- Linux Board Bring-Up
- System-on-Chip
- C
- C++
- Linux Kernel
- Device Trees
- Bootloaders
- Root File Systems
- Device Drivers
- Yocto
- OpenEmbedded
- Buildroot
- RTOS
- FPGA
- Real-Time Linux
- Hardware-Software Integration
- Satellite Platforms
- Space Technologies
- CAN
- SpaceWire
- CCSDS
- MIL-STD-1553
- CI/CD
- Git
- Jira
- Confluence
- Hardware-in-the-Loop Testing