The Staff Software Engineer position serves as a vital member of the Oceaneering Technologies (OTECH) group. Staff Engineers are expected to function as lead or key contributors on software and engineering efforts and proposals. This role is vital to producing software solutions that meet electrical, mechanical and CONOPs needs. The ideal candidate has a solid depth of understanding of user-centered design, robotic systems and underwater technologies.
Oceaneering is a global provider of engineered services and products, primarily to the offshore energy industry. We develop products and services for use throughout the lifecycle of an offshore oilfield, from drilling to decommissioning. We operate the world''s premier fleet of work class ROVs. Additionally, we are a leader in offshore oilfield maintenance services, umbilicals, subsea hardware, and tooling. We also use applied technology expertise to serve the defense, material handling, aerospace, science, and renewable energy industries.
Equal Opportunity Employer:
All qualified candidates will receive consideration for all positions without regard to race, color, age, religion, sex (including pregnancy), sexual orientation, gender identity, national origin, veteran status, disability, genetic information, or other non-merit factor.
Essential Qualifications
BS Degree in a STEM (Science, Technology, Engineering or Mathematics) discipline. Commensurate experience will be considered.
8+ years of practical experience in software engineering.
Experience with front-end web application development.
Experience with wireframing and mockup software
Solid written and oral communications skills, including ability to effectively document, convey, and present engineering concepts and products to team members and customers.
Ability to obtain and maintain a United States Government Department of Defense Security Clearance.
Must be a US citizen.
Preferred Qualifications
Experience developing in underwater vehicle or robotic software frameworks and expanding framework capabilities.
Experience working on Department of Defense software efforts.
Experience with Linux OS.
Experience with TypeScript, React, and Redux.
Experience with UI/UX or Human Factors Engineering (HFE) concepts and best practices.
Ability to implement and debug communication protocols including: UDP and multicast, TCP, WebSockets, HTTP/REST APIs, etc.
Experience with pub/sub communication middleware such as OMG-DDS (RTI/ROS2/etc), MQTT, or gRPC/ProtoBuf.
Experience with microservices based architectures utilizing containerization and orchestration.
Experience with Model-Based System Engineering.
Experience with CI/CD, specifically utilizing Jira, GitHub and Artifactory.
Experience with Git version control software.
Duties & Responsibilities
Apply working knowledge of the software lifecycle to develop and lead software efforts.
Make and implement decisions for designing and maintaining software architecture.
Lead a small HMI software team while remaining the primary hands‑on developer
Actively interface with the electrical and mechanical leads, customer, and program manager
Ensure project CDRL's are delivered and accepted by the customer. This includes requirements management, software documentation, unit testing, software safety testing, and software qualification testing.
Lead trade studies for frontend frameworks and libraries such as testing frameworks and component libraries.
Support software testing on the factory floor, offsite, and offshore.
Perform analysis of user requirements, concept of operations documents, and high-level system architectures to develop system requirements specifications.
Guide system development and implementation planning through preparation of concept of operations, interfaces control documents, hazard analysis, and test plans and procedures.
Display excellent technical judgment, attention to detail, and ability to look at the "big picture" in system design.
Demonstrate ability to devise innovative solutions to problems when conventional solutions are insufficient.
Demonstrate ability to advocate for design rationale and technical recommendations.
Review progress and evaluate results of work accomplished by self and others.
Prepare reports and presents results to management and client.
Schedules can be demanding throughout the year and occasional work outside normal working hours should be anticipated.
Staff Engineers are also expected to take a leadership role within the software group. This includes helping craft and enforce policies and procedures for software development, mentorship, and potential functional management responsibilities of team members.
Duties & Responsibilities
Apply working knowledge of the software lifecycle to develop and lead software efforts.
Make and implement decisions for designing and maintaining software architecture.
Lead a small HMI software team while remaining the primary hands‑on developer
Actively interface with the electrical and mechanical leads, customer, and program manager
Ensure project CDRL's are delivered and accepted by the customer. This includes requirements management, software documentation, unit testing, software safety testing, and software qualification testing.
Lead trade studies for frontend frameworks and libraries such as testing frameworks and component libraries.
Support software testing on the factory floor, offsite, and offshore.
Perform analysis of user requirements, concept of operations documents, and high-level system architectures to develop system requirements specifications.
Guide system development and implementation planning through preparation of concept of operations, interfaces control documents, hazard analysis, and test plans and procedures.
Display excellent technical judgment, attention to detail, and ability to look at the "big picture" in system design.
Demonstrate ability to devise innovative solutions to problems when conventional solutions are insufficient.
Demonstrate ability to advocate for design rationale and technical recommendations.
Review progress and evaluate results of work accomplished by self and others.
Prepare reports and presents results to management and client.
Schedules can be demanding throughout the year and occasional work outside normal working hours should be anticipated.
Staff Engineers are also expected to take a leadership role within the software group. This includes helping craft and enforce policies and procedures for software development, mentorship, and potential functional management responsibilities of team members.