Software Application Engineer

Year    Pune, Maharashtra, India

Job Description


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 The Application Software Engineer will primarily perform the role of software developer that involves design and development of Application Software, APIs, Plugin Modules, Micro Services and User Interfaces for Guided Vehicles (AGVs), Remotely Operated Vehicles/Vessels (ROVs), Autonomous Mobile Robots (AMRs), System Simulators and Data Processing Systems. He/she will be additionally responsible for backend application software development for integrating machine learning platforms such as PyTorch, TensorFlow, etc and Robotic Operating System (ROS) for Oceaneering\'s next generation systems. Duties & Responsibilities Functions ESSENTIAL Work with minimal supervision to develop software applications that will be deployed in existing and new products Perform Software Requirements Analysis and prepare Software Requirements Specifications (SRS) Coordinate with internal team members to validate the SRS and prioritize feature requirements Design and develop clean software code for producing efficient executables, reusable libraries, and standalone plugins, primarily using Python, that include internal deliverables and customer project deliverables Develop unit tests, preform troubleshooting, and prepare design documents on software products Design and develop device emulators through software that mimic real device protocols Work with the Software Managers and Testers for the quality assurance of software products Iteratively develop proof-of-concepts, and demos to fine-tune technologies to practical, state of the art systems Perform multiple tasks in cross-functional teams under agile methodology Contribute and assist in creation of functional processes, and work towards an efficient system integration as well as continuous improvement Share regular updates about work NON-ESSENTIAL Develop an awareness of modern software development technologies, protocols, frameworks and tools Cultivate and disseminate knowledge of fault tolerant software design standards and best practices Prepare reports and presentations on the status of the design and development process for discussion with management and/or team members Direct research on emerging products and standards in support of planning and development efforts Perform all other duties as requested, directed or assigned Supervisory Responsibilities This position has NO direct supervisory responsibilities. Reporting Relationship This person will be reporting to a Software Manager in the New Product Development group. Qualifications Qualifications REQUIRED Bachelor\'s degree in Computer Science/Software Engineering (or related field) Four or more years of past experience in developing effective and scalable Python codes Experience in Object Oriented Programming in C++ Hands-on experience in fine tuning Python code to ensure low-latency, high availability and reusability Sound knowledge in working with inter process communication and protocols such as TCP/IP and UDP Must be able to incorporate various data storage solutions and UI components Strong understanding of data structures, multi-threading and computer science fundamentals In-depth knowledge of relational databases (e.g. PostgreSQL, MySQL) Hands on experience in software engineering best practices such as design patterns, code reviews, unit/ integration testing and familiarity with various software test tools and source c ontrol tools (e.g. GitLab, SVN) Competent and proficient understanding of Operating Systems such as Linux and Windows Must have good problem-solving skills and attention to detail Must be able to learn, understand, and apply new technologies Strong background in mathematics and statistics DESIRED Knowledge of Robotic Operating System (ROS 2) is highly desirable Hands on NoSQL database experience (e.g. MongoDB) is highly desirable Hands on Time Series database experience (e.g. InfluxDB) would be an advantage Exposure to MATLAB/SIMULINK and/or any other simulation tool Good knowledge of Django or similar Python frameworks would be an advantage Familiarity with front-end technologies, such as Angular would be an advantage Hands on experience with Virtual Machines and Dockers would be an advantage Knowledge, Skills, Abilities, and Other Characteristics Ability to analyze situations accurately, utilizing a variety of analytical techniques in order to make well informed decisions Ability to effectively prioritize and execute tasks in a high-pressure environment Skill to gather, analyze and interpret data Ability to determine and meet customer needs Ensures that others involved in a project/effort are kept informed about developments and plans Knowledge of communication styles and techniques Ability to establish and maintain cooperative working relationships Skill to prioritize workflow in a changing work environment Knowledge of applicable data privacy practices and laws Strong analytical and problem solving skills. Additional Information 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) 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. This position is considered LIGHT work.

foundit

Beware of fraud agents! do not pay money to get a job

MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.


Related Jobs

Job Detail

  • Job Id
    JD3173051
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Pune, Maharashtra, India
  • Education
    Not mentioned
  • Experience
    Year