Software Engineer III

Oceaneering

Hanover (MD)

On-site

USD 119,000 - 178,000

Full time

11 hours ago
Be an early applicant

A complete application in a minute

Tailored resume and cover letter, ready to send.

Get past ATS filters

Benefits offered by this job

Health and Wellness
Retirement Savings
Paid Time Off
Medical Coverage

Job summary

Oceaneering is seeking a Software Engineer III to drive software development for underwater systems supporting U.S. Navy and other DoW customers.

You will design architectures, lead project software activities, and ensure CONOPS needs are met while collaborating with engineering leads and external customers. Role spans native Linux and containerized deployments with Docker/Podman, Kubernetes orchestration, and DDS-based messaging for real‑time data exchange.

Qualifications

  • BS in Computer Science, Computer Engineering, Mathematics, Electrical Engineering, or 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 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.

Responsibilities

  • Apply software lifecycle knowledge to develop and lead software efforts.
  • Design and maintain software architecture decisions.
  • Interface with engineering leads, program managers and external customers.
  • Create, maintain and accept project CDRLs with documentation and testing.
  • Contribute to hardware trade studies and system requirements development.
  • Support software testing on factory floors, offsite and offshore.
  • Analyze user requirements and high‑level system architectures to develop system requirements.
  • Guide development through operation concept, interfaces, hazards, and test plans.

Skills

C/C++
Rust
Sys. programming
Multithreading
IPC
Networking
Team collaboration
SDLC
CI/CD
Docker
Kubernetes
DDS
GDB
CMake
GCC/Clang
Python scripting

Education

BS in Computer Science/Engineering

Tools

Docker
Podman
Kubernetes
GCC/Clang
CMake
GDB
DDS
JSON/XML
Git
Jira
Cargo

Job description

Job Description

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.

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.

Responsibilities
  • 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.
Qualifications
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 Us

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.

About The Team

Oceaneering Aerospace and Defense Technologies (AdTech) delivers solutions that enable humans to work safely and effectively in harsh environments – from underwater to the outer reaches of space. Our innovative solutions support the development and application of practical, cost-effective systems that meet our customers’ challenges – from routine to extreme. Our experience and expertise across multiple industries uniquely positions us as a leader in the government, space, and maritime services markets. Our products and services meet the rigorous demands of the complex environments in which they operate, delivering results without compromising safety or reliability.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Software Engineer III, C# Engineer
Software Engineer III, C# Engineer

Oceaneering • Hanover (MD)

On-site
USD 119,000 - 178,000
Software Engineer II
Software Engineer II

Oceaneering • Hanover (MD)

On-site
USD 94,000 - 141,000
Health and Wellness
Mental Health
Retirement Savings
+5
Staff Electrical Engineer (Engineer IV)
Staff Electrical Engineer (Engineer IV)

Oceaneering • Hanover (MD)

On-site
USD 128,000 - 192,000
Health and Wellness
Retirement Savings
Paid Time Off
+3
Mechanical Engineer III
Mechanical Engineer III

Oceaneering • Charleston (SC)

On-site
USD 102,000 - 152,000
Health and Wellness
Retirement Savings
Life and Disability
+4
Systems Engineer IV
Systems Engineer IV

Oceaneering • Hanover (MD)

On-site
USD 125,000 - 185,000
Health and Wellness
Mental Health
Retirement Savings
+5
Cyber Engineer IV
Cyber Engineer IV

Oceaneering • Hanover (MD)

On-site
USD 138,000 - 208,000
Health and Wellness
Retirement Savings
Paid Time Off
Software Safety Engineer for Underwater DoD Systems
Software Safety Engineer for Underwater DoD Systems

Oceaneering • Hanover (MD)

On-site
USD 94,100 - 141,100
Health and Wellness
Mental Health
Retirement Savings
+5
Maritime Data Exploitation Analyst II
Maritime Data Exploitation Analyst II

Oceaneering • Suitland (MD)

On-site
USD 75,000 - 112,000
Health and Wellness
Retirement Savings
Paid Time Off
+3
Staff Mechanical Engineer
Staff Mechanical Engineer

Oceaneering • Hanover (MD)

Hybrid
USD 128,000 - 192,000
Health and Wellness
Retirement Savings
Life and Disability
+4
Software Safety Systems Engineer
Software Safety Systems Engineer

Oceaneering • Hanover (MD)

On-site
USD 94,100 - 141,100
Health and Wellness
Mental Health
Retirement Savings
+5