Horrors of Distributed Systems
Many projects grow to the point where distributed systems are needed - or even more excitingly, plunge into it headfirst my adopting microservices - but along with the obvious challenges of more servers and more storage, there's all sorts of hidden dangers that you might never even have planned for.
Learn about the wonders of hardware issues, networks that can't even fail correctly, delivery tradeoffs, cosmic rays and problems with time itself, and how you can be a bit more prepared for these sorts of challenges in the future - even if you're still a small project.
Andrew is a member of the Django core team, a Senior Engineer at Eventbrite, and was the original author of the Django migrations framework, its predecessor South, and now writes and maintains the Channels framework. His work mostly focuses on software and systems architecture, and he enjoys nothing more than making systems and tools that other engineers can use to get their jobs done more easily. In his spare time, he enjoys piloting small planes, archery, and attempting to visit every one of the USA's National Parks.