Embedded Software Developer
Apply NowJob details
About Openwater: Openwater is at the forefront of developing cutting-edge open-source medical technologies aimed at diagnosing and treating potentially hundreds of diseases using a singular device. Our innovation holds the promise of addressing debilitating conditions like cancer, mental health disorders, strokes, COVID/Long COVID, and extending longevity treatments. We have a wealth of clinical data demonstrating the potential of our technology and are proud to be the world's first open-source, open-patent, open-clinical-data, and open-safety-sharing company, revolutionizing healthcare with the concept of the Silicon Hospital. Role Overview: As an Embedded Software Developer at Openwater, you'll join dynamic cross-functional teams to craft highly inventive solutions for our open-source medical device platforms. Your key responsibilities will include full-stack software engineering encompassing design, implementation, and verification. We seek proactive problem solvers and seasoned designers ready to tackle the challenges of a start-up environment. Responsibilities: Contribute to or lead software development for diverse products, collaborating with teams from engineering, customer service, operations, marketing, and quality assurance. Support and enhance applications that manage medical device information and analyze collected data. Develop and maintain embedded software for STM32 microcontrollers operating on FreeRTOS. Optimize Python communication libraries (USB interfaces) to ensure effective interaction with embedded devices. Create, implement, and maintain user interfaces using Python QT5 for seamless product interaction. Debug, test, and troubleshoot software across embedded and Python environments. Work alongside hardware engineers for seamless integration of software and hardware components. Enhance system reliability, performance, and scalability across all software layers. Manage software release cycles and provide technical support for production-ready systems. Embrace new technologies to aid in the development of future applications. Adhere to company goals and objectives, policies, procedures, design controls, and international/FDA regulations. Craft clean, maintainable, and well-documented code following best practices. Engage in software quality assurance activities critical to the software development process. Document processes to support design history files (DHF's), product verification and validation software, production assembly instructions, and testing. Collaborate on other software initiatives within the company. Qualifications: Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related discipline. A minimum of 5-10 years of embedded software development experience with a proven record in leading complex projects. Experience in medical devices is advantageous. Strong proficiency in C/C++ for embedded systems programming. Expertise in Python programming, focusing on the development of communication libraries and interfaces. Solid understanding of embedded systems, microcontrollers, and real-time operating systems (RTOS). Practical experience with Python QT5 for GUI development. Familiarity with embedded software development tools (e.g., compilers, debuggers, IDEs). Excellent debugging and troubleshooting capabilities for embedded systems and software applications. Knowledge of USB protocols (CDC, HID, or similar) for device communication. Understanding of communication protocols (e.g., UART, SPI, I2C, CAN). Experience with version control systems (e.g., Git). Practioner of STM32 Cube development software preferred. Experience with FPGA and DSP programming, particularly with Lattice devices, is a plus. Strong analytical skills and the ability to solve complex problems. Excellent communication and interpersonal skills for effective collaboration. Proven ability to work well in team settings and lead projects. Strong organizational and project management skills.
Apply Now