· 1 min read
Why I Stopped Using ORMs
A controversial take that's less controversial than it sounds. Most ORM magic isn't worth what it costs you when things break.
- #databases
- #opinion
For about four years I thought ORMs were the only reasonable way to talk to a database. Then I spent a month debugging a performance issue that turned out to be a query the ORM was generating for me.
That was the turning point.
These days my default is:
- Write SQL directly for anything non-trivial
- Use a thin query builder (like Drizzle or Kysely) when I want type safety without surprises
- Reach for an ORM only when the schema is genuinely simple and stable
The pitch of an ORM is that you think in objects, not tables. The reality is that you think in the ORM’s version of objects, which is its own mental model you have to learn. When the abstraction leaks (and it always does), you’re stuck debugging two systems at once.
SQL is a skill. The time you spend getting better at it pays off forever.
thanks for reading ~say hi →