24 days ago
The Software Engineer will work within EDF Energy Customers business product teams, in a DevOps role, which comprises of the full software delivery lifecycle from discovery through to design, build, deploy and run/optimize. The Software Engineer will work closely with the product owner, architect(s), and scrum master in order to bring new functionality and technical improvements to market. In addition the software engineer will be expected to provide support for those features and solutions they create – ensuring a fit for purpose operational service. The role holder will be comfortable operating within a fast paced, flexible and iterative delivery environment.
Nature and Scope
The role will form part of the Business Change & IT function, within the Customers business unit. The post-holder will be placed within a recognised product team and be expected to deliver software features in line with business priorities as well as provide operational IT support activities for the software created. Being comfortable contributing to a team that operates with agile / iterative delivery practises is imperative.
Framework & Boundaries
Customers operate within a fast paced, continuously evolving environment giving rise to key challenges including responding to changing customer expectations, regulatory and market reforms through innovative products, services or processes, creating value in tight margin highly competitive market places, and building trust with customers. The role holder will be expected to engage with senior stakeholders, escalating where necessary and presenting clear and concise information.
Recognising the evolution of the operating model and agile nature of the organisation the content and nature of this role may change over time.
* Proactive and able to demonstrate strong ownership
* Focused on delivering value to the customer
* Can gravitate and contribute to where the demand is in the team outside of their specialist area
* Ability to translate complex engineering concepts to non-technical team members and broader stakeholders
* Comfortable working with ambiguity and with willingness to test and experiment
* A solution thinker – always looking to solve the problem in the best possible way
* Customer centric and business focussed – placing the business outcome and customer at the heart of everything that they do
The Software Engineer is expected to assume the following key responsibilities plus any other reasonable duties as required:
* Take ownership of a solution feature set or solution capability
* Delivery of software functions, features and components, utilising agile software development life cycle methods and practices.
* Design, develop, maintain and mature a highly secure multi-account enterprise AWS infrastructure in close coordination with other product teams, Enterprise Security and Enterprise IT.
* Provide input to backlog management process i.e. estimating size and nature of backlog items to inform prioritisation and scheduling
* Engage with end users, intent owners to identify required outcomes, needs and produce software that successfully delivers these
* Create well-designed, testable code that enables automation of test and deployment activity
* Utilise continuous integration and deployment (CI/CD) techniques in developing software components
* Integrate software components into the broad functional and technical solution landscape, using common standards and patterns
* Document and maintain software functionality in order for it to be understood and utilised by others – including Contribution to design artefacts, operating instructions and run books and end user material
* Provide operational run services for the software delivered – debugging, monitoring and delivery of fixes to issues identified. This could include participation in shift working to provide 24 x7 support.
* Contribution to wider engineering community direction, tooling and technologies.
* The software engineer will operate within specified delivery / product teams fulfilling multiple business needs
* Expected to mentor and support engineering colleagues
* Staff are based across various company locations including; Crawley, Hove, Croydon, Barnwood, Plymouth, Exeter and Doxford and travel to these locations will occasionally be required for meetings being held ‘face to face’.
Knowledge, Skills, Qualifications, Experience
Technical Capabilities (Essential)
* Cloud architectures, particularly AWS
* Serverless architectures
* Loose-coupling, queuing, and event driven architectures
* Expertise in at least one server-side language (ideally, Python, Java/Kotlin, NodeJS)
* REST APIs, design and use of 3rd party APIs
* Commercial experience with React and/or React Native UI framework
* Commercial experience with one or more popular app state management libraries
* Test Driven Development/Behaviour Driven Development
* Experienced in source control and CI / CD tooling technologies (e.g., Jenkins, GitHub, Terraform)
* Jest framework experience
* Automated testing knowledge and experience (e.g. Selenium / Cypress / detox)
* CSS3/ HTML5 /Typescript
Technical Capabilities (Desirable)
* Able to demonstrate the release of apps on Apple’s AppStore and Google’s PlayStore.
* Understands nuances between iOS & Android development.
* Expertise in iOS and Android debugging
* Good understanding of the bridge between Native and React Native and how to create
* wrappers for Native SDKs or full custom modules for both iOS (Obj C/Swift) & Android (Java).