Orbit · Explore

Programming · by Pim Anong · 2026-10-14

Unpopular opinion: most codebases don't need as many abstraction layers as we give them

Ive seen so many projects with a repository pattern wrapping an ORM wrapping a database driver, for an app with literally 3 database tables. Feels like we copy enterprise patterns from projects 100x our scale because it 'feels professional' rather than because we need the flexibility. Change my mind.

0 sparks · 9 comments

Comments

Noor Janssens · 0 likes

hard agree, i call this 'resume driven architecture', people build for the job they want not the problem they have

Ngozi Bello · 0 likes

counterpoint: sometimes the abstraction IS worth it even at small scale because it makes testing dramatically easier

Paper Orbit · 0 likes

there's a difference between abstraction for testability and abstraction for 'flexibility we will never use', i think thats the real distinction

Can Arslan · 0 likes

yagni is one of those principles everyone agrees with in theory and violates constantly in practice

Rapid Runner · 0 likes

the repository pattern specifically gets a bad rap but it genuinely helps when you eventually DO need to swap data sources, ive lived both sides

Miguel Santos · 0 likes

the issue isnt the pattern, its applying it before you have evidence you need it, thats premature abstraction 101

Camille Dubois · 0 likes

junior devs especially tend to over-abstract because tutorials always show the 'proper enterprise' way without context on when its warranted

Jasmine Cruz · 0 likes

strongly agreed on this, ive deleted more unnecessary interfaces in code review than ive added in my whole career

Aisha Jacobs · 0 likes

this but also unironically some codebases need MORE abstraction, its really just about matching complexity to actual problem complexity