Software Engineer, Embedded Algorithms Data
Monterey Bay Aquariam Research Institute
Founded in 1987 by the late David Packard, MBARI is dedicated to merging science, engineering, and marine operations for the purpose of developing new instruments, methods, and systems for advancing scientific research in the ocean. Located in Moss Landing, California, the heart of the Monterey Bay National Marine Sanctuary, MBARI offers ready access to the open ocean and deep sea. Ongoing research programs range across autonomous and remotely operated underwater vehicle systems, control technologies, ocean physics, chemistry, geology, biology, ocean instrumentation, and information management. MBARI hosts approximately 200 employees, with shore facilities that include innovative science and engineering laboratories, manufacturing and electrical fabrication shops, and dock facilities for MBARI vessels.
MBARI is seeking a Software Engineer to bring capabilities in embedded software, data analytics, and algorithm development. As a key developer on multiple projects, this individual will work with teams of researchers, engineers, and operations staff on a range of novel technologies for exploring and measuring the ocean, including:
• Autonomous and crewed marine vehicles
• Innovative imaging systems
• Chemical/physical/biological sensors
• Vehicle control and navigation systems
• AI/ML applications, e.g. automated image/audio processing
• Signal processing
• Aerial drones
• Design, test, deploy and support software used in laboratory and field environments.
• Develop applications for commercially available and custom hardware, using a variety of processors, with and without operating systems.
• Applications include firmware, middleware, algorithms, and utilities for a variety of embedded, desktop, and networked systems.
• Collaborate with development teams to generate functional and design requirements.
• Produce documentation for developers and users.
Engineers in the embedded systems group typically gain experience and contribute in a number of interesting areas, for example:
• Machine vision
• Embedded Linux
• Low-power systems
• Wireless communications
• Robot Operating System (ROS)
This role features occasional participation in shipboard operations for testing and research, with opportunities to participate in longer expeditions. This individual works occasionally in non-office settings, e.g., laboratories, test facilities, and ships. Previous research or fieldwork experience are not required.
• Experience equivalent to a Bachelor’s degree in an engineering field with 3 years of recent software development work
• Proficiency in C, C++, and/or Python, and use of modern development tools
• Experience developing embedded and/or general application software
• Familiarity with machine learning tools and techniques
• Demonstrated collaborative software development skills
• Familiarity with Linux, macOS, and/or Windows applications and development tools
• Use of schematics, protocol analyzer, oscilloscope for troubleshooting
• Understanding of good measurement and data management practices