Python Software Engineer – Energy Analytics & Optimisation
The opportunity
Are you a software engineer who enjoys solving complex technical problems and developing software that tackles real-world challenges?
This is an opportunity to join a specialist engineering team working on analytics and optimisation software within the energy sector. You will contribute to the development of software, data-processing tools and research prototypes, working alongside experienced engineers on technically challenging projects.
The role would suit a developer with strong Python skills, a solid understanding of computer science fundamentals and an interest in mathematics, algorithms and data-driven technology.
Hybrid role - required to be in the office twice a month.
What you will do
-
Develop, test and maintain Python software for analytics, data processing and automation.
-
Build software components and prototypes to support research and development.
-
Work with algorithms, mathematical models, optimisation workflows and time-series data.
-
Use SQL and databases to manage and process data.
-
Investigate technical issues, debug code and improve software performance.
-
Research new approaches and technologies to solve engineering problems.
-
Collaborate with senior engineers and technical specialists, taking ownership of your work.
-
Document solutions clearly and communicate technical findings to colleagues and customers.
What we are looking for
-
A degree in Computer Science, Software Engineering, Mathematics, Electrical Engineering or a related technical discipline with a software development component.
-
Practical experience developing in Python, including writing, testing, debugging and maintaining code.
-
A sound understanding of programming fundamentals, algorithms and data structures.
-
Experience working in Linux environments and using command-line tools.
-
Working knowledge of SQL and relational databases.
-
Strong analytical and problem-solving skills, with the ability to work independently and approach unfamiliar challenges methodically.
-
Clear communication skills and a willingness to contribute ideas in technical discussions.
Additional experience that would be useful
-
Working with time-series data, statistical methods or optimisation problems.
-
Experience with APIs, data streams or messaging systems.
-
Exposure to NoSQL or time-series databases.
-
Familiarity with Docker and cloud platforms such as AWS, Azure or Google Cloud.
-
Knowledge of C++, Rust or Go.
-
An interest in energy technology, machine learning or emerging AI technologies.
You do not need to have experience with every technology listed above. A strong foundation in Python, computer science and analytical problem-solving is the priority.
Why consider this role?
-
Work on technically challenging problems in the energy technology sector.
-
Join a small, focused team with an emphasis on research, innovation and practical implementation.
-
Work closely with experienced engineers and develop your knowledge across software, data and mathematical modelling.
-
Gain exposure to new technologies and opportunities to learn through hands-on development and independent research.
Interested?
If you enjoy programming, analytical thinking and developing solutions to problems that do not always have straightforward answers, we would like to hear from you.