How to write a great technical blog post
I’ve been working in the open source community for almost 5 years now, building and promoting developer tools including Meteor and Apollo. In that time, I’ve found that blogging is one of the most effective ways to spread ideas.
A blog post doesn’t take as long to prepare as a video or conference talk, but is easy to consume and can reach a ton of people. I’ve also personally gotten a ton of benefit out of writing: it has helped me organize my thoughts, teach people about technologies I love, and get my name out there.
Since publishing my first blog post ever in 2014, I’ve ended up writing 68 posts so far here on Medium, some with over 50k views and 1000 fans, and edited many posts for my friends and coworkers. Over that time, I’ve picked up a few strategies for taking a post from concept to publication.
https://hackmd.io/@alexaa34/BJ_I3arpWx
https://medium.com/@alexharris59600/how-to-write-a-great-technical-blog-post-c2eb46c3c1f2
In this article, we’ll go over five main steps of my process for writing a post:
- Find a good topic and commit to it
- Make your goals and audience specific
- Have a beginning, middle, and end
- Get feedback and iterate
- Add finishing touches: packaging, publication, and promotion
Let’s get right into the first step!
1. Find a good topic and commit to it
You can’t get started on a post unless you have something to write about! When I talk to people who want to start blogging, this is often their main blocker.
The simplest strategy is to write about what you know. If you spent many hours learning about something, and you think you could explain it in just a few minutes, you’re going to provide a lot of value to your readers.
Another idea is to write about an area you think is lacking content. For example, right now there aren’t a lot of posts about how to apply to technical conferences, so content about that could fill a gap in the community.
Here are some specific types of posts you could go for. Examples are from the GraphQL-related posts on the Apollo blog:
- A step-by-step guide to achieving a specific goal: “Building a great scrollable list in React Native with FlatList” or “Simplify your React components with Apollo and Recompose”. These are great for readers that are looking to get in, do a thing, and get out fast.
- An in-depth survey on a particular topic: “Using nullability in GraphQL” or “Anatomy of a GraphQL query”. These are useful if you’re targeting a more interested audience that wants to grab a cup of coffee and learn a ton.
- A numbered list of useful facts around a common topic: “4 simple ways to call a GraphQL API” or “5 benefits of static GraphQL queries”. These are a fun, lightweight read since you don’t have to commit to reading the whole thing, and it’s easy to consume the bite-sized pieces.
Now, let me dispel a few common concerns:
- There is already content out there about this topic. Don’t let that stop you. Even if your idea has been written about before, you can put your own perspective on it, or make it specific to your situation.
- My idea isn’t interesting enough. A lot of my friends and coworkers don’t end up writing because they are worried their conclusions might be boring or obvious. That’s a normal feeling! If you’re an expert on something, then of course the conclusions you’re writing about will be boring… to you. The key is that people in your audience don’t know that stuff yet.
Having said all that, at the end of the day, it’s hard to predict what topics will make a great post and which ones won’t, and often it’s the execution that makes or breaks a post, not a brilliant topic. My main suggestion would be to try writing about several different things and see what works.
2. Make your goals and audience specific
Now that you know your topic, you need an audience and goal for your post. Who will be reading it, and what are they going to get out of it?
Your goal needs to be specific so that you can focus all of your energy on one main idea. For this post, the goal couldn’t have just been “write about blogging”. I needed a more specific goal in mind:
- Audience: People who want to start blogging, especially about technical topics, but haven’t done it yet.
- Goal: Give people a concrete set of steps and pointers so they can get started.
Once you have these, keep your post focused by removing anything that doesn’t contribute, and avoid adding extra detail just because it’s related. I’ve found that relatively concise posts with a 5 - 10 minute read time are the most successful.
Comments
Post a Comment