Our technology
We build a core technology that allows Octopus Energy to interact with other utilities.
Our team’s cloud-native services have a strong code-as-infrastructure backbone, and we use both Kubernetes and Terraform configuration files to manage all of the hosted artefacts. We enable CI/CD with GitHub Actions. Engineers are encouraged to learn and extend our DevOps stack.
Our backend stack is a series of microservices written in purely functional Scala using the Cats Effect libraries (https://typelevel.org/cats-effect/): Http4s for the web host, fs2 for streaming, and Doobie for database access. The systems we maintain have extremely strict zero-downtime requirements, and we find this paradigm and set of technology choices give us the most resilient, type-safe, scaleable, and error-free software the fastest.
We use Python for most data manipulation, and have sophisticated tooling to make sure it blends beautifully with our Scala microservices.
We see data as the ‘hub of the wheel’ of everything we do, and use Apache Kafka extensively. All our microservices interact directly and indirectly with Kafka, shuttling data between services, as well as producing and consuming data events via Kafka streams.
What You'll Do
Work with experienced engineers on a modern platform with best-in-class tooling and mentorshipHelp grow a small team with a big product to a global scale in a few short monthsBe expected to be taken seriously about ideas about improving our software, designs, and extensions on day 0, regardless of comparative experienceAid in constructing core functionality to communicate with other utilities and market participants for Octopus Energy’s main software product, KrakenDevelop in both Scala and Python in a robust CI/CD environment
What You'll Need
Experience with Python and/or ScalaExcellent written and spoken communication skills with an eagerness to learn about extraordinary resilient systems designed to keep data in motionExcitement about picking up new programming languages and paradigms Default behaviours of thorough detailed documentation of your technical work, preferences for highly interactive coding with colleagues, and rigorous testing Good understanding of SQL, microservice concepts, REST APIs, code-as-infrastructure principles, clustered environments such as Kubernetes, and best practices around continuous integration/continuous deployment (CI/CD)We need you to speak technical Spanish and English. If you live in Valencia would be perfect, we have a really nice office. Don't worry if you live in another city, remote is OK for us!