Purpose Reporting to your Team Leader the Senior Software Engineer will be an integral part of the PARIS Software Engineering function. As part of a cross-functional product team, you will be responsible for developing and supporting new and existing features within a sub-domain of our asset optimisation platform PARIS. How we work at Joulen We value collaboration and teamwork. We favour pair-programming so that everyone understands the context of their sub-domain and the features they are working on. We practice trunk-based development and continuous integration and consider every commit as deployable. We value quality; we treat broken tests as failures and fix as a matter of priority. We practice TDD and use BDD. We automate where it makes sense, and where we can. Key Responsibilities: Hands on development and maintenance of new and existing features to a high standard Contribute to the development and maintenance of robust test suites at unit, integration and acceptance test levels. Contribute to the architecture and design of services within your sub-domain of the PARIS platform to maximise quality, scale and resilience. Provide 2nd level customer support (bug fixing and issue resolution) for the services and applications of the PARIS platform provided by your product team Work closely with stakeholders and delivery managers to onboard and support Joulen customers Foster a culture of innovation, collaboration, and continuous improvement. Design and develop backend services including well-structured, extensible APIs for customer-facing apps and external consumers. Design and develop services for optimal throughput and low latency Design and develop backend services including well-structured, extensible APIs for customer-facing apps and external consumers. Essential criteria Degree level education in a STEM subject Strong experience working with automated test frameworks Strong experience with the manipulation of complex datasets. Proven experience of agile software delivery 5+ years experience Strong Python development experience building backend services, including type hints and data validation, with hands-on use of FastAPI or Flask. Experience working with a relational database (such as Postgres) including SQL skills. Experience using pytest for testing. Highly numerate Collaborative mindset Hybrid working (3 days working in office) Desirable criteria Experience of authentication and authorisation implementations. What we offer: Competitive salary 20 days annual leave plus 11 public holidays Option to buy additional annual leave Pension Life Assurance Private Medical Insurance Paid sick leave Company volunteering day If you are interested in applying please click Apply button below.