Firmware and Software Developer, Intermediate in Burnaby, British Columbia at Cellula Robotics Ltd
Explore Related Opportunities
Job Description
Cellula is looking to add an Intermediate Firmware & Software Developer to its Engineering team to support product development and project delivery.
Cellula Robotics Ltd. is a world-leading marine technology company focused on changing the paradigm of subsea survey, science and security through modular, long range, autonomous underwater vehicle (AUV) systems. Our company is growing and is transitioning from building mostly one-of-a-kind prototypes to completing the development of our four core products and will be delivering multiples of those products to our customers. Our products are configured for each client to deliver required capabilities to the end-user. We are committed to producing sustainable solutions for the defense, mineral exploration, and energy sectors driven by innovation and industry knowledge. We’re looking for enthusiastic and energetic people to join us in this growth and transition.
At Cellula we believe in collaboration, innovation, adaptability and reliability. These values are woven through all our products and how we do business. Our products are designed to be solutions to the challenges and capability needs of our clients, which often requires developing new capabilities and subsystems unique to a particular application. These systems are designed, built, and tested in-house by a skilled team of engineers, technicians, and support staff. People are at the heart of our business, and we pride ourselves on having a team-based workplace and building partnerships to solve the most difficult challenges in ocean technology. We believe in learning and innovating by doing. We send staff along with our products into the field to learn from our clients which informs our innovation.
As an Intermediate Firmware & Software Developer, you’ll leave your mark across Cellula’s products and leverage your experience to take ownership over the software development of a system. You’ll get to see your work becomes widely used across multiple units and different products which are delivered to clients all over the world. You’ll be a force sustaining a positive team culture while contributing your experience and skills to mentor junior engineers in their design efforts. You’ll take part in a product or system’s design, development, testing, and support. You’ll get to participate in sea trials, attend system deliveries to clients, and see how the systems you designed are operated in the field. The ideal candidate has experience in subsea technology such as AUVs, acoustics, ROVs, or similar systems, or has experience in adjacent industries like robotics or other low volume high mix engineering where systems have undergone the transition from prototype to product.
As a company, we offer team members a chance to grow professionally. Our office is a casual, collaborative environment where you will be able to learn about our state-of-the-art systems from technical experts. We’re excited for you to contribute your experience and make a positive impact on how we grow. In addition, we offer flexible work hours, benefits, and competitive compensation. This position is primarily an on-site position with some limited flexibility for remote work.
Duties and Responsibilities
- Define requirements and specification for firmware and software functionality and behaviors.
- Design firmware and software architecture, algorithms, and device interfaces to support autonomous operations and mission execution
- Develop, integrate, and maintain firmware and software for microcontrollers and vehicle operation
- Define and conduct software testing, including unit testing, integration testing, and validation against simulated and real-world scenarios.
- Optimize firmware code for performance, reliability, and low power consumption
- Provide technical support for software applications, including bug fixes, feature enhancements, and operator training.
- Configuration management, quality management, and documentation management.
- Conduct prototype bring-up, hardware validation, and troubleshooting.
- Assist in overall vehicle system integration, troubleshooting, and testing.
- Provide technical support through all phases of a project.
- Create documentation and training material and provide training to Cellula team members and clients.
Required Skills & Experience
- Degree in related field
- Minimum 3 years working experience in a relevant or related field.
- Working experience developing software for hardware applications.
- Proficient with Real-time Linux, ROS, C++, and Python.
- Experience with Mbed OS.
- Good understanding of common communication protocols (I2C, SPI, UART, Ethernet UDP, Serial).
- Experience in embedded systems development (hardware + firmware).
- Proficiency with hardware tools (oscilloscopes, multimeters, logic analyzers).
- Excellent communication skills, both written and verbal.
- Software configuration management experience.
- Technical documentation: specifications, requirements, design documents, test plans/reports, operator manuals etc.
- Ability to work independently and as part of a cross-disciplinary team.
- Analytical, thorough, resourceful, and detail oriented.
- Team and customer service focused.
- Self-motivated, hardworking, flexible.
Desirable Skills & Experience
- Experience with electrical design for military and defense applications.
- Experience in the subsea industry or with subsea robotics applications.
- Experience operating and piloting unmanned underwater vehicles.
- Robotics systems design experience.
- Firmware development experience.
- Cybersecurity experience.
- Registered P.Eng. with EGBC.
- ISO9001 quality control.
Please include a cover letter as part of your application.
Reports to: Software Engineering Manager
Position type: Full time
Location: Burnaby, British Columbia