BS Degree in Computer Science, Computer Engineering, Mathematics, Electrical Engineering or related technical field.
Hanover, Maryland, United States
Project Software Engineer serves as a key member of the Oceaneering Technologies (OTECH) group. Project engineers are expected to function as important contributors on software and engineering efforts and proposals.
Authorized Jobs in the next location(s): USA
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, entertainment, material handling, aerospace, science, and renewable energy industries.
Oceaneering Technologies (OTECH) performs a wide range of engineering services and products for unique marine systems for military and commercial customers.
OTECH innovates wherever practical rather than inventing making it “faster to field” than others in its industry; the typical development/delivery cycle for complex mechanical, hydraulic, electrical systems is often completed in 12-15 months. Technical capabilities span the entire engineering spectrum. These skills have been demonstrated in successfully delivered systems, including Remotely Operated Vehicles (ROVs); Autonomous Underwater Vehicles (AUVs); saturation diving systems; surface and sub-surface vehicle launch and recovery systems; advanced offshore cranes; and life support systems.
Requirements & Summary
Project Software Engineer serves as a key member of the Oceaneering Technologies (OTECH) group.
Project engineers are expected to function as important contributors on software and engineering efforts and proposals. Preferred candidates will have experience producing and maintaining unique underwater systems. 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 a large range of need, and ideally have a solid depth of understanding of underwater technologies, including electronics, embedded computers, electrical/power, and mechanical systems. Preferred candidates will have at least 5 years of practical experience in software engineering, experience in the field of ocean engineering, and experience with microprocessors and single-board computer (SBC) based control systems.
Duties & Responsibilities
- Apply working knowledge of the software lifecycle to develop and lead software efforts.
- Implement decisions for designing and maintaining software architecture.
- Actively interface with the software, electrical and mechanical leads, customer, and program manager
- 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.
- 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.
- 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.
- BS Degree in Computer Science, Computer Engineering, Mathematics, Electrical Engineering or related technical field. Commensurate experience will be considered.
- 5+ years of practical experience in software engineering.
- Experience with the following programming languages: C, C++, C#, or Java.
- Experience with embedded, microprocessors, single-board computer (SBC) based control systems.
- Ability to implement and debug communication protocols such as: UDP and multicast, TCP, serial protocols, SPI, I2C, CAN, etc.
- Experience with Python or other scripting languages.
- Experience with Linux OS.
- Proficiency with the Microsoft Office environment.
- 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.
- Experience with bare metal firmware.
- Experience with mechanical actuation and valve packs.
- Experience in the field of ocean engineering.
- Experience with autonomous underwater vehicle software frameworks.
- Experience with Qt.
- Ability to setup simple bench testing environments for communication links, board power, analog devices, etc.
- Understanding of fiber optic communications.
- Proficiency with oscilloscopes, multimeters, and OTDR.
- Solid written and oral communications skills, including ability to effectively document, convey, and present engineering concepts and products to team members and customers.
- Experience developing with .NET plugins and applications with both ArcGis Pro and ArcObjects SDKs.
- Experience with database programming, backends including PostGreSQL, SQL Server and Microsoft Access through .NET or scripts and tools.
Holds a current Security+ certification.