We are a world leader in the design and manufacture of computers for all types of divers, offering products which are powerful, simple and reliable. We take pride in our corporate culture of high energy excellence, with self-managed professionals who thrive in delivering results, and welcome team players to join us in our journey!
We provide a culture that embraces innovation, passion and performance excellence. We are growing fast and offer professional growth opportunities and a dynamic, informal, and engaging workplace. Join our team and enjoy an inspiring environment where challenging and interesting work is part of daily life. We live our brand and being located on the BC coast where we have the Pacific Ocean on our doorstep, we regularly enjoy staff dives using our tech in the local waters. We invite you to check us out at www.shearwater.com.
Job Summary
We are looking for an Embedded Firmware Developer to design, implement, validate, and maintain high-reliability firmware for dive computers and connected products. This is a senior individual contributor role for an engineer who combines strong hands-on embedded development with system-level thinking across MCU architecture, Bluetooth integration, memory and power management, display/peripheral drivers, and product reliability.
The ideal candidate can move effectively from requirements to architecture to implementation to validation, communicate clearly through technical documentation, and use approved AI-assisted engineering tools responsibly to improve productivity without compromising correctness, robustness, or maintainability.
Job Type: Monday to Friday (Hybrid)
Responsibilities
KRA 1. Firmware Architecture, Development, and System Design (40%)
- Design and implement embedded firmware in C/C++ for microcontroller-based products
- Own key aspects of firmware architecture, including modular decomposition, BSP/HAL structure, driver layering, task model, and interface boundaries
- Translate product and system requirements into robust, testable firmware designs with clear attention to timing, memory, power, reliability, and serviceability
- Develop and maintain firmware for peripherals, communication interfaces, display drivers, and low-power operation
- Contribute to system-level design decisions across MCU/chipset, memory architecture, BLE integration, peripheral selection, display strategy, and battery-life optimization
- Make sound engineering trade-offs between performance, maintainability, complexity, schedule, and risk
KRA 2. Verification, Debugging, and Reliability (25%)
- Design and execute firmware verification strategies, including unit, integration, hardware-in-the-loop, and regression testing
- Debug complex hardware/software interactions using debuggers, oscilloscopes, logic analyzers, multimeters, logs, and telemetry
- Validate firmware correctness through code review, static analysis, datasheet checks, and hardware validation
- Analyze field and test failures to identify root causes and drive corrective action
- Resolve subtle embedded issues such as race conditions, memory corruption, timing defects, and power-state transition failures
KRA 3. Documentation and Technical Communication (15%)
- Produce clear technical documentation, including functional specifications, architecture descriptions, block diagrams, data flow diagrams, interface definitions, and design rationale
- Explain clearly the purpose and use of RTOS task models, BSP/HAL abstractions, driver architecture, memory ownership, and synchronization mechanisms
- Communicate technical concepts and design decisions effectively to both technical and cross-functional stakeholders
KRA 4. AI-Assisted Engineering, Tooling, and Productivity (10%)
- Use approved AI-assisted tools such as Claude, ChatGPT, GitHub Copilot, or equivalent to improve productivity in code drafting, refactoring, documentation, test generation, and workflow acceleration
- Critically review and validate all AI-assisted output against requirements, hardware behavior, datasheets, and engineering standards
- Contribute to practical team workflows for safe and effective AI-assisted firmware development
- Build or improve tooling and automation that increase firmware team efficiency
KRA 5. Cross-Functional Contribution and Technical Leadership (10%)
- Act as a strong senior individual contributor within the firmware team
- Participate in design reviews, architecture discussions, and cross-functional technical problem-solving
- Mentor less experienced engineers in embedded fundamentals, debugging discipline, and documentation clarity
- Help raise team standards in engineering rigor, technical communication, and effective tool adoption
- Support legacy firmware and internal engineering tools where needed
Key Qualifications and Experience:
- 7+ years of embedded firmware development for commercial products
- Strong hands-on expertise in embedded C/C++
- Strong understanding of microcontroller-based system design
- Solid experience with RTOS-based embedded systems, including tasks, interrupts, synchronization, and scheduling
- Experience developing or integrating BSP, HAL, peripheral drivers, and communication interfaces
- Strong debugging skills across both software and hardware domains
- Experience working within embedded constraints involving memory, power, timing, and robustness
- Ability to produce clear engineering documentation and work effectively across firmware, hardware, QA, and product teams
Preferred Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, or equivalent practical experience
- Experience with consumer electronics, battery-powered devices, or other resource-constrained embedded products
- Experience with BLE stack integration, profiles, drivers, and troubleshooting
- Experience with memory management, low-power optimization, LCD/OLED integration, bootloaders, and firmware update flows
- Experience creating tooling or automation in Python
- Familiarity with manufacturing test, production validation, CI/CD, and static analysis
- Exposure to RF-oriented firmware, DSP-adjacent logic, or test-jig programming an asset
The successful candidate is a calm under pressure problem solver, who builds effective team relationships through honest and well thought out communication to get the job done and brings:
- Excellent interpersonal, organizational, and verbal/written communication skills.
- Strong work ethic, self-directed, determined, customer/team-oriented, energetic, enthusiastic.
- Demonstrated tenacious follow-up ability, attention to detail, and problem-solving skills.
- Ability to manage priorities and multi-task a variety of assignments with a positive attitude.
- You are interested in diving or think its pretty cool!
Salary Range:
Career Band 3: $90-130k/ year
Benefits:
These are some of the benefits Shearwater employees enjoy:
- Flex time and Hybrid work site arrangements for most professional staff.
- Company paid Life, AD&D, Dental, Extended Health, EAP Plan + Health Spending Account.
- Competitive vacation allowance.
- Group RSP with company matching contributions.
- 6 personal days per calendar year.
- Diving – open water ticket, dry suit and advanced training company paid.
- Bonuses based on successful annual financial performance of the company
- 10 minute tenant shuttle (or bus) from Skytrain and local Parking available
Ready to dive deeper? To apply, please submit your resume and cover letter!
Shearwater Research, is a privately held technology ISO9001:2015 certified world leader in the field of dive computers for serious divers. Based in Richmond, British Columbia, we have dealers in over 70 countries, and service centers in Canada, USA, UK, New Zealand, and Thailand.
Shearwater Research is an equal opportunity employer. If you are contacted regarding the position, please advise the member of our recruiting team of any accommodation measures you may require during our selection process. Information received relating to accommodation needs of applicants will be addressed confidentially.
Job Types: Full-time, Permanent
Pay: $90,000.00-$130,000.00 per year
Benefits:
- Casual dress
- Company events
- Dental care
- Employee assistance program
- Extended health care
- Flexible schedule
- Life insurance
- On-site gym
- Paid time off
- RRSP match
- Tuition reimbursement
- Vision care
- Work from home
Application question(s):
- What tools did you use to solve a very difficult firmware debugging issue you personally solved involving hardware and software interaction?
Experience:
- embedded firmware development for commercial products: 7 years (preferred)
- embedded C/C++: 5 years (preferred)
- microcontroller based system design: 5 years (preferred)
Work Location: Hybrid remote in Richmond, BC V6X 2W7