As a Senior Software Engineer, you’ll be responsible for providing technical leadership and designing, developing, and evolving of world leading Grid Software products that enable the analysis and management of real-time data. As part of the team, you will develop innovative algorithms and architectures that solve real-world problems and be responsible for software lifecycle including activities such as requirement analysis, documentation/procedures, and implementation.
- Provide technical leadership in defining, developing, and evolving software within a fast-paced Agile development environment.
- Contribute to the development of software and data delivery platforms using reusable, scalable components.
- Guide developers in planning and execution using Agile methodologies such as Scrum.
- Work closely with Support and QA teams to resolve defects and maintain software quality.
- Collaborate with cross-functional teams to gather requirements, support product design, define specifications, and deliver implementations.
- Partner with technical writers to create and maintain high-quality documentation.
- Analyse complex technical requirements and translate them into effective development tasks.
- Mentor team members and promote best practices in software engineering.
- Continuously evaluate new technologies and approaches to improve software solutions.
- Deliver high-quality solutions while balancing competing priorities and project commitments.
- Bachelor's Degree in Computer Science or a STEM discipline.
- Demonstrated commercial software development experience, typically gained over 4+ years.
- Strong understanding of Computer Science fundamentals, including:
- Data structures
- Algorithms
- Object-Oriented Design
- Software Design Patterns
- Strong experience with:
- Java
- Spring / Spring Boot
- Experience developing Microservices and Web Services (REST/SOAP).
- Experience with containerisation technologies including:
- Programming experience in C and/or Python.
- Experience working within Agile/Scrum environments.
- Strong problem-solving and organisational skills.
- Ability to work independently while collaborating effectively within cross-functional teams.
- Excellent written and verbal communication skills.
- Ability to mentor and support junior engineers.
- Strong analytical skills with the ability to translate business requirements into technical solutions.
- Demonstrates ownership, accountability, and the ability to deliver with minimal supervision.
- Bachelor's Degree in Computer Science or STEM (Science, Technology, Engineering or Mathematics).
- Minimum 4 years of commercial software development experience.
- Strong knowledge of Java, Spring Framework, and Spring Boot.
- Experience with Microservices architecture.
- Experience with REST and SOAP web services.
- Experience with Docker, Kubernetes, and Helm.
- Programming knowledge of C and/or Python.
- Strong understanding of software engineering principles and design patterns.
- Experience working in Agile development environments.
- Ability to collaborate across multidisciplinary teams.
- Strong communication and stakeholder management skills.
- Demonstrated ability to solve complex technical problems and influence technical decisions.
- Master's Degree or PhD in Computer Science.
- Experience with Windows and Unix/Linux-based software development.
- Experience developing software within the Energy sector, including:
- Energy Management
- Oil & Gas
- Power & Water
- Certified Scrum Master and/or Product Owner certification.
- Knowledge of current technology trends and emerging software technologies.
- Experience evaluating technology choices and their business impact.
- Understanding of competitor technologies and industry trends.
- Passion for continuous learning, innovation, and mentoring others.
- Experience driving technical improvements and influencing engineering best practices.
Relocation Assistance Provided: No