Firmware Developer, Level 2 in Mount Pearl, Newfoundland and Labrador at Kraken Robotic Systems Inc.
Explore Related Opportunities
Job Description
NEW CAREER OPPORTUNITY
Build your career with Kraken Robotics. Make a difference to others. If innovation drives you, and you want a career that makes a difference to the world, helping humanity overcome the challenges in our oceans – safely, efficiently, and sustainably – then come join us at Kraken Robotics.
Kraken Robotics is currently recruiting for a Firmware Developer, Level 2 to join our Mount Pearl, NL, Dartmouth, NS, or remote may be considered. As part of Kraken’s Firmware team, you will work on our KATFISH™ Intelligent Towed SAS System, designing and building firmware that advances our industry-leading underwater platform used in mine detection and hydrographic surveying. This is an intermediate-level role within Kraken’s firmware career framework.
ROLES AND RESPONSIBILITIES
- Develop and maintain low-level firmware within Kraken products.
- Implement and optimize drivers and interfaces for peripherals such as DMA, UART, SPI, CAN, and I²C.
- Write clean, efficient, and high-reliability C++ and C code for resource-constrained environments.
- Collaborate with other disciplines such as Electrical and Systems Engineering to design and validate embedded features.
- Create high-quality, concise documentation for firmware and system components.
- Participate in code reviews as both a developer and reviewer.
- Participate in architecture discussions, and continuous integration processes.
- Develop and maintain build configurations using CMake.
- Use version control systems (e.g., Git) effectively in a team environment.
- Create and execute unit tests and contribute to automated testing frameworks.
- Troubleshoot issues at the firmware, hardware, and system levels.
QUALIFICATIONS AND EXPERIENCE
- Track record of applying firmware development skills in a commercial or real-world setting.
- Degree in Computer Engineering, Electrical Engineering, Software Engineering or equivalent.
- Hands-on experience with Arm Cortex-M microcontrollers or embedded Linux systems.
- Proficiency in C++.
- Experience working with hardware peripherals: DMA, UART, SPI, CAN, I²C.
- Proven ability to write robust, maintainable, and high-reliability firmware.
- Experience with CMake build systems.
- Proficiency with Git or other version control systems.
- Experience with unit testing, integration testing, or hardware-in-the-loop testing.
- Solid understanding of debugging tools (JTAG/SWD, oscilloscopes, logic analyzers).
PREFERRED QUALIFICATIONS
- Knowledge of bootloaders, OTA updates, or secure firmware development.
- Python or scripting skills for automation.
- Hardware in the loop testing experience.
- Familiarity with CI/CD pipelines.