Principal Software Engineer

First Utility
12 Oct 2017
09 Nov 2017
Contract Type

About us
Here at First Utility we want to make a difference. We are changing the face of the energy industry by campaigning for more transparency, better communication and a speedier switching process. Through pioneering technology and sharing our knowledge, we put our customers firmly in control of their energy, so they can spend less on what they need and more on what they want.

We are proud to deliver award winning service and as we continue to challenge the industry, our talented people are integral to our journey; our people make that difference. As we continue to grow our Team and expand our service offering, we now have office locations in Warwick, Coventry, London, Krakow and Hamburg.

We're looking for an Principal Software Engineer to join our large Software Development Team to help us continue to make that difference.

How the role fits in
Smart metering is going to significantly disrupt the way consumers interact with energy companies, and the government have set plans in place for all homes to have a smart meter by 2020.

The Smart Development Team are responsible for the delivery of an in-house platform, which is key to supporting the businesses strategy to install smart meters to 800,000 of our customers. The platform currently supports 300,000 meters and is built using scalable technology with view to scaling up to in excess of 3 million meters.

The Principal Software Engineer leads a large team of developers, testers and BAs in a highly agile environment, to build out the smart platform infrastructure which has multiple touch points with business systems and customer processes. Projects will cut across a wide set areas including meter integration, reads processing, configuration, energy usage, billing and industry regulation.

Key areas of focus for the team are around data transformation at scale with resilience (using cassandra, docker, ETL tools and microservices), quality improvement, continuous delivery and integration, microservices utilisation, system monitoring and tracking. If you have a keen interest in high volume data transformation, building resilient high quality software, microservices architecture and continuous delivery then this could be the perfect role for you.

There is a big focus on innovation within our technology departments. We give you 12 research days a year to help you on your way, and we look forward to knowledge sharing sessions where you tell us all about what you have learnt.

The role day to day
- Help drive and implement the engineering strategy, working with the leadership team to define technology direction
- Work with your team and other Principals to define and implement technical standards and improvements.
- To be accountable for the overall delivery and quality of projects including the design and code review process and engineering discipline across projects in your functional area.
Accountable for engineering discipline across project
- To be seen as the go-to senior person for multiple aspects of the technical stack and functional area.
- Lead and coach a number of agile delivery teams and be able to guide and direct the teams to deliver product increments in a predictable manner.

What you'll need to help you make the best of the role
- Experience of developing within a Java EE environment and a good knowledge of Application Servers
- Experience of working within an agile framework. To demonstrate this, we are looking for you to hold an Agile Certification, specifically Scrum Master or Certified Coach, or Certified Agile Developer
- Specific experience of test driven development, Unit Testing and Continuous Integration/Delivery would be an advantage.
- Ability to work with microservices and containerised architecture using both RESTful and AMQP communication
- Experience of developing using Spring Framework and Spring Boot
- Experience of working with SQL database servers such as PostgreSQL or MySQL
- Experience of working with NOSQL databases such as Cassandra
- Team coaching/leadership experience

The 'nice to haves'
- Knowledge of the online retail and or/energy markets would be a distinct advantage but not mandatory
- JVM Languages, specifically Java, but also Scala/Clojure
- Application servers such as JBoss/GlassFish
- Containerisation using Docker
- Microservices with Spring Boot and embedded servers such as Jetty/Tomcat
- REST frameworks, such as RESTEasy/Jersey
- Camel
- SQL, including Oracle and PostgreSQL
- NoSQL, including Cassandra, MongoDB
- Spring Framework, including Dependency Injection
- Jenkins/Hudson

What you'll get in return
Our people are our business, so our mind-set is people first. Spending much of your time at work, we know it's not just about a rewarding career, development opportunities and competitive salary - the work space, relaxation areas and coffee matter too!

First Perks is our benefits portal where you can access BUPA Private Healthcare, childcare vouchers, pension scheme, cycle to work scheme, our staff tariffs and exclusive savings and discounts from nearly 900 retailers - including holiday deals to help you make the best of your 25 days holiday (plus Bank Holidays). First Perks features discounts for many of the biggest brands - from to Amazon, from John Lewis to Tesco; there is something for everyone.

We're proud to support our charity partner the NSPCC and offer regular fundraising events from bake-offs to London Marathon entries. Our teams enjoy quarterly socials, some more adventurous than others! One tradition we've held on to as we've grown is "Fruity Friday" - heaps of free fresh fruit for all, every Friday.

So if you like the fast pace of an evolving business, feel it's important to reach your full potential and enjoy your time at work, then a career with us could be your next move

To apply, please click the APPLY button.