All You Need to Know about Tech Tutorials
People often ask me how I write tech tutorials. I’ve given partial answers time and time again, but I wanted to cover it all at once so that you know what I typically put into a tutorial and how you can plan one out.
To date, I’ve written over 60 free tutorials, recorded many free videos, and over 100 videos for my various courses. So I’ve got some experience.
And before you say that “this isn’t for me” — we’ve all got something unique to share so please don’t think you can’t do it, no matter how junior you may be! I started writing tutorials as a way to better understand what I was doing day to day in my job.
Choosing the Topic
I don’t have much of a system for choosing a topic but it typically falls into one of three categories
- “Docendo discimus” (by teaching, we learn) — if I’m learning something new and I want to understand it fully I try to teach it. This makes me go through code line-by-line and explain it.
- I use something, and it helps me — maybe it’s push notifications, maybe it’s Meteor + React Native. If I use something and I think others could also use it, I share that knowledge.
- I’m asked about something. I receive 50+ tech related emails a week. If a question comes up a lot, I write a tutorial about it.
A tech tutorial is going to, most likely, involve some code. Don’t try to write the code while you’re also writing/recording the tutorial. For me, it just doesn’t work out and ends up in a low-quality pile of.
Write the code first.
Planning the Tutorial
Outlines are everything! My outlines are bare bones and just a simple headline that represents the goal of that section.
If I’m recording a video, I’ll put together a “shot list” which is just a series of shots I want to record. A section will have anywhere from 5 to 15 shots. This helps me record the video in short segments, allowing me to re-record segments when I make mistakes, and edit it all together later on.
I’ll typically form my outline in the following way:
- Take my code example and comment out everything directly related to the concept I’m trying to teach
- Create a repo/branch with the starting point of the code for the tutorial
- Uncomment pieces of code in related segments, making my sections. My goal is that every section can be run on its own.
- Make a repo/branch with the finished code
A note on the starting point: Think about your target audience. What do they already know? Don’t worry about basic setup if you’re targeting an intermediate/advanced audience. Just give them code that works and if they want to know all the details they can read the code over.