Primary Responsibilities:
• Collaborate with a small engineering team and customers to identify software requirements and evaluate candidate design approaches for solving wide-ranging technical problems.
• Work directly with customers to understand mission needs, translate operational objectives into technical requirements, demonstrate software capabilities, and incorporate feedback throughout development.
• Design and develop maintainable, robust, and performant software applications, services, data pipelines, and user interfaces.
• Develop Python-based software for data processing, analytics, hardware integration, automation, and test applications.
• Build and integrate web-based and desktop user interfaces that enable users to configure systems, visualize data, and monitor operational performance.
• Implement, test, integrate, and verify that software solutions satisfy project and customer requirements for functionality, reliability, performance, and usability.
• Develop and maintain engineering documentation, interface control documents, software requirements specifications, test procedures, and user documentation.
• Communicate regularly across the engineering team and with customers to coordinate development efforts, anticipate design changes, prioritize feature implementations and bug fixes, and solicit feedback.
• Support laboratory, field, and at-sea testing of prototype systems, including troubleshooting software, hardware interfaces, and operational data flows.
• Present technical concepts, development progress, test results, and product demonstrations directly to customers and other stakeholders.