Staff Software Engineer - Partner

Utility Warehouse Limited

Location: Greater London

Job Type: Full time


Technology @ UW

The company’s products may be quite “non-digital” in nature, but its strategy is not. UW’s success is predicated on the success of its technology platform, which is largely cloud-native and distinctively modern – especially by the standards of most “utility providers” in the market. Built almost completely in-house using standard (though team-specific) agile development practices, its operational IT systems are based primarily on open-source solutions and state of the art tech. Internal software systems employ event-driven architectures more often than not, and are composed predominantly of distributed microservices written in Go and connected using asynchronous message passing. Event sourcing is the default choice for backend system design, with business events modelled using protobuf and shared via pub/sub systems (mainly Kafka). Frontend systems tend to be built using React (in either Typescript or modern Javascript), while synchronous APIs are exposed via GraphQL or, for high-performance, purely internal systems, GRPC. Aside from legacy systems that have yet to be replaced, virtually everything runs in Kubernetes clusters hosted both on-prem and in the cloud.

How we see ourselves in Technology:

  • We care about how we deliver and who we work with – work should be rewarding personally, and not just in terms of a pay check

  • We enjoy working on interesting problems with smart people and know that if it was easy, it wouldn't be fun

  • We deliver quickly by keeping processes light and enabling autonomy

  • We’ve never believed in ivory tower leadership; managers should be hands-on and roll up their sleeves when needed to mentor and support

  • We encourage experimentation, don’t appreciate egos, and believe in (friendly) debate, collaboration and learning

  • We operate what we build – which means reliability is key and devops is part of every engineer’s job description

  • With 300+ people in Tech, as a team we’re very much backend-heavy in terms of engineering fire power; but with UX, Product and Data now growing quickly we’re in the right place to push on and hire people who will take ownership of how we define and deliver best-in-class experiences to our customers

Engineering at UW:

  • Our philosophy revolves around getting things done. We deliver with small, fully autonomous teams that have real ownership of their products using a cutting edge stack in a best-idea-wins meritocracy.
  • We use the best tool for the job. Go and React are our bread and butter but nothing is stopping you from reaching for something else if it does it better.
  • We deploy to Kubernetes across AWS and GCP with some help from Terraform. We run a mature event sourced microservice architecture using Kafka, NATS and GRPC.
  • As much as is possible we code in the open on GitHub. If it can be open- sourced, it shall. If we can submit a PR instead of building our own, we will.
  • Getting your hands dirty from the top to the bottom of the stack isn’t a promise to be broken, it’s a requirement. If you’re only good at parts of it that’s okay, we’ll quickly make you good at all of it.

About the Role

The Staff Software Engineer reports directly to the Head of Engineering for the group and plays a key role in guiding software development and driving technical strategy across five engineering teams.

Expectations of the role include:

  • Taking an active part in the evolution of our approach to event sourcing by developing shared libraries, establishing best practices, and improving our event storage system. Assisting with domain modelling and promoting general best-practice within our teams.
  • Amazing debugging and analysis skills: You should be capable of solving the hairiest problems that the team encounters, and of leading incident response across the engineering organisation when needed.
  • Regularly taking initiative to identify and solve the most important problems arising out of our domain, and coordinating with others on cross-cutting technical issues.
  • Consistently working to understand all technologies used at the company.
  • Delivering sweeping improvements in stability, performance, and scalability across major business-critical systems.
  • Contributing prolifically to core team and cross-team projects.
  • Maintaining a high-visibility profile internally (the broader engineering leadership team will be aware of your work).
  • Have extensive experience using Golang.
  • Researching and evaluating new technologies that can impact the products/services owned by multiple teams.
  • When we face significant “build or buy” decisions, you will help lead them.
  • Helping to evangelise wide adoption of re-usable solutions & patterns delivered by individual teams.
  • You are a steward and proponent of technical guidelines, standards and best practices across multiple teams.
  • Listening with an open mind while helping to guides debate to consensus resolutions, and ensuring that once a decision is made, that decision is understood and adopted (including when the all-important mantra of “disagree and commit” is necessary).
  • Actively and frequently participating in the hiring process.
  • Promoting the UW tech community externally via talks and blog posts; guiding and or participating in the creation of outward-facing content and communication on tech topics

What are we offering?

  • Competitive Salary, Benefits and stock options in a growing FTSE250 business 📈
  • 25 days holiday + bank holidays✈️
  • Flexible working, we’ve got fully remote teams, onsite, early risers and late night grinders, for us it matters what we’re working on more than where. 👩🏽‍💻
  • Work / Life balance that actually encourages you to switch off
  • Opt in to subsidised private healthcare with our company Bupa scheme. 🚑
  • Mentors and Teachers a plenty, with so many brilliant minds in one place there is always someone you can lean on for support and guidance. 👩🏻‍🏫🙋🏻‍♂️🤷🏾‍♂️
  • Choose your own tools, whether its hardware of software, you choose the tools you need to get your job done🖥🛠🧰
  • Discount on our services⚡️💡
  • Feeling stressed? We have an employee assistance helpline and company nurse onsite to help look after our teams physical and mental health.☎️👩🏽‍⚕️
  • Contributory pension that gets better with time, starting at 4% over time you can get up to 10%⏱
  • Put something aside for a rainy day with our Save as you earn share purchase scheme. ☔️

About Utility Warehouse

We’re a bunch of great people working together, solving problems and having fun. Together, we strive to find solutions to help the great people around us get on with the things that really matter in life.

How? It’s simple, we take the headache out of essential home services by providing them all in one place – energy, broadband, mobile, and even insurance. That’s one provider, one account, one bill, and lots of savings.We’re a truly unique FTSE 250 company with a business model that has real social impact at the heart of it. Being a part of the UW community you’ll join a working environment like no other - one where everyone matters - be it our customers, our partners or you, our people.

We do love open source and are actively encouraging contributions back to the community. You can check our labs where we maintain fully supported open source projects at as well as some coded in the open repositories at

We’ve got the culture and focus of the earliest stage startups with the resources and strength of an extremely profitable and loved brand. Our eyes are on meteoric growth over the next few years. All the pieces to make it happen are here, we need you to help us put them together.

At Utility Warehouse, we are committed to hiring and cultivating a diverse team. If you are on the fence about whether you would be successful working with us, please apply anyway!

We provide equal opportunities, a diverse and inclusive work environment, and fairness for everyone. You are welcome to apply no matter your age, disability, gender, marriage or civil partnership status, pregnancy and maternity status, race, religion or belief, or sexual orientation.

Please note, if you are applying for a role which involves having access to personal data, you will be subject to a background check. Where checks are unsatisfactory or incomplete and/or a failure to reveal information relating to convictions that you are required to identify as part of the background checks, could lead to withdrawal of an offer of employment.

You’ve got this!