Learning Hub
Curated guides and resources on software engineering, Django, and Python.
Featured
Connecting with Django contributors on Mastodon
It's easier to contribute to open-source if you connect with people. This post dives into where to do that to connect with the Django community.
November 26, 2025
Getting Started Contributing to Django
A collection of resources to help you get started contributing to Django.
December 25, 2024
Professional Djangonaut skills
A brief description of various skills, experiences and technologies I feel that a professional Djangonaut has.
August 18, 2023
Django migrations and your database
This is my attempt to help clear up confusion about Django migrations and your database.
June 03, 2023
Questions to ask a Django company
A discussion of questions to ask a Django company before accepting a job.
December 31, 2022
Developer Guides
Guides on the difficult bits of software engineering.
Career
- Consider the source of advice
-
Finding career guidance
Sections
- Determine where you want to go
- Finding career guidance from friends and family
- Finding career guidance from colleagues
- Finding career guidance from content
- Choosing where to find guidance
- The importance of self-reflection
Code Review
-
Check yourself
Sections
- Should you have a talk with the developer before reviewing the code?
- Should you have a talk with the developer before submitting the review?
- Are you leaving too many nitpicky comments?
- Are you trying to make the other developer write your code?
-
Recheck the basics
Sections
- CI Passes - automated tests, linter, code coverage, etc
- Are the migrations/schema changes condensed?
- Are the code removals thorough?
- Are cross-cutting interface changes updated everywhere?
-
Review the tests
Sections
- Review testing and deployment procedures
- Do the tests cover the changes appropriately?
-
The tougher bits
Sections
- Are there changes that impact backwards compatibility?
- Are existing or current sessions impacted?
- Are hacks documented?
Deployment
-
Assess the risk
Sections
- What's the reasonable worst case scenario?
- Where will the most likely errors occur?
- Does the change impact customers?
-
Organization and preparation
Sections
- What customers should be involved in the deployment?
- What's the rollback process?
- Does the change require monitoring?
- Do you need to notify customers of the change
- Should the deployment occur after hours?
-
Consider the details
Sections
- Does any data need to change before or after deployment?
- Does the change require any manual actions before or after deployment?
- Do the frontend changes need to be deployed before or after the backend changes?
- Are there service interface changes?
- Do the SQL changes require locks?
- What SQL objects are being locked and for how long?
- What are the sizes of the impacted SQL objects?
- How frequently are the impacted SQL objects used?
- Does the application need to be scaled down during the deployment?
Feature Requests
-
Understanding user impact
Sections
- What users would see this change?
- What is the user trying to do?
- Is it a reasonable user experience?
- How do users recover from errors?
- Do users need to be notified?
- Does the change include a deprecation?
-
Assess the risk
Sections
- Will this require changes across the project?
- How comfortable are you with the code?
- Does the code have tests?
- Is there a maintainer available for advice?
- Is there a power user available for advice?
-
Estimate the cost
Sections
- What does the maintenance look like?
- Does this impact other flows?
- What are the exception flows?
- What are the assumptions and what happens when those aren't true?
- What are the error states and their next steps?
- Does this require monitoring?
- Will this remove or add technical debt?
- Does this unlock future solutions?
-
Consider the data
Sections
- How much data is involved?
- How will you maintain backwards compatibility for database updates?
Testing
-
Where to begin?
Sections
- Is the logic truly being tested?
- Can different datasets cause different results?
- Are exception flows reasonably covered?
- Do the changes require permission tests?
-
It's more than asserts!
Sections
- What level of testing robustness is needed?
- Are mocks used reasonably?
- What manual tests are needed?
- What permutations of the UX can't be tested?
- Does the deployment need testing?
Videos to Watch
Reviews of conference talks and videos worth watching. I share why you should watch them and what you'll take away.
Lunch Talk Series: Easy, Breezy, Beautiful... Django Unit Tests
A review of Colleen Dunlap's DjangoCon US talk on introducing unit testing and how to write tests with Django.
March 02, 2026
Lunch Talk Series: Of Clouds and Crows
A review of Lynn Root's PyCon US keynote on the topic of playing more.
February 22, 2026
Lunch Talk Series: Privilege Arbitrage
A review of Kojo Idrissa's PyDX talk on the topic of diversity and inclusion within technical communities.
February 11, 2026
Lunch Talk Series: Django needs you! (to do code review)
A review of Sarah Boyce's DjangoCon Europe 2025 keynote on the topic of code reviews for the Django framework.
February 01, 2026
Why generosity turns to rage, and what to do about it | Lunch Talk
A talk by A. Jesse Jiryu Davis and my review
March 29, 2024