We are seeking a Senior Embedded Software Engineer to work as part of our R&D software-firmware design team.
Position Overview
In this senior technical role, you will take ownership of embedded firmware development for microcontroller-based systems integrated within high-speed optical modules.
You will work closely with cross-functional teams-including hardware, optics, ASIC, systems, and test engineering-to deliver robust, scalable, and production-ready solutions. This position requires strong technical leadership, deep hands-on expertise in embedded C development, and the ability to drive projects from concept through production release.
The successful candidate will have a proven track record of close collaboration with hardware and electrical teams, experience bringing up and debugging firmware on new hardware platforms, and broad embedded systems expertise developed across a diverse set of projects.
Note: While Ranovus supports a hybrid work model combining remote and on-site work, this role requires significant on-site presence at our Kanata, Ontario facility.
Key Responsibilities
Firmware Architecture & Development
- Architect, design, and implement low-level embedded firmware for microcontroller-based optical communication systems, primarily in C.
- Define firmware requirements, interfaces, and system behavior in collaboration with hardware and system architects.
- Develop device drivers, control loops, diagnostics, telemetry, and communication protocols.
- Optimize firmware for performance, power efficiency, memory utilization, and long-term reliability.
- Lead board bring-up, hardware-software integration, and system-level validation activities.
Software Quality & DevOps
- Establish and promote best practices for secure, scalable, and maintainable firmware development.
- Drive continuous integration and delivery (CI/CD) improvements using GitLab and automated build and test pipelines.
- Define and implement unit, integration, and system-level test strategies.
- Lead complex debugging and root-cause investigations across firmware, hardware, and system boundaries.
Technical Leadership
- Mentor junior engineers and co-op students, fostering technical growth and best practices.
- Contribute to technical roadmaps, architectural reviews, and design discussions.
- Develop and maintain technical documentation, coding standards, and development processes.
- Interface with external partners and manufacturing teams to support production deployment and sustainment.
Required Qualifications
- Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or an equivalent combination of education and professional experience.
- 10+ years of professional experience in embedded firmware development.
- Expert-level proficiency in C for embedded systems.
- Strong experience developing firmware for microcontrollers and resource-constrained environments.
- Deep understanding of embedded systems fundamentals, including interrupts, DMA, RTOS concepts, bootloaders, and memory management.
- Experience developing software in Linux-based environments.
- Proficiency in Python for scripting, automation, or system-level tools.
- Experience with version control and CI/CD workflows (Git, GitLab).
- Strong hands-on debugging skills using oscilloscopes, logic analyzers, and related lab instrumentation.
- Excellent written and verbal communication skills.
Preferred Qualifications
- Experience with optical communication systems or high-speed networking products.
- Familiarity with data center interconnect technologies.
- Experience designing and deploying embedded Linux systems.
- Knowledge of networking protocols and client-server architectures.
- Exposure to Rust for embedded or systems-level applications.
- Experience with automated testing frameworks and verification methodologies.
- Familiarity with typical integrated development environments, make-based build systems, and modern build tooling.
Personal Attributes
- Strong sense of ownership and accountability.
- Ability to work independently while contributing strategically to team objectives.
- Structured, analytical problem-solving approach.
- Collaborative team player comfortable working in cross-functional engineering environments.