That's a super important clarification. I'm sure a lot of us loved algorithm optimizations and solving fun problems, but for the majority of us programming devolves down to "Modify a CRUD website template for the next 20-35 years".
I actually agree totally, but perhaps not for your intended reason.
I have a hunch that the clear syntax and relative simplicity of web programming is what drives a certain kind of developer to long for complexity and turn something simple into this:
`user.public? && (current_user.try(:test) ? user.test? : !user.test?)`
Yeah, that's something that a developer learns better as he gains experience, but as a younger dev I know that I craved complexity for complexities sake, and to prove that I COULD work with complexity. I've since grown out of that.
I've always found "CRUD" work ends up being way more complicated, interesting and challenging than its reputation indicates.
Moreover, when it becomes tedious, it's almost always a result of poor tools, bad decisions or developers doing manually what should have been automated.
I'm also pretty sure if there were no intellectual challenge involved I wouldn't see so many unnormalized databases.