title: ‘Django Is More Than Good Enough (This Old Pony #74)’ layout: newsletter published: true date: ‘2019-01-02T11:05:00.000Z’

In last week’s newsletter I suggested that there are times when Django isn’t the only reasonable choice for the job. Moreover because of the expansion of both the “market” for web application tools and changes to the shape of this “market”,  there are all kinds of pockets and niches where some other tool is simply better at the job than Django (e.g. processing massive amounts of data in real time or building massive chat-based systems). And moreover, that this is just fine, and if you need to port part of a Django app to a new platform that’s not a failing of Django but a sign of a significant improvements in other tooling.

Today I want to steer us toward the however…

Both generally and with regard to Django, in most of the cases where I’ve seen _ people who think they’ve reached the limits of what their tools can do, they’re simply wrong, often by significant margins _. The reasons, though, vary a lot. They’re interesting in and of themselves but identifying them is important unless you have piles of cash to turn and don’t mind risking your entire software stack.

I’m just going to throw out a few today:

  1. Ignorance about how existing tools work (and what they can do)
  2. A bad or sub optimal application architecture
  3. More specifically, bad or the wrong data models
  4. Novelty seeking (boredom) In following newsletters we’ll address these in detail, along with how to identify them and suggested solutions so you can avoid the costs associated with shifts that are costly, risky, suboptimal, or all of the above.

Between now and then, I’d love to hear your thoughts and your own stories/questions about switching or adding tools to your Django app.

Quick note: this doesn’t include the valid reasons for adopting new tools or even wholesale switches. It’s likewise important to know when it is time to adopt a new tool or paradigm, but for too many situations the former is more important.

Upgradedly yours,
Ben