Beñat Espiña (@benatespina) header
Beñat Espiña (@benatespina) profile picture

Hands-on engineering manager at Lookiero Outfittery Group: we help stylists dress people. On the side, making event sourcing boring with Bounda.

Bilbao
Joined August 2010
Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)Photo by Beñat Espiña (@benatespina)
Your tables keep the last write. Event sourcing keeps every change, but it always looked like a big-platform thing. So I built Bounda, event sourcing and CQRS in TypeScript for the apps most of us build. Open source. Rewind a night at a theatre: demo.bounda.dev
2
2
7
1,270
"Software factory" is the new buzzword. It's an agent pipeline pointed at building software. Nothing more. We built one at work. It decides product, not code. The hard part is the same as in any factory: saying exactly what you want, and checking you got it.
1
36
The usual definition: agents plan, code, review and ship with little to no human in the loop. Even there, people still pick the work and say what done means. The spec and the check again. This piece looks at how far most teams are: rdworldonline.com/jellyfish-…
1
15
Ideas in a meeting are cheap. With agents, a working prototype is almost as cheap. So I stopped asking my team for proposals. Build it, then we talk. Arguing over something that runs is a lot shorter than arguing over a slide.
24
The trick is crypto-shredding: one key per person, their fields encrypted with it, forgetting = deleting the key. The part I care about most: a forgotten field reads as `null` in the types, so the compiler finds every place that assumed it was there.
1
61
Love the idea of altitude. Don't ask the agent to fix this crash. Ask it to keep the app crash-free. Yet we still hand agents tickets. A ticket is the size of a person's day, not a model's.
1
68
Code comes out in milliseconds now. The expensive part moved: reading it and knowing what it just did. So before any code, I ask for the plan in a doc and we argue about that.
28
Not every "no" is an event. If the business needs to remember it, or someone else reacts to it, it's an event. If it's just an answer to whoever asked, it's an error. Don't store it.
1
95
Since agents, everyone shares how much more they ship. Almost nobody shares how much more breaks, or how much gets redone a week later. Speed without the failure rate is half a number.
49
Beñat Espiña retweeted
I love this. It’s the reason I’m on Twitter. What it means to build product has changed but being user obsessed still pays dividends.
Replying to @karrisaarinen
If software is solved, maybe we all should just move to helping users
19
9
3
398
18,445
Postgres 19 is late, and Robert Haas says it's because of AI. Not bad code from agents. LLMs found so many bugs that three features got reverted in beta. The bugs were always there. Now something reads the old code too.
1
48
A command is one file. Its place and its name are the declaration, and bounda generate infers every type. github.com/bounda-dev/bounda
67
Agents made starting free. Finishing still costs what it did. So you can spend a whole day busy and ship nothing. One merged beats fifty in review.
There’s 100% a kind of mania you can get into with coding agents, where it feels like you’re getting a lot done and working all the time but nothing is really happening. I think it's often a form of avoidance of something else in life.
62
I manage engineers and I still write code. It's not about control. It's how I keep my opinions honest. Architecture advice from someone who never feels the friction is cheap.
65