Articles
Practical guides on Django, backend engineering, and building products that scale.

Why your ORM is quietly making hundreds of database queries.

Logs that actually help you when things go wrong in production.

Move slow work out of the request cycle and keep your users happy.

Stop treating errors as an afterthought. Here's how to make them your most useful debugging tool.

Go makes concurrency feel easy. That's exactly when you need to be careful. Here's how to do it right.

Most Django apps fetch data and compute it in Python. Here's how to push that work into the database where it belongs.

What tests are, why they matter, and how Django's testing toolkit fits together before you write a single assertion.

A hands-on guide to writing focused, reliable unit tests using Django's built-in TestCase: models, validators, utilities, and service logic.

Take the unittest suite from Article 2 and migrate it to pytest. See exactly what changes, what stays the same, and why the switch is worth making.

Move up the test pyramid and test your views, APIs, and middleware end-to-end with TestClient and DRF's APIClient.

A complete guide to testing login flows, token authentication, custom permission classes, and role-based access control — every boundary, every scenario.

Build a real product review feature from scratch using test-driven development. Red, green, refactor — one cycle at a time.

Scale your test suite without losing speed or confidence. A deep dive into factory_boy, pytest fixture scoping, and hermetic test isolation.

The capstone of the series. Measure your suite, run it automatically on every push, make it fast enough that nobody skips it, and know when it is good enough to ship on.