Position Summary and Location
- The primary responsibility of this position is to design and implement robotic simulation software for both human controlled and autonomous vehicles and the subsea environment they operate in.
- This includes test and training systems leveraging simulation and control system modifications.
- This position is based out in Chandigarh.
Duties and Responsibilities
Functions
ESSENTIAL
- Design and implement software for new and existing applications.
- Develop software in Windows and Linux.
- Develop software for the Unity gaming platform.
- Requirements, design, implementation and testing of software.
- Develop and maintain application architecture.
- Ability to make architectural decisions daily.
- Research and develop simulation algorithms to provide real time simulation of vehicles, sensors, and the world environment.
- Provide mentoring/guidance to designers and junior engineers.
- Maintain code and documentation using revision control.
- Act as technical lead on individual projects, providing guidance and mentorship to staff.
- Collaboration with other divisions within Oceaneering to successfully design and deploy products.
- Must be able to communicate to both technical resources and non-technical/other personnel
regarding specifications for applications or processes being developed.
NON-ESSENTIAL
- Assist with any other duties as and when required.
- Undertake specific projects as instructed by management.
- Demonstrates high level of initiative to accomplish individual objectives assigned as well as team goals.
- Comply to organizational HR policies and procedures.
Supervisory Responsibilities
- This position does not have direct supervisory responsibilities.
Reporting Relationship
- Sr. Manager Software Engineering
Qualifications
REQUIRED
- Bachelor/masters degree in computer science, Electrical or Mechanical engineering or evidence of exceptional technical skill.
- Minimum of 8 years of relevant experience.
- 8+ years of professional programming experience.
- Industry Knowledge of design patterns and software architecture best practices.
- 5+ years of C/C++ programming experience with knowledge of modern variants (C++17+).
- 5+ years of C# programming.
- 5+ years of programming in the Unity gaming engine.
- Experience applying physics and mathematical concepts to simulating physical systems and
sensors
- Experience programming real time simulation systems.
- Knowledge of revision control systems such as Subversion and Git, and issue tracking systems such as Jira.
- Ability to lead other developers and produce and track project timelines and estimates.
DESIRED
- Familiarity with sensors, communication protocols and robotics.
- Architectural design experience building robotic simulation systems.
- Architectural design experience building applications with the Unity gaming engine.
- Experience with network programming including MQTT and DDS
- Experience with Qt framework.
- Experience with AI, Machine learning and Image processing.
- Exposure to projects using Agile or other formal processes.
- Problem Solving skills in identifying and resolving real time problems in a timely manner.
Knowledge, Skills, Abilities, and Other Characteristics
- Ability to read, analyze, and interpret general business periodicals, professional journals,
technical procedures, or governmental regulations.
- Ability to write reports, business correspondence, and procedure manuals.
- Ability to effectively present information and respond to questions from groups of managers,
clients, customers, and the general public.
- Ability to interpret a variety of instructions furnished in written, oral, diagram, or schedule form.
- Gives and receives constructive feedback.
- Ensures that others involved in a project or effort are kept informed about developments and
plans.
- Effectively influences actions and opinions of others.
- Supports organization's goals and values.
- Excellent communication skills
- Adapts to changes in the work environment.
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)