| I'm considering trying to move towards working as a developer for a database product. I'd like to get some info on what the day-to-day tasks are like for a developer of something like MongoDB, FoundationDB, CockroachDB, NoSQL alternatives... any type of data store really. Some things in particular I'm trying to figure out:
* As with all dev work, a large portion of work is bug hunting, but what kind of bugs do DBs usually have to deal with? * Do developers spend a lot of time on optimization or is this mostly just a concern that's figured out during initial development? * What educational prereqs are there? Do employers (strongly) prefer a Masters or even PhD? * How is the job market for this kind of work? Obviously demand is going to be much lower that your standard webdev job, but how is the demand/supply imbalance? * What employers hire these developers? Is it basically just FAANG and specialty companies a la Cockroach Labs? Thanks to anyone who takes the time to respond! |
Start with relational, understand why it is the reference architecture, and from there the tradeoffs involved and what other architectures bring to the table (columnar, streaming, object, in-memory, array, distributed, blockchain, nosql, etc)
To really understand why you should start with relational, read Stonebraker's classic paper: "What goes around comes around": https://people.cs.umass.edu/~yanlei/courses/CS691LL-f06/pape...
It will teach you database evolution history so that you don't end up reinventing the wheel.
Stonebraker's MIT course: https://ocw.mit.edu/courses/electrical-engineering-and-compu...
There are a few lectures of this course in youtube, not by him: https://youtube.com/playlist?list=PLfciLKR3SgqOxCy1TIXXyfTqK...
MIT's distributed systems course also touches on databases: https://pdos.csail.mit.edu/6.824/schedule.html
Course by one of his disciples: https://15721.courses.cs.cmu.edu/spring2020/
Yet another disciple (in edx too): https://m.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUj...
The red book: http://www.redbook.io/
For learning SQL really well, including relational algebra, I like this course: http://users.cms.caltech.edu/~donnie/cs121/