The Ultimate Guide for Developers to Write Blog Posts for Success in 2023
How I Write my Blog Posts
Writing blog posts can be pretty tricky- it's tough to come up with a topic to write about and then actually create good enough content.
I've been blogging for more than 5 years now, and I wanted to share my tips for writing posts, from topic selection to hitting that publish button.
If you're interested in my advice for starting a blog, I also have a post on that here.
1. How to Find a Topic
Sometimes, finding a topic for a blog post can be one of the most challenging aspects of writing it.
Here are a few tips for finding a good enough topic
- Don't worry too much about having a unique topic - definitely don't plagiarize somebody else's post or copy their ideas, but people still read my React blog post even though this topic has been done a bunch of times by many excellent developers and writers, but I had a different outlook on the subject, so I decided to write it anyways.
- Write a blog post on technical learning that would have helped you in the past. When you're searching for something and not finding it, or you're finding tutorials that aren't helping very much, take note of it so that you can write your take later.
- One thing I do is to reach out to my network and see what posts people want. I'll occasionally post a Tweet asking what types of posts people want.
- People also reach out to me on a pretty frequent basis asking for my advice in my Twitter DMs or opinions on things.
This DM is the inspiration for this blog post.
- I make a note of those that I think will be of particular interest or relevance to a larger audience.
You can also look at sites like Quora or Reddit or HackerNews or Substack and see what other people are posting there. If a question is exciting to you, you could write a long-form response to it.
For instance, I shared my take on engineering salaries in Europe and especially in Sweden.
Every individual software engineer or developer has a unique story -- so share it!
- Share your backstory and how you started writing code.
The story of your career growth, or even just a problem that you solved last month, year and so on.
It can be tough to be personal and to share your story online, but it can help people.
- When I started blogging, I followed the theme of writing a post each week about my tech experiences and opinions.
How I Motivate Myself to Write
Writing down topics when I think of them is essential- I will totally forget them if I don't. At the beginning of the month, I make a content calendar with what posts I actually want to write that month. I don't always stick to the content calendar, but it's good to know what I want to write in advance and to know that there's a balance of different topics and genres.
When people ask me for writing advice, I always give them more of the same:
"Start with a simple schedule and stick to it." "Write whenever inspiration strikes."
The next time someone claims to have been writing for X years, remember that I personally tried all the schedules—morning, evening, afternoon, and late nights—but it's hard, very, very hard to write every single day. Unless they're trying to sell you something, they most likely mean that they write whenever inspiration strikes most of the time!
2. First Draft
Once I have a topic, I usually just start writing my raw thoughts about it.
When you approach writing like painting, where each draft is a preliminary sketch leading to the finished product at the end, writing becomes more manageable.
I used to think that I needed a weekend retreat to escape society in order to write a blog post but after writing for many years I came to the conclusion that being in conversation with other people will make me a better writer.
My process is totally disorganized here - I'll jump from place to place in the post, outlining some parts and then writing paragraphs in others. I let myself be really creative, and I jot down whatever I'm thinking and have firsthand experience. As I write this, the current paragraph is entirely re-written, but the beginning of the post is just a set of phrases like "Share my story of writing blog posts" Other bloggers might be more methodical, but this works well for me as I embrace randomness more in my life.
Then, I go through each paragraph and say that I'm happy with the post.
There are a couple of things I focus on before hitting the publish button
That it's accurate as best of my knowledge- of course with technical content, the facts need to be correct, and the code needs to work. I usually copy and paste code from complete apps I've written, so that I for sure know that it will work.
Identifying your target audience and writing to them in order to make your blog posts more comprehensible and relevant to them is another crucial step.
Is your target reader a "senior developer blogger" who wants to learn " How to start a blog? Or, is your reader a complete code newbie who is looking for some motivation and guidance from your tech career "How to Grow as a Software Engineer"
You want your post, generally, to appeal to a pretty broad audience, so I usually gear my technical posts towards people who know the tech fundamentals but don't know the specific developer tools I'm talking about for example "Medusa, Amplication, CodiumAI and Tabnine etc..." You usually want to target your posts to a relatively similar audience so that people are interested in your work from post to post.
I add bullet points, images, popular tweets and subheaders to my posts to add more visual interest. My posts are generally between 1,500 and 3,000 words, but they don't feel like that much because there aren't huge blocks of text.
I write my content using my Hashnode editor. Their markdown support is fantastic, and I use "Grammerly" as a spellchecker to catch issues as I go.
3. Editing, Editing and Editing
Once I feel I don't have much to add to a blog post, I run the post through Grammarly.
I like how it allows me to choose the tone I'm trying to use in the post and the audience, and how I can "teach" it to be more accurate for my writing.
It also picks up on overused words, which can be really helpful as well. I copy and paste my text into the desktop editor, and then go through each error making sure that the content is good as I go.
4. Visuals and Blog Banner
The next step in my process is creating a blog banner for social media and adding visual interest to the blog posts.
My blog banner usually has the TL;DR versions of my posts or just the headline.
I draw these up in Canva.
5. Publishing the Blog Post
The final step is to actually hit the publish button and send the blog post into the world!
I highly recommend crossposting until your own website gets hits above 100K+ viewers/ month or unless building and maintaining the blog infrastructure is your primary goal. Right now I post to my own site, dev. to, Hashnode and Medium. I also tried LinkedIn once, but it was tough to format, and only around 100 people read it, so it wasn't worth the effort in my experience.
Medium can be tricky too, but Markdown to Medium makes it a little easier -- it converts your markdown code to Gists, so you don't have to worry about the weird Medium code formatting.
Honestly, for me, pushing publish is often the most challenging part. I have a graveyard of unpublished posts on my laptop that I may or may not post at some point.
Honestly - I regularly wait until days after writing my posts to publish them because of nerves. I want to list some of my everyday worries and how I push myself to still eventually post.
Nobody's going to read my post: So what. I've already put all the effort into writing it, worst-case scenario I benefit from writing the post but nobody else does.
I'm not experienced enough to write about this- You're qualified if your blog post includes, at the very least, your interpretation of the subject matter and the majority of accurate information. There are many great posts from newcomers' perspectives online, and they are very significant.
What if my code is wrong? Or I got a detail wrong?- It happens! I've had bugs in my articles before! So have lots of people. Sure, somebody might be rude about it, but in my experience, most people just want to help. Plus, then you learn something new from writing the post, and you can edit quickly enough!
What if people are mean on the internet?- This is my new problem -- it has been really cool to see my blog grow a little bit, but with that rise comes a downside. There are now a lot more rude comments towards me on social media and inappropriate advances. I'm definitely not perfect at dealing with this, but I try to remember that there are so many more positive than negative comments, and hopefully my posts are helping some people out there. I try to ignore them, and I've stopped looking at threads when my posts show up on sites like Reddit or HackerNews which can have more toxicity along with anonymity. Yeah, people can be rude, but way more people are friendly and benefit from what you're doing.
So, go out there and publish some blog posts! I can't wait to see them.
My Writing Tips for a Developer
Use simple and clear language.
Use real-world examples.
Make writing more visually appealing.
Use active voice.
Avoid using pronouns for e.g: "it" or "they,"; instead use specific nouns and verbs.
Use bullet points or numbered lists.
Don't worry about grammar and spelling too much. As long as your writing is easy to understand.
Don't be afraid to be controversial or to challenge mainstream beliefs.
Never be scared to experiment with different writing styles and formats.
Don't plan too much.
Don't be afraid to use humour or inject some personality into your writing.
Your writing will be more engaging if you use storytelling techniques.
Include visuals, such as diagrams or charts or screenshots.
Write a series of mini-stories.
Edit and proofread.
What To Write
Here are some unique and out-of-the-box ideas for using blogging to expand your knowledge in a specific tech domain.
Choose a current or controversial topic in your tech domain and write a piece that takes a stance on one side of the debate.
Share your personal experiences related to your tech domain. For example, a software engineer who specializes in cloud computing could write about the challenges they faced while migrating a legacy system to the cloud and the lessons they learned from the process.
Write a series of blog posts that dive deep into a specific technology or concept. For example, If you’re starting your web development journey write a post every month about what you learned, what mistakes you made, and how you overcome them.
Supplement your blog posts with multimedia content, such as videos, podcasts, or infographics. Instead of just words, use images. In blogs, a screenshot or diagram is often worth a thousand words. Incorporate these into your writing.
Experiment with different formats Don't be afraid to experiment with other writing formats, such as how-to guides, opinion pieces, or case studies.
I received many direct messages on Twitter asking for advice on how to begin and what to write, and most of the time my advice is simple and straightforward.
Write about your experiences and learning; everyone in tech is unique.
This became more solid proof once I read David's ultimate writing guide, which says to write from your daily conversations.
If you want to start a blog, don't think of yourself as a blogger, writer, or expert.
You must imagine yourself as a cockroach trying to survive and write at least one blog post per month.
Your ultimate goal isn't building a writing daily habit. It's falling so in love with interesting ideas, side projects, tech tools, and frameworks that you can’t help but tell the world about them.
Don't feel bad about stealing someone else's blog idea or headline. They also stole it from someone else.
Ideas are everywhere.
Most ideas are repeated.
Execution is everything.
Your uniqueness is everything.
Conclusion
Blogging is a powerful magnet that a developer can use to find future opportunities in software engineering.
“Writing is a form of self-expression that can be therapeutic, even if you never intend to publish your work.”
When I re-started blogging in 2020, I thought I was too late. It seemed like blogs had already peaked. It’s never too late. Someone is starting the next big blog this month.
If you're thinking about starting; do it this week.
And if you want to become a standout developer in 2023; start a blog.
A blog is an incredible tool for expanding our knowledge in a specific tech domain.
Blogging allows you to conduct extensive research on a particular technology, developer tool, or technical concept. Writing about what you learn will enable you to share it with others in a clear and concise manner.
Stay in Touch
That was it for this blog.
I hope you learned something new today.
If you did, please like/share so that it reaches others as well.
Connect with me on Twitter
If you like this.
I encourage you all to sign up for my newsletter. It’s free.
Check out old editions here: The 2-1-1 Developer Growth Newsletter by Ankur
Want to read more interesting blog posts
✅ Here are some of my most popular posts that you might be interested in.