The broad set of computer science problems faced at cloud database companies
I've been working hard to up skill on the consistency and distributed systems sides of things. General recommendations:<p>- Designing Data Intensive Applicatons. Great overview of... basically everything, and every chapter has dozens of references. Can't recommend it enough.<p>- Read papers. I've had lots of a-ha moments going to wikipedia and looking up the oldest paper on a topic (wtf was in the water in Massachusetts in the 70s..). Yes they're challenging, no they're not impossible if you have a compsci undergrad equivalent level of knowledge.<p>- Try and build toy systems. Built out some small and trivial implementations of CRDTs here <a href="https://lewiscampbell.tech/sync.html" rel="nofollow noreferrer">https://lewiscampbell.tech/sync.html</a>, mainly be reading the papers. They're subtle but they're not rocket science - mere mortals can do this if they apply themselves!<p>- Follow cool people in the field. Tigerbeetle stands out to me despite sitting at the opposite end of the consistency/availability corner where I've made my nest. They really are poring over applied dist sys papers and implementing it. I joke that Joran is a dangerous man to listen to because his talks can send you down rabbit-holes and you begin to think maybe he isn't insane for writing his own storage layer..<p>- Did I mention read papers? Seriously, the research of the smartest people on planet earth are on the internet, available for your consumption, for free. Take a moment to reflect in how incredible that is. Anyone anywhere on planet earth can git gud if they apply themselves.