Estimating cost per dbt model in Databricks Many data teams across Kraken are using Databricks and dbt to build their analytics lakehouses. Databricks is a powerful tool that allows... Posted by Evelyn Byer on Sep 23, 2024 Automating secrets management with 1Password Connect The Kraken data platform team is in charge of building out comprehensive analytics platforms for all our clients. This includes setting u... Posted by Maja Cernja on Sep 2, 2024 Understanding how mypy follows imports At Kraken we run the static type checker mypy on our very large (~6 million lines of code) Python codebase. It’s the slowest thing in our... Posted by David Seddon on Aug 19, 2024 Optimizing AWS Stream Consumer Performance Within the Kraken platform, we leverage Amazon Web Services (AWS) streams to capture and ingest data changes from API databases. Consumer... Posted by Ross Rhodes on May 13, 2024 Sharing Power Updates using Amazon EventBridge Pipes Within the Kraken platform, we host a Dispatch API responsible for reading and writing dispatches on assets. A dispatch is an import or e... Posted by Ross Rhodes on Feb 19, 2024 Using formatters and linters to manage a large codebase At Kraken Tech we have a large global development team with over 500 developers, the majority of which work on the same monolithic codeb... Posted by Frederike Jaeger on Jan 5, 2024 Our pull request conventions At Kraken Tech we use GitHub pull requests for our reviews. Over the years we’ve adopted a set of conventions to make sure we get the mos... Posted by David Seddon on Jun 21, 2023 Patterns of flakey Python tests Flakey tests fail intermittently causing confusion, frustration for developers and delays in your deployment pipeline. Flakey tests ... Posted by David Winterbottom on May 23, 2022 Integrating Asana and GitHub Matt Kinnersley, a Front-end developer here at Octopus, recently published a great blog post on Integrating Asana and GitHub. This came a... Posted by Matt Kinnersley on Apr 25, 2021 Durable database transactions in Django David Seddon, a senior developer in our team, recently published an interested blog post on “The trouble with transaction.atomic” drawing... Posted by David Winterbottom on Nov 30, 2020 Python interfaces a la Golang For the last four years I have been jumping back and forth between Python and Go. The majority of the work I carry out as a Machine Learn... Posted by Javier Asensio-Cubero on Mar 21, 2019 Beware changing the "related name" of a Django model field We had an outage on Friday 15th March caused by an innocent-looking change, where the “related name” of a Django model field was renamed... Posted by David Winterbottom on Mar 18, 2019 Our in-house coding conventions We’ve published our in-house coding conventions in a public Github repo: github.com/octoenergy/conventions. It contains guidelines for: ... Posted by David Winterbottom on Feb 28, 2019 Recommended Django project structure James Beith, a member of our tech team, has written up an excellent post on how to structure a Django project, based on how we structure ... Posted by David Winterbottom on Jun 28, 2018 Using a custom Sentry client We use Sentry to monitor errors within our Django applications. It’s an excellent tool: you should use it. Regrettable however, we somet... Posted by David Winterbottom on Oct 13, 2017 Improving accessibility at Octopus Energy The Home Office recently published guidance on how companies can use web design and development to make sites accessible to everyone. The... Posted by Ashley Firth on Jul 22, 2016 Django, ELB health checks and continuous delivery A robust means of deploying web applications with Amazon Web Services is to use an Elastic Load Balancer (ELB) to balance requests betwee... Posted by David Winterbottom on May 5, 2016 Organising styles for a React/Django hybrid When we started working with React JS here at Octopus Energy, I thought I’d try implementing CSS Modules to achieve what they call ‘inter... Posted by Ashley Firth on Mar 23, 2016 Testing for missing migrations in Django Since version 1.7, Django creates migrations for more than just changes to your model fields. It’s easy to forget to create a migration a... Posted by David Winterbottom on Jan 21, 2016 Hello world, would you like to join us? We’re looking for super-smart people to join the tech team at Octopus Energy. We’re in the process of designing and building our initial ... Posted by David Winterbottom on Nov 23, 2015