I think I join most of us in being thankful that 2020 is largely over. Comparing this Year in Review to my previous ones in 2018 and 2019 it’s clear that I was not particularly productive professionally. Some of this was planned pre-Covid–my wife and I welcomed our third child into the world at the end of February–but whatever relaxing parenting I had in mind, in a world with in-person school, childcare, and all the rest–quickly went out the window. I live in an urban setting (next to Boston) and so having 3 little kids in a small apartment when you’re fearful of going outside has not been a picnic.

On the other hand, 2020 has been a chance for me to really consider and express gratitude for the fact that I’m a software developer in a world where entire industries are being decimated. I can work from anywhere there is internet, which currently means my bedroom. Most people are not as fortunate. And in part because I came to my current field in technology later in life, I’m constantly thinking about ways to spread knowledge and access to programming to others. There’s little innately special about a programmer other than opportunity, whether that’s the ability to have your own computer, time to program, access to resources, mentors, or classes.

As much as I focus on curriculum and content, I’m very aware that it is these larger issues currently taking shape in my own children’s education: access to computers, adults who can supervise, internet, structured time, that are the big limits on exposing technology in general and programming in particular to more people.

And at least in my country, the United States, it’s clear our leaders need to change

But as part of closing the book on 2020, here’s a look at what I actually did do and then my goals for 2021 assuming the world resumes some sense of normalcy.

1. Books

I published two books in 2018 and one in 2019 which means I now have 3 titles that require constant maintenance and upgrades to keep pace with Django’s rapid release cycle. Django 3.0 was released in December of 2019 so I spent much of that month–which bleeds into 2020–updating them appropriately. Because all three books proceed step-by-step through projects and concepts I can’t just update one small part; the entire book and its underlying code needs a refresh.

I’ve really tried to view these forced updates as a chance to look at the code and my prose with somewhat fresh eyes. To constantly improve things. Go through all the code from scratch. And I think that largely works. Though it takes a tremendous amount of time to update code, text, versions, and all the rest while answering reader questions about things that have changed in their previous versions of the books.

In August of 2020, Django 3.1 was released and I went through the whole process again. I’m not sure I can save much time here and farming the work out to someone else means I’m not as knowledgeable about all the changes. But it is a tremendous time sink for me as a creator. The parachute of updates and maintenance makes it challenging for me–and any other Django content person–to create new material.

2. LearnDjango.com

I launched this site in 2020 and have redirected most of the Django-related contents from my personal site, www.phxilap.com, over to it. This has resulted in a pretty massive hit to my SEO even with 301 Redirects. So that’s not great. But I have plans for the site to be Django-only, to have structured learning paths, eventually video, and online versions of the books so content is always available to readers.

I’m close to launching a design refresh with Tailwind CSS, which has been a fun project. And fully launching the books online is something I desperately want to do before Django 3.2 is released next spring. Fingers crossed on this one.

3. Django Chat Podcast

After 72 straight weeks of releasing a new episode, Carlton Gibson (my co-host and current Django Fellow) and I took a two-month break over the summer. This was much needed. We both have large families and the podcast doesn’t make any revenue for us at this point: no ads or sponsors. So we’ve switched for now to a fortnightly release schedule which makes things much more manageable.

Highlights from the fall included having Michael Kennedy on to discuss teaching Python, Carl Meyer to talk about Django at Instagram, fellow DSF Board Member Aaron Bassett to discuss MongoDB, and more.

Like most podcast hosts we saw a significant dip in traffic after Covid as commutes went away for many listeners. We’re roughly back to where we were at the beginning of the year despite only releasing every two weeks: ~1,500 listens per new episode per week with another ~1,500 listens to back episodes.

I produce the podcast and feel pretty comfortable with that flow these days. I should write an updated post on it all for others thinking of doing the same.

4. Django News Newsletter

Jeff Triplett and I launched the Django News newsletter at the end of 2019 which is now on issue 54. It’s a weekly recap of Django-related news, articles, tutorials, and projects which was lacking in the community. It now reaches over 1,500 Django developers and has an open rate of over 60% which is apparently quite high in the newsletter realm. Sponsorships are available and have allowed us to cover the costs of the hosting platform at least. Hopefully this newsletter will continue to grow in 2021 as I’m not aware of a similar resource for Django-related stuff.

5. Django Software Foundation

I served on the Board as Treasurer this year and was recently elected to another term (thank you DSF Members). This was a great opportunity for me and also took up quite a lot of time. I’ve written a detailed post on DSF Board duties, but highlights included standardizing the Treasurer role, launching the official Django merchandise shop, launching GitHub sponsors, and releasing the first Django Survey in years.

Frank Wiles was an excellent President these past 5 years and I’m excited to see how things will unfold now that Anna Makarudze is the new President for 2021.

My main goal is to add more support for corporate sponsors to help them receive more recognition for their contributions and to shore up the DSF’s finances. The annual operating budget is only $200,000 and there is less than a year’s worth of cash on hand so this is worthy of attention.

6. www.phxilap.com

Most of my focus this year was on LearnDjango.com and not this site, however I still wrote a half dozen posts and updated many of the older ones. I need to sort out what to do with this site longer term as I bifurcate Django content from everything else. Long term I’d like to create content on Python, JavaScript, HTML/CSS, SQL, etc so either I’ll do that here or on another dedicated site. We’ll see.

7. Open Source

I didn’t create much new open source but I did devote time to maintaining my existing projects:

  • awesome-django now has 3.3k stars and Jeff Triplett joined on as a co-maintainer which has made it much more manageable for me.
  • DjangoX has almost 900 stars and is my starter project with built-in authentication, static files, Docker, and all the rest. I have thoughts of making a premium version that is fully kitted out but I’m not sure I need another small project on my plate to maintain, even if profitable. We’ll see
  • DRFx is my Django REST Framework starter project which was updated and still chugs along.
  • installpython3.com continues to grow in traffic and is open source on GitHub. Installing Python is a nightmare, still, so I hope this site helps newcomers and professionals see an opinionated take on how to get it installed and move on with things.

I’ve become much better at batching my contributions to these projects a few times a month rather than reacting to the daily trip of requests and updates that any open source maintainer faces. Feels sustainable for now.

Looking ahead to 2021

It’s hard to make any concrete plans for 2021 other than to hope for continued health for both my immediate family and everyone else in the world. I’m looking forward to another year on the DSF Board, improving LearnDjango.com, and continuing with both the podcast and newsletter.

Beyond that, I have plans and the equipment to launch a whole slew of Django-related videos which I hope will come to pass. I also have a book on Python I’ve been working on for a few years so that will likely compete with the videos for my attention when it comes to new content.

Bigger picture I’m trying to maintain some semblance of normality for my three young children and so that will take up most of my available time. If I can tread water professionally in 2021 I’ll be happy. I’d love to do more but it’s hard to say. I miss seeing Django developers at conferences and there’s some chance that will happen in the fall but… who knows.

If you’ve made it to the end of this post, thanks for reading. I write these year-end reviews mainly for myself but hopefully it provides some insight into what I’m up to. I wish you all well in the coming year.