The Senior Software Developer is a highly skilled professional responsible for delivering complex software solutions, mentoring junior developers, and continuously improving development strategies and practices.
This role plays an essential part of the success of the business by ensuring that Oceaneering continues to drive innovation and deliver commercially viable products, to achieve the Companies objectives of growth and profitability.
Responsibilities
The Senior Software Engineer will undertake all responsibilities of the Software Engineer role, with additional duties including:
Design and implement advanced software solutions to meet complex requirements.
Lead code reviews, mentoring junior team members and ensuring best practices.
Optimize software for performance, scalability, and reliability.
Collaborate with cross-functional teams to develop creative solutions.
Identify prospects for system and process improvements, proposing and implementing changes.
Act as a technical resource for troubleshooting complex issues.
Stay abreast of emerging technologies and assess their potential impact on current systems.
Assist in planning and estimating development efforts for projects.
Work collaboratively with stakeholders to prioritize technical debt resolution alongside new development efforts, ensuring long-term codebase maintainability.
Qualifications
Education & Experience:
Degree in Computer Science, Software Engineering, or related discipline.
Advanced certifications are desirable.
Significant experience in software development, with a proven track record of delivering complex projects.
Essential Skills & Abilities:
Advanced proficiency in programming languages and frameworks relevant to the role.
Minimum 4 years of experience working on these technologies.
Proficient in VueJs, JavaScript, jQuery and the .Net (C#) ecosystem for backend development.
Hands on experience in SQL database.
Hands on experience in Cloud (AWS/Azure).
Experience with version control systems like Git.
Experience with Docker.
Solid knowledge and practical experience in applying AI technologies to solve complex problems and improve efficiency.
Strong understanding of design methodologies and principles.
Excellent problem-solving and decision-making skills.
Effective communication skills for technical and non-technical audiences.
Ability to work as part of a multidisciplinary team.
Sound time and resource management skills.