Company Profile
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.
Position Summary
Purpose
As a
Senior Application Software Engineer , you will be responsible for designing, developing, and maintaining the server-side logic of our software systems. The ideal candidate will have expertise in C++ and Python, and experience with Rust is a plus.
Duties And Responsibilities Required Experience
- Design, develop, and maintain server-side software systems and APIs
- Write efficient, scalable, and maintainable code using C++, Python, and Rust (Optional)
- Extensive design and development skills in C++ 11. Having knowledge of C++ 14/C++17 will be added advantage
- Thorough knowledge of the standard library, STL containers, and algorithms
- Solid understanding of complexity theory (big-O) of algorithms in general, and how the C++ containers fit in
- Understanding of performance tuning (w.r.t time/space) and how to do performance analysis and optimization
- Experience in Multi-threaded software development
- Excellent knowledge of Synchronization objects (Mutex, Semaphore, condition variables, etc) including their appropriate use cases and distinctions
- Ability to pick up new software languages, interfaces, and software tools
- Collaborate with cross-functional teams to understand business requirements and develop technical solutions
- Optimize performance and scalability of backend systems
- Troubleshoot and debug production issues
- Keep up to date with industry trends and emerging technologies
- Ability to extrapolate, develop and refine detailed tasks given high-level goals
- Experience with developing code in Linux
- Knowledge of SQL and NoSQL databases
- Object-oriented software design experience
- Experience writing unit/integration tests and test procedures
- Experience with issue tracking software, Jira experience a plus
- Experience with revision control software, GitHub experience a plus
- Experience with Rust a plus
- Experience with QT a plus
- OpenCV, CUDA, PCL, and experience with Image processing / Computer Vision is a plus
- Experience with one or more of docker, podman, and Kubernetes is a plus
- Experience with middleware such as MQTT, DDS, ROS, ROS2 is a plus
- Knowledge of containerization and container orchestration using tools like Docker and Kubernetes
Supervisory Responsibilities
This position has no supervisory responsibilities.
Reporting Relationships
Reports to Sr. Software Manager Engineering.
Qualifications
Qualifications
- Bachelor's or master’s degree in Computer Science, Software Engineering, or a related field
- Software development experience in C++ with 5+ years of experience
- proven experience designing and developing scalable and high-performance backend systems
- Experience with cloud computing platforms such as AWS, Google Cloud, or Azure a plus
- Experience with writing requirements, design documentation, and test cases
- Ability to read, understand, debug, and modify existing product code
Language Skills
The employee must have:
- Excellent English communication skills, both written and verbal.
- The ability to read and interpret technical documentation, process standards, and safety standards written in English.
- The ability to write reports, business correspondence, and procedure manuals written in English.
- The ability to effectively present information in English and respond to questions in English.
Closing Statement
Working Conditions
This position is considered OFFICE WORK which is characterized as follows.
- Almost exclusively indoors during the day and occasionally at night
- Occasional exposure to airborne dust in the workplace
- Work surface is stable (flat)
- Occasional exposure to project worksites to include fabrication, assembly, test, and customer attraction sites
Physical Activity/Requirements
- The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
- This position is considered LIGHT work.
OCCASIONAL
FREQUENT
CONSTANT
- Lift up to 20 pounds
- Climbing, stooping, kneeling, squatting, and reaching
- Lift up to 10 pounds
- Standing
- Repetitive movements of arms and hands
- Sit with back supported