Since mid-October I've been working on my newest Pluralsight course and I can finally announce it's here! ✨ The Contributing to an Open Source Project on GitHub course will teach you how to be an effective open source contributor by showing you how to work with others and work through common scenarios you'd find in the real-world. It distills most of the foundational concepts I've used in practice contributing to open source (and inner source) over the years and it was a fun course to build!
It's designed for folks new to open source, who may never have contributed before but are interested in how to get started. I cover tips for opening pull requests, finding issues to work on, working with maintainers, and tons of scenarios you might run into while contributing code.
If that sounds like something you're interested in, check it out!
The build process
I've documented before how I track working on my courses and to that end nothing has changed. I use previous course Trello cards as a template for new ones. However, one thing that may change in the future is switching to Notion instead which would allow me greater flexibility in organizing work.
Estimates are hard
Imagine my surprise when halfway through the course, I blew through my course time budget:
By the end, I was double what I thought (pretty much exactly). It just goes to show it's tough to estimate how long an individual course might take. Recall last time each Azure course was about 60 hours of work (for 120 total).
What I think contributed to the overtime:
- Complex demo flows. I felt very strongly that I show how to work within an actual GitHub repository and in order to do so, I had to make it public and create several test accounts. I had multiple browser windows open in order to do the recordings because I couldn't effectively set up everything beforehand as each demo built on top of one another.
- Lots of content. The draft produced course was actually around 2h15m or so and I was able to edit it down to 1h45m for the final production. When I do content planning I script out all the demos, what to cover, etc. so the end result is more polished but it's hard to estimate how long each clip will be when you do that.
- Technical issues. I upgraded to Camtasia 2019 and overall it was good except for the fact that it ran into some bugs like where I couldn't easily select a window to record, which meant each time I had to resize the window and recording outline manually to align properly. Furthermore, it seems like Camtasia chokes on anything more than 10 minutes long because it's just a bear when it starts getting long. Another author mentioned they do one Camtasia project per clip and I think that's what I'm going to do going forward. The UI lag was killing me.
I am pretty pleased with the end result but that extra time was squeezed into about 4-5 weeks which was pretty intense on my schedule.
I'm excited to release this course because it's much less of a technical how-to and more of a holistic best practice course. I focused a lot on communication techniques and peppered the course with tips and tricks I've used in real-life.
I kept thinking of more things I could possibly do later for a second edition, for example I bet you could do an entire module on all the interpersonal topics related to open source. I actually didn't realize how comprehensive the Pluralsight catalog was already covering communication skills so I'm glad I recommended those and I plan to go through them all myself.
If contributing to open source seems interesting you and you haven't had a lot of experience, I hope you find the course useful!