Learn system design and architecture in context, via a behind-the-scenes tour of Oxbridge Notes, a profitable web app serving over 200,000 requests/month for 10 years (albeit with bleeding edge code). See how performance is improved with queues, DB indexes, memcached, full-text search, micro-services, and HTTP caching, how production errors are tracked and escalated when necessary, how classes are organized into a sensible architecture, how its containerized for continuous integration testing, how git is used to minimize conflicts and more. At the end, you'll know exactly how to do the same and be able to ace any system design interview.
Data is more important than code, therefore the most important job you, as a programmer, have is to design a system that allows for a simple, constrained, and predictable set of data. In this episode, I'll discuss how null constraints can reduce the number of types your program has to deal with, thereby simplifying your code. Then I discuss how
check constraints can force data to take a limited (and more useful) range of values. Lastly I'll explain why it's better to carry all this out at the database level rather than at the Ruby/Python/Php/JS level.