This is a story about how I went from a developer who simply liked working with Wagtail (the most popular Python-based content management system), to creating Wagtail’s first large video course and joining the Wagtail Core Team.
The short version of this story is: I started where everybody starts (at the bottom), started a Wagtail tutorial site called LearnWagtail.com and joined the Wagtail Core Team (I still can’t believe that happened, and I’m honoured to have been invited!.
I’ve been an avid fan of Wagtail for quite some time. It started at a Canadian digital agency called Lift Interactive. I’m a developer by trade, but got started there as a frontend developer in 2017. They used a CMS I had never heard of: Wagtail CMS. The line between frontend and backend can sometimes be a little blurry, so I jumped into the backend development pool every chance I got. And that’s when I was able to experience Wagtail’s true power.
Over time I was given more and more work, largely with Wagtail websites, amongst other responsibilities. After watching the rise of WordPress, Drupal and other content management systems over the last 15+ years, I thought I’d never love another CMS again. The accepted standard for a CMS prior to Wagtail was pretty low. Heartbreakingly low. But the more I used Wagtail the more I liked it, and eventually fell in love with it. It’s a CMS that’s designed with people in mind; features aren’t just thrown against the wall in hopes that something sticks.
The control Wagtail gave me and the simplicity and beauty it gave clients bundled with the tidiness of a Django application and all the goodies Django comes with, such as a world class ORM, and the power of Python… I felt like Wagtail was the perfect storm to take over as the world’s #1 Python-based content management system. Having good documentation and being able to ask questions in a dedicated Slack community were toppings on a cake I was already eating.
And then one day I decided to take ownership over Wagtail websites. I wasn’t just making a website for clients anymore, I was perfecting a piece of art. So I started reading through the documentation, from start to end and tried almost everything that was mentioned in there. I started moving all my personal projects away from other languages and migrated them all to Python, Django and Wagtail.
Next thing I know, my developer friends and co-workers are asking me how to write a certain feature, how parts of a Wagtail website fit together and where does Wagtail end and Django start?
Fast forward to 2019 and my hilarious and good friend Steve needed some help understanding Wagtail. He was brand new to Wagtail and didn’t know where to start. And it just happens to be that I find teaching to be very meaningful work — so we started going out for pair programming nights once a week starting after work and going until almost midnight. This was my first “official” Wagtail-based mentorship. If you asked my friend today if he could make a Wagtail site (frontend and backend) he would say yes. He’s a talented developer so I can’t take that much credit. But he had lots of questions I thought were pretty straightforward. To a new Wagtail developer these questions didn’t have straightforward answers. And as I thought about this more, I realized I had the same questions at one point. And I’ve heard other people ask similar (or identical) questions, too.
From there I started looking for Wagtail tutorials. Not just the odd blog posts here and there, but proper tutorials… The Wagtail docs are great, but they don’t give instruction on how to implement a feature in a particular way. For instance, the Wagtail docs teach about Orderables and how to use them, but until you experience an Orderable they don’t really make too much sense from a new Wagtail developer’s perspective. Once you get your hands dirty with them, everything just falls into place.
In my research for tutorials and videos I discovered there wasn’t a lot out there. And I wanted to contribute to the community, but truth be told I had some imposter syndrome going on so I never made any pull requests. But I’d still see people asking questions even if the documentation covered a certain subject, and people would still be confused about the difference between an Orderable and a StreamField, for example.
So I thought to myself, “If nobody else is doing this, why don’t I do this? Why don’t I make a website about learning Wagtail from scratch?”.
LearnWagtail.com initially started as a written tutorial-style website. I wrote only two tutorials and quickly realized that was going to take far too long and I’d really just be re-writing the documentation, let’s be honest. And any Google query about Wagtail will bring you straight to the docs. I didn’t want to displace the Wagtail docs, I wanted to supplement how people learned Wagtail. That’s when I turned to videos. Instructional videos aren’t new to me, I’ve been making these for years now so it just made sense. Plus (for me) videos are faster to produce than a written article.
It was going to start off as a 10 video series but quickly grew into a 36 video series. And as of early April 2019 I have dozens more lined up. Last count I had was over 70 videos in total.
Throughout February and early March the video course started gaining some traction. People were kind enough to share the videos on Slack, in Reddit, and even at a Wagtail Space event! And on March 18th, Tom Dyson sent me a message asking if I’d like to join the core Wagtail team. It was the first time in my life I was doubting if an event actually happened, or if I was daydreaming so hard I started to hallucinate. Scared out of my mind and having my impostor syndrome flare up like an allergic reaction, naturally I said yes! Do scary things in life, they can only make you a more experienced human (and hopefully a better person).
To date there are over 40 videos on https://wagtail.io/course. The entire video series is free, you don’t even need to give your email address. Almost every video has a corresponding commit on GitHub to show the changes I’ve made in each lesson. And a large majority of the tutorials on LearnWagtail.com have short written-form tutorials, in case you’d rather read than watch a video.
- I went from knowing nothing about a system to being on the core team. My secret is simple: I chose to be passionate about Wagtail. I didn’t want for my passion to find me. I had decided that if I was going to do something, I was going to be great at it. Anybody can be good at something, but it takes commitment to be great.
- Impostor syndrome still exists in me on several levels in my psyche, and that’s completely normal as a developer (this is a thing nobody ever mentions by the way).
- Contributions aren’t always just about GitHub pull requests, there are other ways to contribute