At a glance
- Pay
- $119k – $178k/yr
- Type
- Full Time
- Location
- Hanover, Maryland
- Posted
- Oct 12, 2026
- Visa sponsorship
- Oceaneering sponsorsFrom recent H-1B filings
- Industry
- Energy
About the role
The Software Engineer III is a key technical contributor within Oceaneering Technologies (OTECH), responsible for driving software development efforts that support one‑of‑a‑kind underwater systems built for U.S. Navy and other DoW customers. Engineers at this level apply deep understanding of the software lifecycle to design system architectures, lead or significantly contribute to project software activities, and ensure delivered solutions satisfy electrical, mechanical, and operational (CONOPS) needs while collaborating closely with engineering leads, project managers, and external customers.
Beyond feature leadership, this role executes hands‑on systems software work across Linux‑based distributed and embedded environments—implementing system services and application components; building hardware/software interfaces and device drivers; enabling data‑processing functions; and delivering robust communications capabilities. Typical development spans native Linux and containerized deployments (e.g., Docker/Podman) with orchestration via Kubernetes, and leverages DDS‑based publish/subscribe messaging for real‑time, mission‑critical data exchange—consistent with OTECH integration‑lab practices and container/DDS orchestration patterns.
Engineers will participate in the complete software development lifecycle: requirements implementation, software design, coding, unit and integration testing, debugging, peer reviews, configuration management, and technical documentation. The role benefits from a systems‑programming foundation (memory/resource management, multithreading/concurrency, IPC, networking, and efficient data structures) and facility with modern toolchains and build systems (GCC/Clang, Cargo, CMake), debugging and analysis tools (GDB, sanitizers), and structured data formats (JSON, XML).
Work products are supported by CI/CD pipelines and automated testing to ensure reliability and repeatability; engineers frequently contribute to test harnesses and lab workflows that validate containerized services and DDS participants under failure‑recovery and health‑check scenarios.
Success in this role requires strong technical judgment, the ability to see the big picture, and a capacity to devise innovative solutions when conventional approaches fall short. Engineers are expected to mentor junior developers, support proposal and design trade studies, and participate in software testing across factory floor, offsite, and offshore environments—developing solutions that integrate seamlessly with sensors, SBC‑based control systems, and mission operations while meeting documentation and CDRL acceptance criteria consistent with OTECH standards.
Apply working knowledge of software lifecycle to develop and begin leading software efforts.
Implement decisions for designing and maintaining software architecture.
Actively interface with other engineering leads, program managers and external customers.
Key contributor to creation, maintenance and acceptance of project CDRL’s. This includes requirements management, software documentation, unit testing, software safety testing, and software qualification testing.
Contribute to trade studies for hardware such as navigation units, board stacks, and power monitors.
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.
Displays excellent technical judgment, attention to detail, and ability to look at the “big picture” in system design.
Demonstrates ability to devise innovative solutions to problems when conventional solutions are insufficient.
Prepares 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.
Mentorship of junior team members.
Essential Qualifications
- BS in Computer Science, Computer Engineering, Mathematics, Electrical Engineering, or a related STEM field (or commensurate experience).
- 5+ years of practical software engineering experience.
- Foundational understanding of Linux system programming.
- Proficiency in at least one core systems language: C, C++, or Rust.
- Understanding of memory and resource management, multithreading/concurrency, and inter‑process communication (IPC).
- Understanding of networking fundamentals and structured data handling.
- Ability to participate in all phases of the SDLC: requirements implementation, design, coding, unit and integration testing, debugging, peer reviews, configuration management, and documentation.
- Ability to work collaboratively with software, systems, hardware, test, and cybersecurity teams.
- Strong written and verbal communication skills, with the ability to document and present engineering concepts effectively.
- Ability to obtain and maintain a U.S. DoW Security Clearance.
- Must be a U.S. citizen.
Preferred Qualifications
- Experience developing underwater vehicle or robotic software frameworks and extending framework capabilities.
- Experience working on DoW software programs.
- Experience with Linux or bare‑metal firmware development.
- Experience developing system services, application components, hardware/software interfaces, or data‑processing functions for Linux‑based distributed or embedded systems.
- Familiarity with Linux system programming fundamentals (memory/resource management, IPC, multithreading, networking, data structures).
- Experience with microservices architectures, containerization, and orchestration (Docker/Podman, Kubernetes).
- Familiarity with distributed systems and DDS‑based publish/subscribe messaging.
- Experience with Rust or Python for systems scripting, tooling, or automation.
- Familiarity with GCC/Clang, Cargo, CMake, build systems, and command‑line development workflows.
- Experience with debugging tools such as GDB and sanitizers.
- Experience with microprocessors and SBC‑based control systems interfacing with sensors and hardware (cameras, navigation sensors, valve packs, etc.).
- Ability to implement and debug communication protocols including UDP/multicast, TCP, serial, SPI, I2C, and CAN.
- Experience with CI/CD pipelines and automated testing.
- Ability to set up basic bench‑testing environments (power, communications links, analog devices).
- Proficiency with lab measurement tools such as oscilloscopes and multimeters.
- Experience with Jira, Git, and modern development workflows.
- Ability to work collaboratively with software, systems, hardware, test, and cybersecurity engineering teams.
- Experience with UI/UX design.
Additional
Additional duties as assigned.
We offer a comprehensive and competitive benefits package. Employee benefits vary by role, however, may include Health and Wellness, Mental Health, Retirement Savings, Life and Disability, Paid Maternity and Parental Leave, Paid Time Off, Tuition Reimbursement, and an Employee Assistance Program.
Compensation $118,600.00 - $177,800.00
About Oceaneering
More open roles at Oceaneering
Be first in line for the next Oceaneering role
Scoutify watches 70,000+ companies and alerts you the moment a matching job posts. It can even apply for you before the rush.