Up to £60000.00 per annum
3 months ago
Senior Software Engineer - Node.js (Smart Power)
Evergreen Smart Power are solving real problems facing the energy industry as we move into the decarbonised future of electric vehicles and electric heating.
We're building sustainable solutions to help the energy infrastructure of today handle the demands of tomorrow. Our platform links people with energy suppliers, grid operators, and generators to make smart use of domestic loads to balance the grid and make the best use of renewable and green energy.
We strongly believe in giving people the trust and flexibility to work the way they find most effective, empowering them to make decisions which shape both the products we deliver as well as the organisation itself.
We're located in central Manchester alongside a group of like-minded companies under the Evergreen Group banner, all working on ethical social missions.
We're looking for an imaginative Senior Software Engineer to join our team building our Virtual Power Plant platform. Your efforts will help society tackle the climate emergency through its transition to a zero-carbon future.
You'll become an integral member of a close-knit team focused on the development of a software platform responsible for management and optimisation of flexible electrical loads in domestic installations. This means large-scale, real-time communications with Internet of Things devices; insightful data analysis using cutting-edge processing techniques and learning; an emphasis on data and operational security; while upholding our engineering principles of quality and resilience.
Our work frequently takes us in exciting new directions, whether using new technologies or finding new applications for existing technologies. You'll get the opportunity to work with the latest energy devices including battery storage, electric vehicle chargers, and next-generation heat pump systems. You'll be finding ways to optimise for lower carbon and energy costs, while empowering owners to benefit from their own flexibility.
Your job will be developing brand new features on top of a modern Software-as-a-Service platform. You'll work on reactive data pipelines, APIs, and optimisation algorithms. The functionality you deliver will run in a cloud environment, utilising containerised and serverless technologies to deliver a highly available and resilient solution to our customers.
You'll take a lead role in finding the best route to delivering meaningful value on everything you and our team work on. You will be a part of every stage of the development lifecycle, from work specification through to final delivery, giving you the opportunity to own not only the work you deliver, but the work of the whole team.
Our vision of a great candidate is someone excited to have a sizeable contribution to products which will make a real, positive difference to society. They'll thrive working within an open, supportive team from a wide range of industry backgrounds, and enjoy spending most of their time working directly with their teammates. They'll enjoy the challenge of pushing delivery forward, and will contribute to architectural decisions as well as code. Most importantly, they'll take an active role in the continuous improvement of the team by helping us all level up, sharing knowledge and skills to make us better individually as well as collectively.
Your day-to-day responsibilities
Here's a flavour of what you'll be doing each day:
- Delivering features on a modern, cloud-based software platform.
- Supporting quality and maintainability through test-driven development (TDD) and pair programming.
- Contributing to the design of technical solutions within a collaborative environment of a cross-functional team.
- Bringing fresh ideas into the team, along with taking on the ideas of others, developing them into workable solutions we can make a reality.
- Leading and participating in problem exploration sessions through whiteboarding and investigatory work.
- Exploring and evaluating technologies and architectures for use by the team.
- Carrying out operational and maintenance work on our production platform.
- Picking up a wide range of work across a number of domains, from coding to architecture and operations to security.
- Sharing knowledge across the whole business through a variety of approaches, including group demonstrations, written documentation, and frequent communication.
As a senior member of the team, you will be a key individual in the continuous improvement of the team. You will be empowered to find ways to push forward in everything we do, and can have an outsized impact on not just the work we deliver, but the way we work.
Finally, but perhaps most importantly, you will also have an important role in the professional development and learning of individuals in the team. You'll have the opportunity to directly mentor junior members, helping them achieve their developmental goals and become better engineers. There will also be plenty of learning opportunities - whether you find yourself teaching a team of all experience levels about something you're an expert in, or bringing a partner up to speed on something you're simply more familiar with.
These are the skills we think you will make use of most in your day-to-day work, but we don't treat it as a box-ticking exercise. We're looking for people who have proven experience in a number of the areas below, but believe strongly in the ability for good people to learn any skills they need to on-the-job, and are more than happy to do our part to help you learn.
The most important thing is that you work in a way which will complement and grow our team as a whole!
- TypeScript, as the language we use for the vast majority of our platform. We have a strong preference towards functional programming.
- Amazon Web Services, as the foundation of everything we build.
- Containerised services make up a good number of our components, running on top of Docker and Amazon ECS.
- Serverless components form another significant portion of our platform, via Amazon Lambda.
- Relational data stores, including PostgreSQL and MySQL on top of AWS RDS.
- Document data stores, including AWS DynamoDB.
- Test-driven development.
- Pair programming.
- Health care expenses scheme.
- Remote working from anywhere in the UK.
- Flexible working hours, so long as we can maintain an ability to work and communicate effectively as a team.
- Pension contributions matched by the company, up to 4%.
- Discretionary paid sick leave