Embedded Software Engineer - Openwater
San Mateo, CA 94401
About the Job
About the Company:
Openwater is creating next-generation open-source medical technologies that can enable us to diagnose and treat potentially 100’s of diseases with a single device. With this advancement comes the promise of treatment of debilitating diseases including cancer, mental disease, stroke, COVID/Long COVID and longevity treatments. We already have a trove of clinical data demonstrating the promise of our technology, and now Openwater is the world’s first open-source, open-patent, open-clinical-data, and open-safety-sharing company, centered on the new idea of the Silicon Hospital.
About the Role:
As an Embedded Software Engineer at Openwater, you will work with cross functional teams to develop highly innovative solutions for our open-source medical device platforms. You will be responsible for full stack software engineering including design, implementation, and verification. You must be a pro-active, strong problem solver, and an experienced designer with a willingness to roll up your sleeves and do what is needed in a start-up environment.
Responsibilities and Duties:
- Contribute to, or own, software development for a variety of products that require inputs from a cross functional team including engineering, customer service, operations, marketing, and quality.
- Maintain and support future development of applications that manage medical device information and perform data analysis on collected data.
- Develop and maintain embedded software for STM32 microcontrollers running FreeRTOS.
- Enhance and optimize Python communication libraries (USB interfaces) for interacting with embedded devices.
- Design, implement, and maintain Python QT5-based user interfaces for seamless product interaction.
- Debug, test, and troubleshoot software across embedded and Python environments.
- Collaborate with hardware engineers to ensure smooth integration between software and hardware components.
- Improve system reliability, performance, and scalability across all software layers.
- Support software release cycles and provide technical assistance for production-ready systems.
- Learn new technologies to plan and support future development of new applications.
- Support company goals and objectives, policies and procedures, design controls, and international/FDA regulations
- Write clean, maintainable, and well-documented code adhering to best practices.
- Participate in software quality assurance activities required by the software development process.
- Responsible for documentation to support design history files (DHF’s), product design verification and validation software, verification and validation, production assembly instructions, and production testing
- Support other software efforts within the company
Qualifications and Skills:
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- Minimum of 5-10 years of experience in embedded software development, with a proven track record of leading complex projects
- Medical device experience a plus.
- Strong knowledge of C/C++ for embedded systems programming.
- Proficiency in Python programming with experience developing communication libraries and interfaces.
- Strong understanding of embedded systems, microcontrollers, and real-time operating systems (RTOS).
- Hands-on experience with Python QT5 for GUI application development.
- Experience with embedded software development tools (e.g., compilers, debuggers, IDEs).
- Strong debugging and troubleshooting skills for both embedded systems and software applications.
- Familiarity with USB protocols (CDC, HID, or similar) for device communication.
- Knowledge of communication protocols (e.g., UART, SPI, I2C, CAN).
- Experience with version control systems (e.g., Git).
- Experience with STM32 Cube development software preferred.
- Experience with FPGA and DSP programming, specifically with Lattice devices preferred.
- Excellent problem-solving and analytical skills.
- Strong communication and interpersonal skills.
- Ability to work effectively in a team environment and lead projects.
- Strong organizational and project management skills.