Comment by torginus
I just wanna make the point that I've grown to dislike the term 'CRUD' especially as a disparaging remark against some software. Every web application I've worked on featured a database, that you could usually query or change through a web interface, but that was an easy and small part of the whole thing it did.
Is a webshop a CRUD app? Is an employee shift tracking site? I could go on, but I feel 'CRUD' app is about as meaningful a moniker as 'desktop app'
It's a pretty easy category to identify, some warning signs:
- You rarely write loops at work
- Every performance issue is either too many trips to the database or to some server
- You can write O(n^n) functions and nobody will ever notice
- The hardest technical problem anyone can remember was an N+1 query and it stuck around for like a year before enough people complained and you added an index
- You don't really ever have to make difficult engineering decisions, but if you do, you can make the wrong one most of the time and it'll be fine
- Nobody in the shop could explain: lock convoying, GC pauses, noisy neighbors, cache eviction cascades, one hot shard, correlating traces with scheduler behavior, connection pool saturation, thread starvation, backpressure propagation across multiple services, etc
I spent a few years in shops like this, if this is you, you must fight the urge to get comfortable because the vibe coders are coming for you.