Senior Software Engineer at NOV
NOV
Job Description
NOV ReedHycalog is a worldwide leader in the design, manufacture, and sale of tools and equipment used by the energy industry. We are currently seeking a full-stack software engineer to join our team based in Cape Town. The software engineer will be responsible for the development and deployment of software products to internal customers. The software engineer will work closely with the product team to create technical mobile and web applications in support of engineering, manufacturing, and wellbore physics simulation. The candidate will be expected to complete projects in the required time with minimal supervision from a senior member of the Technical Software Development team.
Primary Responsibilities
Collaborate with the product team to collect requirements and verify design feasibility.
Transform high-level application requirements into performant and user-friendly applications.
Work with the development team to create data contracts between client and server.
Troubleshoot and resolve issues at all levels of the stack.
Manage code lifecycle with proper documentation and source control.
Develop full-stack applications using modern web frameworks.
General Requirements
Assess how new software requirements fit into divisional and corporate strategies and plans.
Proactively generate documentation for both customers and developers (e.g., README files, Swagger documentation, XML documentation).
Maintain version control of all code.
Automate deployments using CI/CD pipelines.
Identify and mitigate technical risks that may affect project timelines.
Report regularly on project progress.
Perform and/or coordinate project commercialization requirements such as user manual development, technical support requirements, and training collateral.
Champion the use of technical software tools throughout the organization
Job Requirements
Education & Experience:
Bachelor's degree in Computer Science or a related field, or equivalent software engineering experience.
Proficiency in one or more programming languages (e.g., TypeScript, C#, Python).
Strong understanding of algorithms and software design principles.
Experience applying Agile methodologies in software development.
Excellent written and verbal communication skills.
Preferred Experience & Skills:
Experience developing tools for manufacturing or the energy industry.
Familiarity with DevOps technologies (e.g., Kubernetes, Terraform, GitHub Actions).
Experience using AI coding assistants effectively.
Background in developing software for mechanical engineering applications or simulation tools.
Working knowledge of mathematics (statistics, algebra, calculus) for physics-based simulations.
Strong grasp of algorithms and software design patterns.
Proven track record of delivering software products in an Agile environment.