Principal Application Software Engineer
Job Description
Company Profile
Overview
Since year 2003, Oceaneering's India Center has been an integral part of operations for Oceaneering's robust product and service offerings across the globe. This center caters to diverse business needs, from oil and gas field infrastructure, subsea robotics to automated material handling & logistics.
Our multidisciplinary team offers a wide spectrum of solutions, encompassing Subsea Engineering, Robotics, Automation, Control Systems, Software Development, Asset Integrity Management, Inspection, ROV operations, Field Network Management, Graphics Design & Animation, and more.
In addition to these technical functions, Oceaneering India Center plays host to several crucial business functions, including Finance, Supply Chain Management (SCM), Information Technology (IT), Human Resources (HR), and Health, Safety & Environment (HSE).
Our world class infrastructure in India includes modern offices, industry-leading tools and software, equipped labs, and beautiful campuses aligned with the future way of work. Oceaneering in India as well as globally has a great work culture that is flexible, transparent, and collaborative with great team synergy.
At Oceaneering India Center, we take pride in Solving the Unsolvable by leveraging the diverse expertise within our team. Join us in shaping the future of technology and engineering solutions on a global scale.
Position Summary
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 & Responsibilities
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
Qualifications
REQUIRED
.Bachelor/master's 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.
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)
Career Development
Career Development
In addition, we make a priority of providing learning and development opportunities to enable employees to achieve their potential and take charge of their future. As well as developing employees in a specific role, we are committed to lifelong learning and ongoing education, including developing people skills and identifying future supervisors and managers.Every month, hundreds of employees are provided training, including HSE awareness, apprenticeships, entry and advanced level technical courses, management development seminars, and leadership and supervisory training.
We have a strong ethos of internal promotion. We can offer long-term employment and career advancement across countries and continents.
Working at Oceaneering means that if you have the ability, drive, and ambition to take charge of your future-you will be supported to do so and the possibilities are endless.
Equal Opportunity Inclusion
Oceaneering's policy is to provide equal employment opportunity to all applicants.