Job description
Job Description Summary 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.
Job Description Roles and Responsibilities 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. Essential Responsibilities 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: Docker Kubernetes Helm 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.
Qualifications
/ Requirements 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. Desirable Experiences 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.
Additional Information Relocation Assistance Provided: No