logo

View all jobs

Senior Embedded Software Engineer

Burnaby, British Columbia
Senior Embedded Software Engineer

Aversan Inc. (www.aversan.comis a trusted multi-service engineering and electronics manufacturing company. Aversan delivers leading-edge and reliable safety-critical electronics and software systems to the aerospace, defense, and space industries.


We are currently seeking a qualified Senior Embedded Software Engineer to work on leading-edge technology products.
 
Location: Burnaby, BC
Schedule: Onsite

Compensation: Base pay + Performance based Quarterly Bonus + Equity + Stock options


Description
We are looking for a Senior Member of Technical Staff (SMTS) with deep expertise in embedded software to play a critical role in architecting, developing, and optimizing software for our next-generation embedded systems. In this position, you will lead complex development efforts, contribute to platform architecture decisions, and help guide junior engineers through technical challenges.

You’ll work closely with cross-functional teams including hardware design, system architecture, and applications engineering to deliver high-performance 3D sensing reference designs.

Responsibilities.
  • Architect, develop, and maintain embedded software across the full stack - from low-level drivers and kernel modules to middleware and user-space applications using C/C++ and Python.
  • Design and customize Linux-based embedded systems, including building and maintaining Yocto-based distributions and Board Support Packages (BSPs).
  • Lead bring-up and integration of custom hardware platforms, including bootloader, kernel, and driver development.
  • Develop and debug device drivers and peripheral interfaces (SPI, I2C, UART, USB, Ethernet).
  • Drive performance optimization of networking stacks and real-time data processing in embedded Linux systems.
  • Analyze and troubleshoot system-level issues across hardware/software boundaries using tools such as JTAG, logic analyzers, and profiling utilities.
  • Contribute to system architecture, interface design, and long-term platform scalability.
  • Define and implement software development best practices, including CI/CD pipelines, code reviews, and automated validation.
  • Mentor and support junior engineers, conduct technical reviews, and provide guidance on complex issues.
  • Create detailed technical documentation, design specifications, and debugging procedures.

Basic Qualifications
  • Master’s degree in computer science or equivalent work experience.
  • 8+ years of embedded software development.
  • Expert-level proficiency in C and C++, with experience in Python.
  • Strong experience with Linux kernel, driver development, and Yocto build system.
  • Hands-on experience with networking protocols (TCP/IP, UDP, MQTT, etc.).
  • Familiarity with bootloaders, BSP development, and real-time constraints.
  • Experience debugging embedded systems using JTAG, oscilloscopes, and logic analyzers.
  • Knowledge of system profiling, memory management and performance optimization.
  • Ability to read and interpret data sheets to inform implementation.
  • Expertise of working in Linux environments.
  • Expertise in Source code version control (Git).
  • Strong problem-solving skills and ability to work in a fast-paced environment.
  • Experience in Lidar, 3D Sensing Systems or real-time imaging systems.
  • Hands-on experience of real-time operating systems (RTOS) and bare-metal development.
  • Familiarity with hardware bring-up and board support package (BSP) development.
  • Understanding of security best practices for embedded systems.
  • Familiarity with Atlassian tools (Jira, Confluence, Bitbucket).
  • Familiarity with working in Agile environments (Scrum / Kanban).
  • Familiarity with embedded software development e.g. C, C++







                                                                                                                                 

Share This Job

Powered by