2025-09-25 –, Apollo
Monorepos promise faster development and smoother cross-team collaboration, but they often seem intimidating, requiring major tooling, buy-in, and process changes. This talk shows how Dexter gradually introduced a Python monorepo by combining a few lightweight tools with a pragmatic, trust-based approach to adoption. The result is that we can effectively reuse components across our various energy forecasting and trade optimization products. We iterate quicker on bringing our research to production, which benefits our customers and supports the renewable energy transition. After this talk, you’ll walk away with a practical blueprint for introducing a monorepo in your context, without requiring heavy up-front work.
Many Python product development teams struggle to manage shared code across multiple product repositories. Internal packages seem like a good solution, until releasing and updating them becomes slow, risky, and frustrating. Monorepos offer a compelling alternative, but often come with perceived challenges: steep tooling requirements, inflexible processes, or the need for top-down mandates.
At Dexter, we provide our customers with an array of renewable energy forecasting and trade optimization products that share many similar components. To iterate quickly, we need to keep teams autonomous, enabling them to make their own product decisions, but at the same time reuse code and ideas from other teams easily, in cases where it can accelerate progress. As team composition and product-market fit are evolving constantly, we also need our code base to support organizational changes and be quick to onboard to. At the same time, we wanted to avoid a large engineering effort to introduce a heavy-handed monorepo solution.
Therefore, we decided to experiment with a monorepo gradually, starting with just two teams. We didn’t rewrite our workflows or adopt heavyweight tools. Instead, we used a small set of simple, open source tools and focused on trust-based coordination and documentation. Today, most of our products are powered by that monorepo, and we’re shipping faster and collaborating more easily. This setup is key for our data science-heavy product suite, as new product features, better forecasting models and smarter trade decision optimizers immediately benefit our customers and support the renewable energy transition.
In this talk, I’ll share our playbook:
- Why we wanted a monorepo
The pain of shared packages and coordination overhead
The promise of speed and confidence
2. Four essential tools (all simple and open):
polylith for structure and modularity
uv for fast, reproducible dependency management
tach for guarding of package boundaries and selective testing
ADRs for lightweight decision making and tracking
3. Organizational tactics:
Start with a real use case, instead of a mandate
Remain flexible: don’t enforce what doesn’t hurt
Document shared norms as they emerge
Let success stories pull other teams in
4. Lessons and ongoing challenges:
Keeping CI fast and scoped
Avoiding “free rider” effects
Making cross-team decisions without blocking progress
This talk is for engineers and tech leads in multi-team environments who are interested in monorepos, but hesitant about the cost and coordination. You’ll leave with practical ideas to improve collaboration and speed—without needing to overhaul your entire organization.
Gerben is passionate about driving the transition to a sustainable power system. Over 15 years in renewable energy, he transitioned early in his career from consulting to data scientist and machine learning engineer roles, specializing in power systems, electricity markets, wind power, and grid operations across multiple companies. With a strong interest in software engineering design, he has served as both a data scientist and tech lead. He now works at Dexter, where he tackles complex cross-team projects spanning engineering, data science, and energy domain expertise. Dexter provides forecasting and trading services for renewable players in short-term power markets. Gerben holds an MSc in Electrical Engineering from Eindhoven University of Technology.