CRUD apps might require business domain knowledge and good process logic but they don’t stretch your architectural skills, they don’t stretch your systems skills, nor your language skills. This is because most CRUD applications generally boil down to 1) data IO plumbing/scripts 2) SQL and DB architecture, 3) reporting. The pure technical aspects can be mastered in a few years. They are not a route to becoming a brilliant software engineer.
Sure for some no-true-Scotsman definition of “CRUD app” this is 100% true.
However even for the most boring CRUD app there is still unlimited applicability of intelligence and skill to build the right thing balancing speed of delivery, performance, UX, maintainability, and requirements compromise for simplicity. Doing this well is a path to business success far broader than winning a dick-measuring contest at FANG.
No one is saying CRUD developers are not smart. It sure takes intelligence to build good CRUD processes. Each one is a slice of a business process. Goodness knows you can spend many lifetimes doing that, and you would accumulate more and more business process know-how. That’s very valuable, and can be very highly rewarded, especially if you are the only person who understands it well. But like I said your software knowledge would quickly plateau, compared to someone who is building new green field applications that are more broad. This is just my perspective after 25 years of doing both types of work and seeing what effect they each have on your technology skills over a ten+ year period.
My problem—hinted at in my opening sentence—is that "CRUD app" has become a vague pejorative with no clear definition. All software reads and writes, there is some hand-wavy sense that software becomes interesting when it has massive scale, or in interesting domains, or embedded, or has tight performance constraints, etc. But what is actually "boring CRUD", it ranges between 5-99.9% of all software depending who you ask.
> CRUD apps ... don’t stretch your architectural skills, they don’t stretch your systems skills, nor your language skills.
then
> This is because most CRUD applications generally boil down to ... 2) SQL and DB architecture, ...
Hmm? Do CRUD apps, in your opinion, involve architecture or not? I can't tell what your position is.
In any case, CRUD is generally used to mean "RESTful", which basically means you have an HTTP API on top of the app.
Some cases I've seen started with trivial underlying NoSQL DBs, and then grew insanely complex. That's architecture right there. Even if you start with SQL, if you don't know the language and how to model the data effectively, then chances are you'll end up in a world of hurt.