Kraken Technologies: How we organise our very large Python monolith
Hi, I’m David, a Python developer at Kraken Technologies. I work on Kraken: a Python application which has, at last count, 27,637 modules. Yes, you read that right: nearly 28k separate Python files - not including tests. I do this along with 400 other developers worldwide, constantly merging in code. And all anyone needs to make a change - and kick start a deployment of the software that runs 17 different energy and utility companies, with many millions of customers - is one single approval from a colleague on Github. Now you may be thinking this sounds like a recipe for chaos. Honestly, I would have said the same. But it turns out that large numbers of developers can, at least in the domain we work in, work effectively on a large Python monolith. There are lots of reasons why this is possible, many of them cultural rather than technical, but in this blog post I want to explain about how the organisation of our code helps to make this possible. If you’ve worked on a code base for any l
By David Seddon from Kraken Technologies. Hi, I’m David, a Python developer at Kraken Technologies. I work on Kraken: a Python application which has, at last count, 27,637 modules. Yes, you read that right: nearly 28k separate Python files - not including tests. I do this along with 400 other developers worldwide, constantly merging in code. And all anyone needs to make a change - and kick start a deployment of the software that runs 17 different energy and utility companies, with many millions of customers - is one single approval from a colleague on Github. Now you may be thinking this sound
related reading
- How to write complex softwaregrantslatton.com
- Cognitive load is what mattersminds.md
- Write code that is easy to delete, not easy to... — programming is terribleprogrammingisterrible.com
- Mistakes engineers make in large established codebasesseangoedecke.com
- Python Monorepo: an Example. Part 1: Structure and Tooling - Tweagtweag.io
- Real-world Engineering Challenges #8: Breaking up a Monolithnewsletter.pragmaticengineer.com
- How to scale a large codebase - Vercelvercel.com
- Scaling long-running autonomous coding · Cursorcursor.com
- The Programmer's Paradox: Systems Thinkingtheprogrammersparadox.blogspot.com
- Clean Coder Blogblog.cleancoder.com
- How To De-Slop A Codebase Ruined By AI (with one skill)youtube.com
- The Hidden Costs of Modular Systems - Multicoin Capitalmulticoin.capital