I'm curious why new arrivals to SO never recognize a class/subclass table design issue as a probable FAQ. These people are otherwise intelligent and reasonably well educated. Yet they seem to think that "employee/hourly/salaried/contractor" bears no commonality with "vehicle/truck/sedan/motorcycle".
...
In fact, that may be where my world view diverges from SO. Many of them appear to think that if you have enough mastery of the mechanics, the philosophy will all just fall into place.
Here's what's satisfying to me about the exchange I linked to:
The OP ended up with a solution that worked PERFECTLY, by the OP's own account.
Here's what's unsatisfying:
Using boilerplate multiple times for multiple questions is like storing the same fact in multiple places in a database. There has to be a better way. In the case of a database, the better way is called data normalization. In the case of Q&A, I imagine it to be FAQ's.
I have discerned a very similar pattern on the site onstartups.com - which is based on the same engine and whose participants follow the same operating principles.
You are complaining about newbies who believe that their particular problem of the moment is an exception to all rules and which requires a unique solution.
You are also complaining about newbies and "commoners" on Stackoverflow who don't believe in understanding certain subject matter at a deep level, believing instead that applications themselves will result in understanding.
These are tendencies that I see in abundance on OnStartups.com in the questions asked. I also see the lack of interest in being grounded in basics and trying to find prior art that reflects one's current problem.
I also see the lack of intellectual discipline - wanting a real solution but no interest in the general principles used to arrive at that solution.
All I can say is --- "Kids!"
The willingness to submit one's problem to comparison with existing best practices requires a degree of professional maturity. You have to believe in essence "I didn't think about it the first time in the history of the world so someone has done something similar to this."
Newbies really don't want to do this.
And the willingness to respect an area of endeavor as its own discipline that has its own rules is also a function of professional maturity. Programmers with databases are very bad at this, as you keep repeating. I agree. But I also provided a few rationales in the recent past as to why it might be - the database being used as local storage for just one application makes it a private concern of the developer.
But in general, a newbie blunders into a new area in ignorance, says "this ain't so complicated, just CODE SOMETHING", and lays carnage to the work. A mature professional says more like "I will probably mess this up unless I understand what is going on to at least a limited extent."
I see these tendencies in the business related questions that get asked on OnStartups. You see it in database related questions posed on StackOverflow.
My conclusion: Q&A sites are frequented by newbies and professionals in training who really aren't quite there yet (as professionals.)
'Twas ever thus.