Firmware Developer
![](https://res.cloudinary.com/micronetonline/image/upload/c_crop,h_200,w_200,x_0,y_0/f_auto/q_auto:best/f_auto/q_auto:best/v1738779388/tenants/d67d1859-c8c5-41c2-91ff-23438f7f2e89/39fb423ae492497497d031d77c67bfbd/marinelabsdata-logo.jpg)
Firmware Developer
Contribute to the development of firmware that runs our growing fleet of CoastScout instruments, deployed and operating 24/7/365 off the world's coastlines.
MarineLabs is a fast moving Coastal Intelligence data company that owns and operates a growing fleet of super rugged and rapidly deployable ocean weather instruments, producing reliable high-resolution data products in real-time to benefit marine safety and climate resilience.
MarineLabs is seeking an experienced Firmware Developer to contribute to the development of firmware that runs our growing fleet of CoastScout instruments, deployed and operating 24/7/365 off the world's coastlines. The work involves writing embedded application code to implement new functionalities and improve on existing ones as MarineLabs continuously works to innovate and improve reliability and customer value. In cooperation with electronics engineers, the Firmware Developer is experienced at rapidly integrating new hardware into embedded systems, while maintaining high standards of code quality, testability, robustness, and efficient use of computational resources. They also should make efficient use of build toolchains and testing frameworks to eliminate manual work and ensure that builds and new releases are trustworthy before being deployed to the field.
Responsibilities:
- Design, implement, and test firmware on assigned projects
- Meet project objectives with innovation, creativity, and strong engineering practice
- Design new, innovative features and enhancements/improvements to firmware running on new and existing hardware
- Collaborate with the full engineering team (directors, cloud software developers, hardware engineers, assembly technicians and field personnel) to meet company product development and deployment goals
- Perform peer design and code reviews with other members of the firmware team
- Provide technical evaluations and produce project development and product cost estimates for new product ideas
- Document designs, functional requirements, specifications, and performance of firmware
- Provide support in resolving technical issues, sometimes in real time
The ideal candidate will have:
- Demonstrated programming skills and experience in C, C++ and Python
- Demonstrated experience in developing performance critical firmware in resource-constrained environments
- Demonstrated experience and understanding of real time operating systems (RTOS)
- Demonstrated experience developing firmware for products containing cellular and satellite radio technologies, GNSS receivers, Wi-Fi/BLE transceivers or other wireless technologies
- Familiarity with low power/battery operated design principles and implementation
- Demonstrated experience working with analog and digital circuits and estimating embedded system power and energy use
- Ability to read schematics and integrated circuit device datasheets
- Understanding of modern embedded software development processes including test driven development, automated testing, continuous integration, version control, build system management etc.
- Interested in programming up and down the stack from embedded peripheral drivers to application and networking code
- Demonstrated experience in successfully transferring firmware into production and providing support throughout the product life cycle
- Proficiency in using various tools such as oscilloscopes, meters, logic analyzers, power supplies, etc.
- ARM Cortex-M experience
- Strong written and verbal communication skills with experience articulating technical concepts to cross-functional teams
- Proactive, self-directed with strong prioritization skills
- Passion for the ocean
Knowledge/experience in the following areas would be an asset:
- The marine environment and/or related technologies
- Experience with multiple telemetry technologies
- Development using Docker containers with VSCode on a Linux host machine
- ARM Cortex-A and NPU systems
- Embedded Linux experience
- Experience with embedded systems security
Qualifications
- Undergraduate degree or higher in Software Engineering / Computer Science or equivalent
- 5+ years experience in firmware development in a professional environment
This position is full-time and based in the MarineLabs headquarters in Victoria, BC, with opportunities for some remote work. We offer a competitive compensation package including health benefits and robust vacation programs. We’d love to hear from candidates of all backgrounds, orientations, and abilities.
Please include a cover letter in your application that details what attracts you to this position and why you would be a good fit at MarineLabs to: careers@marinelabs.io
*Applications without cover letters will not be considered.
Learn more about MarineLabs and our mission to revolutionize marine safety and climate adaptation at https://marinelabs.io and https://www.linkedin.com/company/marinelabsdata/
Additional Info
Job Type : Full-Time
Location : Victoria, BC
Experience Level : Intermediate Level
Salary range : 85-105k/yr