As a Sr. Java Software Engineer you will be responsible for implementing, developing, testing, supporting and installing our Java based solutions as well as improving the test automation framework. These solutions are based on a general platform with project specific implementation, in particular Warehouse Management Systems and protocol converters. The software interacts between our AGV supervisory system and customer systems. For instance we connect to SAP to get orders or some customer specific ERP and translate these messages to transports that can be understood by our own supervisory system.
Since the software you will develop is always interfacing with mostly non Oceaneering software it is important that you are able to read, understand and develop interfaces. You will communicate with the vendor or customer to agree on the specification and to test the implementation. Understanding of the logistical processes where the software you have developed is part of is very important.
You will also implement, develop, test automate, support and install our supervisory control application. This application communicates and controls a fleet of AGVs. It deals with transport assignments, custom behavior for specific clients, traffic management, optimal logistic solutions, interfacing with external systems such as PLCs, and simulating system behavior. It also interfaces to a web based user interface.
You will be working in a team alongside software testers and developers collaborating on test automating products under development. This will enable you to identify bugs and possibilities for improvement and ensure that the product meets the quality requirement criteria. You will achieve this by: testing, executing and optimizing our test automation framework.
Besides these main activities, your qualities are sometimes needed to support and maintain some other Java based projects we have, like the back end of our statistics website.
Working in a multi-disciplinary team you will be responsible for making sure that the software systems meet the customer/client specifications and work within their site constraints. You should have the technical insight to create solutions that provide optimal performance. Given that we have a global customer/client base, you must be willing to travel and stay abroad for several weeks at a time, as you will be responsible for the successful installation at the customer/client site.
ESSENTIAL
Responsible for implementing, developing, testing and installing Warehouse Management software systems that interface with our AGV supervisor software
Responsible for implementing, developing, testing and installing the AGV supervisory software
Responsible for implementing, developing, testing and installing protocol converters
Responsible for implementing, developing, testing and installing interfaces
Responsible for enhancing and maintaining the test automation framework.
Understanding of PLCs from an external interface
Understanding of communication protocols
Experience with Logistic solutions a plus
Troubleshooting and fixing software issues
Writing requirements, detailed design documentation and test cases
Providing support for field issues
Understanding of logistical processes and the ability to see further then our own software
Continuously improving our processes and procedures to optimize development efficiency
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.
Ability to mentor and guide other developers
ADDITIONAL
Additional duties as assigned.
Supervisory Responsibilities
This position has no supervisory responsibilities.
Reporting Relationships
Reports to Software Manager, ODC India
Technical Bachelor degree, preferably in Computer Science, Automation Technology or Information Technology or equivalent; Minimum of 8 years of experience in writing Java software.
Ability to program in Java with knowledge of object oriented analysis/design/programming and design patterns.
Experience with Java frameworks such as Spring Boot and Hibernate;
Experience of data modeling and database programming essential.
Ability to read, understand, debug and modify existing product code.
Experience with Object Oriented design patterns
proven experience of agile testing in Scrum/Kanban, under BDD (Cucumber).
Experience with test automation in Java, Python or other programming languages is a plus. You are expected to have knowledge of test automation concepts and of tools like Jenkins or any other CI/CD tool.
Experience working in a DevOps environment is considered an advantage
Scripting/ programming languages: JAVA, Python, Shell,....
Familiar with tools like: Linux, Bash, Maven, Nexus, Docker, Log4J2, SLF4J
Language and Communication Skills
Excellent written and oral communications in English is essential; Dutch and 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 problems is desired.
Computer Skills
To perform this job successfully, an individual should have complete knowledge Java, be proficient in Linux, and knowledgeable of the Windows Operating systems, Microsoft Word, and Excel.
The candidate should also have knowledge of the following:
Integrating with enterprise systems such as databases, ERP systems and factory automation systems
Data formats like XML and JSON
Web communication protocols such as REST and SOAP
Issue tracking systems particularly Jira
Versions control systems, particularly Subversion and Git
Writing requirements, design documentation and test cases
DESIREDAffinity with logistic processes
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 work place
Work surface is stable (flat)
Requires working indoors in environmentally controlled conditions
Job tasks are performed in close proximity to other people
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 the essential functions.
Keyskills: Hibernate ERP SAP Linux Data modeling XML Windows microsoft Troubleshooting Python
Oceaneering pushes the frontiers of deep water, space and motion entertainment environments to execute with new, leading-edge connections to solve tomorrow???s challenges, today. As the trusted subsea connection specialist, our experience combined with the depth and breadth of our portfolio of techn...