| layout | page |
|---|---|
| title | About |
| permalink | /about/ |
| description | David Silva — senior software engineer, 15+ years of Ruby, focused on software architecture and the modular monolith. Author of Modular Rails and Building Your Own Roguelike. |
I'm David Silva — a senior software engineer with 15+ years building Ruby applications. I care about one thing above all: software that stays maintainable long after the first release.
I work on the back end, where the durable problems live — architecture, boundaries, data, scale. I'm currently a Senior Software Engineer at Tembo Money, leading the architectural modernisation of an FCA-regulated mortgage platform: decomposing a large Rails monolith into modular engines — the same patterns I write about.
Over the years I've built for fintech (Tembo Money, Creditspring), UK government services (GOV.UK, the Ministry of Justice), and consumer platforms serving over a million users (Indeed). Different domains, the same questions every time: where do the boundaries go, what earns its keep, and how do you keep a codebase legible as it grows.
I write the books I wish I'd had when I needed them:
- Modular Rails: Architecture for the Long Game — the first comprehensive guide to building maintainable Rails applications with mountable engines.
- Building Your Own Roguelike: A Practical Guide — a complete game in plain Ruby, architecture and all.
And I build the tools those ideas demand: Seams generates pre-wired modular Rails engines straight into your own repo; Quire turns markdown into print-ready books. I also founded CarerNotes.
Good architecture isn't the system with the most boundaries — it's the one where every boundary earns its keep. I build for the long game: clear seams, honest trade-offs, code you can still reason about at 200 models. And I think the best tools clear the boilerplate without taking the keyboard — they keep you the architect.
I write regularly about all of this in the Engineer's Notebook.
Books · Writing · Amazon · CV · GitHub · @davidslv
Building something on Rails — or untangling a monolith? Find me on @davidslv or GitHub.