For more information please go to www.oceaneering.com and click on Products & Services, then click Oceaneering Technologies (OTECH).
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.
OTECH produces and maintains unique underwater systems – typically for US Navy and other US Government Department of Defense customers. Our projects are all one-of-a-kind. Projects range from quick burn to lifecycle management of fielded systems. This position would be expected to handle the entire range of need, and ideally have a solid depth of understanding of underwater technologies, including electronics, embedded computers, electrical/power, and mechanical systems.
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 small software development teams.
- 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 hardware such as navigation units, board stacks, and power monitors.
- Support software testing on the factory floor, offsite, and offshore.
- Performs analysis of user requirements, concept of operations documents, and high-level system architectures to develop system requirements specifications.
- Guides 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.
- Reviews progress and evaluates results of work accomplished by self and others.
- 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.
- 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, and mentorship of junior team members.
- BS Degree in Computer Science, Computer Engineering, Mathematics, Electrical Engineering or related technical field. Commensurate experience will be considered.
- 15+ years of practical experience in software engineering.
- Experience with the following programming languages: C, C++, C#, Java.
- Ability to obtain and maintain a United States Government Department of Defense Security Clearance (active clearances preferred, but not prerequisite).
- Must be a US citizen who is not a dual citizen of any other country.
- Experience in the field of ocean engineering.
- Experience with microprocessors and single-board computer (SBC) based control systems.
- Experience with mechanical actuation and valve packs.
- Ability to implement and debug communication protocols including: UDP and multicast, TCP, serial protocols, SPI, I2C, CAN, etc.
- Experience with Python or other scripting languages.
- Experience with Linux OS and bare metal firmware.