Oceaneering Senior Software Engineer - Robotics in Utrecht, Netherlands

Company Profile

Oceaneering is a global oilfield provider of engineered services and products primarily to the offshore oil and gas industry, with a focus on deepwater applications. Through the use of its applied technology expertise, Oceaneering also serves the defense, entertainment, and aerospace industries. Oceaneering’s business offerings include remotely operated vehicles, built-to-order specialty subsea hardware, deepwater intervention and manned diving services, non-destructive testing and inspection, and engineering and project management.

Oceaneering AGV Systems, an Oceaneering International Company, develops, implements and markets Automated Guided Vehicle Systems (AGVs), navigation hardware, and software. We offer customized and automated transport solutions to efficiently, competitively and effectively meet the ever-increasing transport demands of various industries by increasing productivity, reliability, flexibility and safety standards through innovation, expertise and robustness. Oceaneering AGV Systems has been delivering automatic guided vehicle solutions to the world's leading companies for 30 years.

*For more information please go to *www.oceaneering.com and click on Products & Services, then click Automated Guided Vehicles (AGVs).

Duties & Responsibilities

Essential Duties and Responsibilities include the following. Other duties may be assigned.

  • Responsible for implementing, developing, testing and installing the supervisory control software

  • Responsible for implementing, developing and testing the vehicle control software for AGVs

  • Interfacing the vehicle software to vehicle control hardware such as motor controllers, proximity detectors and wheel encoders

  • Commissioning and handover of AGVs to the customer/client at their site

  • Troubleshooting and fixing software issues

  • Testing the application software and interfaces to the vehicle

  • Writing requirements, detailed design documentation and test cases

  • Providing support for field issues

  • Analyzing and modifying traffic and logic rules to optimize material flow and optimizing vehicle performance

  • Continuously improving our processes and procedures to optimize development efficiency


To perform the job successfully, an individual should demonstrate the following competencies:

  • Problem Solving - Identifies and resolves problems in a timely manner; Gathers and analyses information skillfully; Develops alternative solutions.

  • Technical Skills - Assesses own strengths and weaknesses; Strives to continuously build knowledge and skills; Shares expertise with others.

  • Customer Service - Manages difficult or emotional customer situations; Responds promptly to customer needs; Solicits customer feedback to improve service; Responds to requests for service and assistance; Meets commitments.

  • Analytical - Synthesizes complex or diverse information; Collects and researches data; Uses intuition and experience to complement data; Designs work flows and procedures.

  • Planning/Organizing - Prioritizes and plans work activities; Uses time efficiently; Plans for additional resources; Develops realistic action plans.

  • Professionalism - Approaches others in a tactful manner; Reacts well under pressure; Treats others with respect and consideration regardless of their status or position; Accepts responsibility for own actions; Follows through on commitments.

  • Quality - Demonstrates accuracy and thoroughness; Looks for ways to improve and promote quality; Applies feedback to improve performance; Monitors own work to ensure quality.

  • Quantity - Meets productivity standards; Completes work in timely manner; Strives to increase productivity; Works quickly.

  • Dependability - Follows instructions, responds to management direction; Takes responsibility for own actions; Keeps commitments; Commits to long hours of work when necessary to reach goals. Completes tasks on time or notifies appropriate person with an alternate plan.

  • Innovation - Displays original thinking and creativity; Meets challenges with resourcefulness; Generates suggestions for improving work; Develops innovative approaches and ideas; Presents ideas and information in a manner that gets others' attention.

Essential Job Functions

The role requires a customer/client focused attitude, an ability to interact with customers/clients and to remain calm and professional in a demanding and dynamic work environment.

The role requires willingness to travel abroad internationally for several weeks at a time during system installation.

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 the essential functions.



To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

Education and/or Experience

Technical Bachelor degree, preferably in Computer Science, Automation Technology or Information Technology or equivalent experience; Minimum of 3 years experience in writing software for technical applications

Ability to program in C++ with knowledge of object oriented analysis/design/programming and design patterns.

Understanding of networking hardware and software including UDP and TCP

Working knowledge of electronic and electromechanical devices, such as analog inputs and outputs, quadrature encodes, relays, solenoids, proximity sensors etc. Ability to read and understand wiring diagrams is advantageous.

Language Skills

Excellent written and oral communications in English and Dutch are essential, and in German would be advantageous.

Reasoning Ability

Ability to solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists. Ability to interpret a variety of instructions furnished in written, oral, diagram, or schedule form.

Ability to act independently generating innovative solutions to complex solutions is desired.

Computer Skills

To perform this job successfully, an individual should have complete knowledge of Microsoft Word, Excel,PeopleSoft, and be proficient in Linux, and knowledgeable of the Windows Operating systems.

Ability to read, understand, debug and modify existing product code is essential

It would also be advantageous to have knowledge of the following:

  • Programming in Linux

  • Controlling autonomous robots

  • XML and web services

  • Issue tracking systems particularly Jira

  • Versions control systems, particularly Subversion

  • Writing multithread software

  • Programming serial, CAN and network communications (UDP and TCP)

  • Writing control systems

  • Writing requirements, design documentation and test cases

  • Integrating with enterprise systems such as databases, ERP systems and factory automation systems

  • Programming in Java, C and/or Python

  • Generating user interfaces in Java

  • Programmable logic controllers (PLC’s)

Job Title: Senior Software Engineer - Robotics

Location: Utrecht, Netherlands

Job ID: 12406

Regular/Temporary: Regular