There is an annoying gap in the curriculum of most online dev courses – something I’ve been mentally referring to as the Skills Valley.
Online courses – regardless of the source – are pretty good at teaching you the basics of whatever you want to learn (Python, Docker, Machine Learning). They’ll build up the confidence of the student brick by brick within the careful confines of the course.
But, at least in the several tutorials and courses that I’ve taken, when you get to the end of the course, the materials will say something like, “Now just switch out that SQLite for Postgres before you use this production.”
This leads to frantic googling of things like “How do I use Postgres in Django?” Not to mention the relative tons of stuff that happens between “I have a working local app” and “I have code running in production” – the security tweaks, moving environment variables out of your settings file, hardening forms, and production-level server changes.
Thankfully, at least for Django, I found a book for it. The title, Django for Professionals, is a bit ambitious. A more accurate title is probable Django for the Real World. There are several complaints about the book’s frequent use of “but that’s outside the scope of this book” when referencing concepts like REDIS or CDNs – but that basically just leaves open room for sequels.
But, nitpicks aside, the book did a damn good job of taking me from someone who’s been writing Python for a few years (and have completed more than my share of tutorials) into, well, this.