i use to think wordpress had the worst schema in the world. after actually using it and writing plugins for it, i've come to the conclusion that it is genius. their schema design really makes it very easy for others to "extend" the structure without having to actually alter the schema.
to elaborate on what i mean by extend, wordpress's schema is basically a post table that has the very minimal required columns for creating a post (like the title, date, status and a couple of other), the post_meta table references that post table and basically is used like a huge key/value store. really all it is post_id column (which reference back to the posts table), a key column and a value column. You can add whatever you want to a post by adding them to the post_meta.
this design is copied for all other areas as well, such as users, comments and what have you.
now obviously this kind of design isn't going to work for something like a financial institution where you most likely want a ton of referential integrity built into the schema to prevent accidental data lost and to validate data input, but for a CMS it works very well.
again... it all depends on what the system requirements are.
"If you stay at Google, make the most of it by progressing deliberately in your social life. If I'd've stayed, I could have comfortably raised some kids with my wife by now - but that's still on the todo list."
THIS all the way.
When we are young, we think that we will be remembered by the company that we worked for and the people that we worked with. The sad truth is that in 99.9999% none of those people will remember you the second you walk out the door.
The family you raise will remember and love you though.
I'm in my 40s and got fired a very cushy job like OP has. The reason was cause I wanted to challenge myself and I worked myself into early alcoholism which resulted in my dismissal. My co-workers don't call, the company doesn't call, they don't care. My marriage broken up cause of the job and me wanting to pursue my so called dream. I'm alone and will most likely die alone this year by my own hand since the pain is too much bare sometimes. I miss my wife and my little Pomeranian terribly.
OP... if you want challenge in your life, challenge yourself to being a good partner to someone in a marriage and raise some kids, get a Pomeranian :) Have something in this world that will truly appreciate and remember you when you are gone.
"I never saw a tombstone that read. 'If I had only worked more'"
this would a slam dunk if you could sponsor projects or organizations besides just developers. if that happened, this would destroy patreon and paypal in the donation space for OSS projects.
i use to think wordpress had the worst schema in the world. after actually using it and writing plugins for it, i've come to the conclusion that it is genius. their schema design really makes it very easy for others to "extend" the structure without having to actually alter the schema.
to elaborate on what i mean by extend, wordpress's schema is basically a post table that has the very minimal required columns for creating a post (like the title, date, status and a couple of other), the post_meta table references that post table and basically is used like a huge key/value store. really all it is post_id column (which reference back to the posts table), a key column and a value column. You can add whatever you want to a post by adding them to the post_meta.
this design is copied for all other areas as well, such as users, comments and what have you.
https://codex.wordpress.org/Database_Description
now obviously this kind of design isn't going to work for something like a financial institution where you most likely want a ton of referential integrity built into the schema to prevent accidental data lost and to validate data input, but for a CMS it works very well.
again... it all depends on what the system requirements are.