What are the responsibilities and job description for the Embedded Software Engineer position at OpenWater, Inc.?
About the Company :
Openwater is creating next-generation open-source medical technologies that can enable us to diagnose and treat potentially 100s 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 worlds 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 (DHFs), 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 :