Embedded Software Engineer

job
  • Openwater
Job Summary
Location
San Francisco ,CA
Job Type
Contract
Visa
Any Valid Visa
Salary
PayRate
Qualification
BCA
Experience
2Years - 10Years
Posted
04 Feb 2025
Share
Job Description

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.

Other Smiliar Jobs
 
  • Santa Clara, CA
  • 20 Hours ago
  • Santa Rosa, CA
  • 20 Hours ago
  • Fremont, CA
  • 20 Hours ago
  • San Mateo, CA
  • 20 Hours ago
  • San Jose, CA
  • 4 Hours ago
  • Hayward, CA
  • 4 Hours ago
  • Sunnyvale, CA
  • 4 Hours ago
  • Alameda, CA
  • 4 Hours ago
  • Sonoma, CA
  • 4 Hours ago