Aversan Inc. (www.aversan.com) is 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 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 seeking a highly skilled Embedded Software Engineer to join our technical team. As a Member of Technical Staff (MTS), you will be responsible for developing and optimizing embedded software for our next-generation products. You will work closely with hardware engineers, firmware developers, and system architects to create high-performance, reliable, and scalable solutions.
Responsibilities.
Develop, optimize, and maintain embedded software, including low-level drivers, middleware, and application code.
Design and implement software components for Linux-based embedded systems using C/C++ and Python.
Customize and build Yocto-based Linux distributions for embedded platforms.
Develop and debug device drivers for peripherals and interfaces such as SPI, I2C, UART, USB, Ethernet.
Optimize system performance and troubleshoot kernel-level and user-space issues.
Work on networking protocols and optimize network stack performance for embedded systems.
Collaborate with cross-functional teams to define software requirements and integrate with hardware.
Implement software development best practices, including version control, CI/CD pipelines, and automated testing.
Document designs, implementations, and debugging procedures.
Basic Qualifications
Master’s degree in computer science or equivalent work experience.
5+ years of embedded software development.
Proficiency in C and C++, with experience in Python for scripting and automation
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 with 3D Sensing Systems & LiDAR technology.
Knowledge of real-time operating systems (RTOS) and bare-metal programming.
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++