timgraham

How it'll appear as a card

How it'll appear as a web page at github.com/customer-stories/timgraham

Customer story

Tim Graham

Backstory

I used Django for an independent study project during my senior year of college to develop a web app. Then one of my classes required students to do an ethnographic study of an online community. Looking for a way to add a technical aspect to the course, I chose to study the Django community. I was fairly new to Django and Python but there were a lot of small documentation tickets that I contributed to as part of my research for the course. I’ve been hooked on contributing since then.

After about eight months of submitting documentation patches, I got an invitation to join the Django team as a documentation committer. I accepted the invite and continued contributing exclusively to the documentation for several years. In the summer of 2013, I wanted to get more involved in Django development, so I started reviewing and merging pull requests in areas besides documentation.

The idea of a Django Fellowship, where the Django Software Foundation would pay someone to shepherd Django’s development, had been floating around for some time. The work I did as a volunteer showed the idea’s merit enough to inspire the DSF board to start a three-month pilot program.

The pilot started in October 2014 and the program was renewed on a “fundraising-permitting” basis shortly thereafter. I’ve full-time as a fellow for a little over two years now.

Daily tasks

You can read my retrospective of 2016 to learn more about what I’ve done recently, including:

  • Triaging new tickets that were created since I last looked at the ticket tracker
  • Reviewing pull requests from the community
  • Interspersing work on Django’s infrastructure servers such as djangoprojects.com or djangoci.com, or author a patch to fix a “release blocker” ticket such a regression in Django.
  • Coordinating Django’s release process, whether that’s a major feature release every eight months, a monthly bug fix release, or an as needed security release.

Rewards

The Django community is a group of smart and caring people. I’m blessed to work with them (everyone else, a volunteer). The last three years, an annual trip to Amsterdam for the Django: Under the Hood conference has been a social highlight that recharges my enthusiasm for the project.

“The Django community is a group of smart and caring people. I’m blessed to work with them.”

Challenges

Patch reviewers. Everyone loves to write code but reviewing code is less glamorous. I think many contributors feel that code reviews from anyone not on the Django team don’t make a difference but this is not true. I created a patch review checklist so that reviewers can follow the same process that I use. Anyone is welcome to review a patch and mark the ticket as “Ready for checkin” if it looks good to them.

Favorite moments

One member of the Django team, Loïc Bistuer, gave up on contributing to Django after several non-trivial pull requests he sent went unreviewed. Fortunately, that was around the time when I started reviewing patches. He was extremely responsive to my review comments and we merged his initial contributions and later, many more patches followed. This year, he gave a talk about his work on validation at Django: Under the Hood. I was proud to see him on stage.

Good advice

Don’t do it alone. Your interests may change or life may get in the way and you’ll risk burnout if you don’t form a team to shepherd your project when you’re unavailable. Moving a project’s ownership from “me” to “we” might be a step outside your comfort zone, but in the long run, most successful projects navigate this transition, as Django did.

“Moving a project’s ownership from ‘me’ to ‘we’ might be a step outside your comfort zone, but in the long run, most successful projects navigate this transition.”

  • project

    Django

  • location

    Glen Mills, PA USA

  • day job

    Django Fellow

Bring GitHub to work

From flexible hosting to data‐powered security, get everything your team needs to build at their best.

Contact sales