Job Summary:
We are seeking a talented and driven Embedded Software Developer to join our embedded systems team. In this role, you will architect, develop, and maintain low-level software for cutting-edge IoT devices, working at the intersection of hardware and software. The ideal candidate has strong microcontroller programming skills, experience with Real-Time Operating Systems (RTOS), and a deep understanding of sensory applications and wireless connectivity such as BLE.
Key Responsibilities:
- Design, develop, and maintain embedded software and firmware for IoT products using C/C++
- Implement and optimize drivers for sensors, peripherals, and wireless interfaces (BLE, Wi-Fi, etc.)
- Develop applications running on RTOS or embedded Linux for data acquisition, signal processing, and device control
- Integrate firmware with mobile application interfaces (BLE/GATT)
- Collaborate with hardware engineers to bring up new platforms and perform system debugging and performance tuning
- Ensure code reliability through unit testing, static analysis, and hardware-in-the-loop testing
- Participate in firmware architecture and code reviews
- Produce clear documentation and adhere to version control and CI/CD practices
Qualifications & Experience (not all inclusive):
- Bachelor's or Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related field
- 10+ years of experience developing embedded firmware for microcontroller-based systems (ARM Cortex-M or similar)
- Proficient in C and C++; familiarity with low-level programming and memory/resource-constrained systems
- Experience with RTOS such as FreeRTOS, Zephyr, or RTX
- Hands-on experience with peripheral communication protocols (SPI, I2C, UART, ADC, PWM)
- Strong understanding of BLE stack, profiles (e.g., GATT), and mobile integration
- Hands-on experience with IoT protocols such as MQTT, CoAP, or HTTP(S)
- Experience with embedded Linux for IoT platforms is a definite plus
- Familiarity with sensor data acquisition and signal processing techniques
- Solid debugging skills using tools such as oscilloscopes, logic analyzers, and in-circuit debuggers (e.g., J-Link, ST-Link)
- Knowledge of OTA (over-the-air) firmware update mechanisms a plus
- Working knowledge of power optimization techniques for battery-powered devices
- Experience with secure bootloaders and encryption in embedded systems
- Exposure to version control (Git), issue tracking (Jira), and continuous integration workflows
Other Requirements
This role is 100% work from office. It is based in Ottawa, Ontario, Canada.
Relocation of candidates will not be considered or provided.
Why Join Us?
- Opportunity to lead and shape the engineering vision of next-gen solutions.
- Collaborative and fast-paced work environment.
- A chance to work on cutting-edge technology and make a real business impact.
- A chance to work with customers on the cutting edge of technology development and adoptionn
About Averian
Averian is a global software development and engineering services company specializing in AI, embedded systems, and custom applications. With offices in North America and Europe, Averian supports clients in telecom, automotive, industrial, and med-tech sectors with innovative solutions designed for performance, scalability, and real-world impact.
If you are a visionary engineer with a passion for technology and people, we invite you to apply!
Job Type: Full-time
Experience:
- Software development: 10 years (required)
Language:
Location:
- Kanata, ON (K2K) (required)
Work Location: In person