Technical Writing for Developers – Why You Should Have a Blog and How to Start One
Having a blog is a useful asset for developers. It can be a lead magnet, as well as a place where you can sell digital products you create.
It can also simply be the place where you build a loyal audience within your niche, share your knowledge and ideas, and help other devs.
The benefits of having a personal blog as a developer
In this article, I'll share why I blog, as well as why I think it's a great idea for you, too.
Why I Write Technical Articles
Here's something I've learned over the past five years of blogging: don't start by telling the audience why you wrote a blog post. Instead, tell them why they should read it, and then do your best to prove yourself right.
I recently revamped my blog and began writing consistently, to the point where I now write a new tutorial once a week. And I’ve already seen a lot of good results.
I've also started paying more attention to my analytics. This helps me give people what they want, answer their questions, and keep them coming back for more. I'll talk a bit more about analytics later.
I found my mission in teaching developers about topics like how to start your own blog, how tools such as React, Angular, JavaScript, and TypeScript work, and so on. I release a new article every week on my blog theankurtyagi.com, explaining all I know about a specific topic.
If you are into React or developing on the Web, you won't want to miss it. And I just started creating a new React writing boot camp where I share my 14 years of tech experience and how I've built multiple applications.
Now I'll share my thoughts on writing technical tutorials, and why I think you should have your own blog as a developer.
Table of Contents:
- Understand Your Tech Abilities and Soft Skills
- Doubts You May Have Before Starting a Developer Blog
- How to Start Writing Your Own Blog
- Why Writing is Helpful for Developers
- How Writing Can Help Advance Your Software Engineering Career
- How to Write an Effective Technical Blog
Understand Your Tech Abilities and Soft Skills
If you’re working in tech, you can take advantage of the skills you already have and share your knowledge with the community. Do any of the following statements apply to you?
- You excelled at much of your past work, and you know that companies (or people) will pay for that work.
- People ask you for advice based on your past work.
- Somebody said, “You should write something or record a video to document your experiences because you offered me so much value when you mentored me or helped me in a peer programming session or saved me from that production bug while reviewing my PR pull request”
The value you bring to your audience comes from a combination of your perspective and your interpersonal skills.
Think back to what other people have asked you to do, or what you've volunteered to do in your career—because you're good at those activities.
But don’t stop with technical skills. While core technical skills are useful, they are not all you'll need for long-term success as you move up in your tech career. That’s because the more responsibility you take for your client’s growth and results, the more the more helpful you can be to other people’s work. And this often starts with communication skills – so don't neglect them.
Doubts You May Have Before Starting a Developer Blog
I am not an expert writer
Every developer has a unique angle and a perspective on something worth sharing.
You may believe you don't know as much as senior developer X, but junior developer Y may have much less experience and would benefit from reading about your career journey and learnings.
Also, the best time to teach something is right after you've learned it because you remember how it feels when you didn't know it – so you can more effectively teach a beginner about it.
In this case, you can write for a student who has recently learned something new. Every day, I learn something new.
Approximately 80% of what I end up writing these days is something I discovered while researching a topic on the internet.
I’m just a good enough writer
I'm not a professional writer, but that doesn't bother me. Remember that you will never become a better writer unless you write every day for years. If you practice enough, and actively try to improve your writing, you'll eventually improve your writing skills.
To create something good, just start writing. To create something exceptional, write, revise, and revise again. The key to producing excellent writing lies in dedicating significant time and effort to the rewriting process.
All Developers Fear Criticism
Some things are fragile and break with a sudden shock, like a water glass.
Some things are not fragile and remain intact even when faced with a sudden impact or shock, like a teddy bear.
And some things, like our immune system, are anti-fragile, meaning they improve when subjected to a shock. Your immune system does not develop properly if you are not exposed to a series of smaller shocks as a child.
Similarly, to become a better developer in tech as a result of criticism, you must develop an anti-fragile attitude towards criticism. That is, with every bit of critique you receive, you can learn to use it to become better.
If you do not learn this, you will remain at your current level. You can do this at the meta-level as well: become anti-fragile in dealing with criticism in general, and become a better human being as a result of it.
Empowering self-hacking starts with cultivating a heightened awareness of your own emotional state. Recognizing anger, for instance, weakens its hold on you. When angry, you may engage in actions you otherwise wouldn't. (Anger can sometimes serve as a signal that our boundaries have been crossed.)
Certain online platforms, like Reddit and Hacker News, are known for their unfiltered feedback. Embrace this as an opportunity for growth. Remember, you only truly evolve when faced with challenges.
You also have the choice not to engage if you prefer. Concerned about potential negative comments on a controversial post? You can always disable comments altogether.
Also, remember that not everyone gives valuable criticism in tech.
- Some people just don’t connect with your work.
- Some people won’t like what you’re writing.
- Some people aren't yet ready to critique your work.
- Some people are just mean.
- Some people like your style of writing. Others won't.
And sometimes when people stare at screens all day, like those of us in tech, they can unwittingly be more harsh and direct. It's not a great way to communicate, but it might not be malicious.
If you can get past the sting of the critiques and use them to improve your writing, you'll have a lot to offer the developer community through your tutorials.
How to Start Writing Your Own Blog
Rich people might seem to have it all – money, power, influence, and whatever else they crave. But there’s one thing they want that money can’t buy: good ideas.
Writing is how you share your ideas, and if you do it well, you can often gain access to a coffee or dinner with almost any tech CEO in software engineering.
I've been writing for around 5 years, so here's my take:
- Just start writing: If you've been wanting to start your own blog, stop thinking about it, and just do it. Open a blog on WordPress and start writing. That's my first advice to anyone. Don't waste time on the technicalities, just write. You can move your blog to another platform later.
- Be consistent: This is hard. I fail to follow this rule most of the time. But a successful blog is a blog that's been going on for ages, and where the creator posts regularly. I've posted 100+ posts since 2020 on my blog and 100+ for various startup developer tools – and that's why it has been working well for me.
- Don't try to be perfect: You are not writing a book. A blog is to share knowledge quickly or to share what's on your mind. No hesitation, once you have something, publish it. People might call you out for saying something wrong, fine – that's free publicity and you'll have learned something new.
- Mix short posts with long posts: It's difficult to keep writing high-quality content and long blog posts all the time. So write small ones from time to time to fill in between more in-depth guides. This is what makes people keep going to your blog. It's like a Twitter feed, it needs to have something every time people check it.
- Write on current/popular subjects: What did you learn recently that could be helpful to other people? What did you have trouble learning because there was no good resource on the subject? You could be that resource. What is Google Trends saying? Are there any trendy topics in your field? What are people talking about recently?
I generally start with an idea instead of a title. Then I write down what I know about it. Next, I put those thoughts in an order that I can use to tell a story. Finally, I research to confirm that what I think I know is indeed true and correct. That is where it becomes interesting.
Sometimes I'm completely wrong, and the story becomes about that. The truth is often more interesting than the assumptions.
Sometimes I discover things about what I knew that are more interesting than the original idea. Sometimes what I thought I knew turns out to be true and I just back it up with facts and the idea alone was interesting enough to begin with.
And lastly, sometimes the idea is actually not worth sharing, and I shelve it until the time feels right or I find a new approach to the subject.
Why Writing is Helpful for Developers
You learn much faster
Writing is a great skill for a developer for many reasons, including:
- You learn by doing.
- You learn faster.
- You build a lot of connections which can generate future leads and opportunities.
- You can work on different tech stacks
- It’s a great form of self-expression.
- It encourages creativity.
- It helps to connect with your imagination.
I enjoy writing because it forces me to read more. And as a result, I learn a lot and stay sharp while working and collaborating with others.
One of the best ways for me to learn is by doing. I pick a topic about which I believe I know something and drill down through things I didn't know or hadn't even considered.
My best tip for anyone willing to start a blog: Read, read, read, write, write, write, read, read, write, write, write, write, read, read, read, read, write, write, write, edit, edit, edit, edit, edit, edit, edit, read, read, read, write again.
They say you never fully understand a topic until you can explain it.
And blogging is often low-hanging fruit.
Every developer should make a habit of blogging about their learnings in software engineering. Writing helps you discover if you understand a topic as well as you think you do.
Teaching and writing are great ways to learn, and they're good habits to start because you already have firsthand experience. Just commit to writing 12 blog posts a year, see what happens, and plan your next steps based on that.
As David Perell says, “Read to collect the dots, write to connect them.”
How writing is a low hanging fruit for experienced developers
Writing involves critical thinking
So many things never fully connected for me until I wrote about them. And so many other things I thought I understood well in my head turned out to be half-baked when I start writing about them.
My blog "A Software Developer's Guide to Writing" is a complete guide on how to start a blog.
Writing is a form of self-expression that can be therapeutic, even if you never intend to publish your work.
How Writing Can Help Advance Your Software Engineering Career
I’ve elevated my career in software engineering thanks to my writing.
It was 2017, and I'd begun writing about small things I was learning while building a few web applications for fun as a side project. I'd also gotten the opportunity to contribute to internal developer docs in my previous job as a tech lead.
That old blog has since died — I stopped writing on it a long time ago, and the content, which is now completely obsolete, has vanished. But I doubt I could have imagined starting my current small writing business without it.
Through my current blog, I have a lot of connections and opportunities for freelance gigs and part-time roles. It's also helped me in my consulting career.
Writing tutorials can help you learn a new tech stack
Writing helps in learning a new technology stack this is something I've done a few times with my writing. If I am interested in one type of technology stack and then become interested in another, I will write several posts about it.
For example, last summer I wrote about multiple developer tools in this article: How to Create a Powerful Next.js E-commerce Store.
How to build an e-commerce store with Medusa a blog by Ankur Tyagi
Other benefits of technical writing
Writing about technical topics is a great way for you to show what you know and what you're able to do. It can also help build your authority in tech by establishing your reputation and building your personal brand.
It can also improve your opportunities for networking and career advancement, as more people read your tutorials. And the more you write, the better your communication and collaboration skills will become.
Another benefit I discovered from sharing my writing publicly is that it caught the attention of many company founders, who then offered me writing jobs. They found me through my blog posts online, even though I hadn’t applied to work with them. Take a look at the below inbound cold email I received.
An inbound cold email from a tech founder
So having a blog is an effective way to demonstrate that you are passionate, know your stuff, and can communicate effectively in writing. The simplest way to begin is to write posts about topics that have interested you or problems you've solved.
How to Write an Effective Technical Blog
Keep your topics consistent
I only follow blogs that have a clear focus or theme.
In my case, I talk about Web Development, React, Developer Tools, and so on, and I subscribe and consistently read other developers' blogs that are focused on a particular area of tech.
Don't just rant about anything that comes to mind. Use a professional tone and cultivate your own unique writing style.
Setup a routine
If you aim to write a blog post weekly, make sure you follow through. Writing two posts a week is even more ideal. I write every day because I know that if I skip one day, I will skip another, and so on until I stop posting altogether.
Write blog posts in advance
Don't post the same day you write. Instead, schedule your content for a week later and review it the day before.
This is a big deal. By waiting a week before you post and looking at it again, the quality of your content will improve. A lot!
Write it a week or more in advance. Even if you take a few days off or are sick, you are less likely to miss a blog post day. It's also a good idea to make your posts public ahead of time. WordPress makes it very simple, and it is also possible to schedule a specific time and day to write on a consistent basis.
If you write down 5 ideas per day, that will amount to 1,825 ideas in a year (assuming it's not a leap year). Among these ideas, you're likely to find a few outstanding topics for your blog posts. Try to maintain a roster of potential blog post ideas. When inspiration strikes, you'll find the perfect topic for that day in your backlog.
In your articles, take things a step further and make your content 10x better by telling your audience the "why" of things. This is much harder to do.
If your writing is poor quality or inconsistent, you'll end up with the wrong audience. Write with intention and purpose. Write to become better. Instead of writing more, start editing more.
Build your writing, not your website
You can use big blogging platforms to increase your visibility. Think long-term. In the next ten years, every blog post you write could be worth thousands of views.
When a developer comes to me and says, "Hi Ankur, I'm a developer and want to start a blog. What should I do?", here are the two options I discuss with them:
Option 1: start publishing your articles on an established blogging platform
Option one is starting with a platform like Medium, Hashnode, DevTo, HackerNoon, or Dzone.
You can start writing articles and publishing them on one of thoes platforms, and work on building your credibility as a writer. Set a goal for yourself – for example, try to get to 100K+ post views/year.
Then you can start learning about and implementing SEO strategies, especially if you start writing on your own blog.
One potential challenge with this approach is that you may not technically own the content you publish on other's sites (check their rules). The company could even go out of business or shut down their service, and you may lose all your articles.
So here's my advice on how to handle this: if you stick with writing for a year, then it's time to start moving slowly onto your own website and posting your articles there.
Another challenge is that you don't necessarily want to spend all your time building a personal blog and just have one post titled "How I made this beautiful blog with X framework" to show for it. Instead, you could've had dozens of blog posts on rented spaces (like Medium, Hashnode, DevTo). Build your brand before building a house.
You can treat Medium, Hashnode, Twitter, and other platforms as traffic-acquisition channels rather than a home for your long-form content. Because no moderator can delete your blog posts from your own website.
Option 2: create your own blog site from scratch
Option two involves starting with your own blog website from the beginning. You can either build your own or use something like Ghost/WordPress/ any CMS of your choice. Then you can syndicate your articles to existing blogging platforms until enough people learn about your own blog. After that, you can stop syndicating content if you want.
But I'd advise you to write 2-3 blog posts every month for a year before you even think about building your own fancy, tech-savvy website and publishing there.
Treat every blog post as a mini side project and see how it feels. If, after a year, you find you're still enjoying writing, then continue doing it. If not, blogging may not be for you.
One challenge with this second approach (building your own blog and starting there) is that many developers with full-time jobs find it hard to spare time and energy, even though they want to write. So I think it's better to start small – and maybe share your posts on an existing platform at first – to avoid this common pitfall.
Again, it's better to focus on building your personal brand and your reputation as a writer first, before investing time in creating a dedicated website.
While it can be harder to reach a large audience on your own personal blog, you have to start somewhere.
Another challenge with this approach is the tendency to over-engineer a simple static blog website, and spending too much time perfecting that site instead of writing.
When I was starting a blog, I actually got caught up in it all – but one of my friends guided me through the process and showed me WordPress, which was a lifesaver. In the case of your blog, people are often interested more in your storytelling than your actual blog website.
In my opinion, in the end, being the owner of your own blog space >>> always using rental space. Just make sure you prioritize your tasks and focus along the way.
If you're curious about my blog post writing style, I invite you to check out this post: How I Write My Blog Posts.
Building an audience
This is related to the previous point. If you're just getting started, you might get 1 or 10 or 100 visitors per week if you share your posts (unless you go viral on a sharing platform like Reddit, Hacker News, or Twitter).
Search engines like Google can often provide consistent traffic (SEO), but this is a very long game to play. It's easy to get discouraged if you write but no one reads your blog posts.
The initial years of writing can be tough and boring. Despite very good writing, your blog will likely grow slowly. Big views may seem to be a distant dream. The effects of writing kick off only after a certain amount of time when your blog may start to build up momentum. Patience and persistence are key.
So, actively look for an audience. Write on your blog and republish your blog posts to Medium, Hashnode, DevTo, and Hackernoon (remember to add a canonical tag back to your site so that you don't annoy Google with duplicate content). Having an audience will boost your enthusiasm and determination.
Promote your content
When you hit the “publish,” button you’ve only done 50% of the work.
- You had an idea
- You’ve done writing along with researching the topic
- You’ve looked for typos and fixed grammar errors
- You made sure to have no plagiarism
Now it's time to promote your writing.
Post on Twitter/LinkedIn if you have a following, otherwise try to share on HN, Reddit, and so on.
Here's what Arnold Schwarzenegger said about why marketing your product is equally as important as making the product:
Whenever I finished filming a movie, I felt my job was only half done. Every film had to be nurtured in the marketplace. You can have the greatest movie in the world, but if you don’t get it out there, if people don’t know about it, you have nothing. It’s the same with poetry, with painting, with writing, with inventions.
It always blew my mind that some of the greatest artists, from Michelangelo to van Gogh, never sold much because they didn’t know how. They had to rely on some schmuck (some agent or manager or gallery owner) to do it for them. Picasso would go into a restaurant and do a drawing or paint a plate for a meal. Now you go to these restaurants in Madrid, and the Picassos are hanging on the walls, worth millions of dollars.
That wasn’t going to happen to my movies.
Same with bodybuilding, same with politics—no matter what I did in life, I was aware that you had to sell it.
As Ted Turner said, “Early to bed, early to rise, work like hell, and advertise.”
In a similar way, whenever I finished writing a blog, I felt my job was half done.
I wanted every article to be distributed across multiple platforms. You can write the best blog in the world, but if you don't get it out there and people aren't aware of it, you're out of luck. It's the same with a book, a course, a community, a product, a startup, and your writing.
Marketing boils down to caring: Don’t confuse the word “marketing” with advertising, announcing, spamming, or giving away branded crap. Really, “marketing” just means being considerate. Marketing means making it easy for people to notice you, relate to you, remember you, and tell their friends about you. –Derek Sivers | @sivers
Your blog is your media platform
Don’t just think of it as a blog. See it as a startup: the goal of a blog is to disseminate information that drives sales and future opportunities.
Sales may make you uncomfortable, but think of it as selling ideas or your own expertise.
Set up an email collecting form or a newsletter
A big Social media following is a business card, but a big email list gives you longevity.
In reality, you don't have full ownership of your Twitter, LinkedIn, or Medium following. Your true ownership lies in your email list. I recommend SubStack; it's user-friendly, free, and exceptional.
A blog should be professional, not personal
Your audience isn't primarily interested in you. They visit your blog in anticipation of problem-solving (if they arrived from a Google search) or seeking valuable information to aid them in specific tasks. Write with their needs at the forefront to be truly helpful.
Don't use ads at the beginning
Don’t put ads on your blog. I don't think it's worth it unless you have 10,000+ visitors a day.
Watch your analytics and use them to guide you
Peter Drucker said, "You can't manage what you can't measure."
If building an audience was a piece of cake, everyone would do it. Here are my tips on how to use your analytics to improve your blog and the content you create:
Find Out What People Like to Read: Look at the pages that get the most visits. What are they about? This is what your audience loves the most. Write more about those topics.
Understand How People Find You on Internet: Examine the search terms that lead people to your site. This tells you what they're interested in and what questions they have. Answer those questions in your writing.
Know What Keeps Them Reading: See which pages keep people on your site the longest. This is the content that really grabs them. Use that style or topic as a model for your other posts.
Learn From the Bounces: On the flip side, see which pages have the highest bounce rate. These are the ones that might need a bit of tweaking.
Ask yourself, "Why are people leaving?" and then make changes accordingly.
My blog's analytics
Read books, Blog posts, Twitter, Reddit, and HackerNews
Keep yourself up to date on the topics you want to write about. I write about software engineering, and Twitter is a never-ending source of topic ideas. The same is true for books and blogs. freeCodeCamp is also fantastic for this.
Every day, I spend 1-2 hours scrolling Twitter for inspiration. It's not a waste of time. It's the catalyst my brain requires to see things I would never have seen in offline life. Luck is not as random as you think. Before a lottery ticket can win a jackpot, someone has to buy it.
My daily screen time
Wake up early if possible
Set your alarm clock, get up, and begin writing. I used to get up at 7 a.m. because I haven't had to commute since 2020 (I only work remotely), so I could take it easy. I now get up at 5 a.m. and have a new post scheduled for the following week by 7 a.m.
When you finish a task, such as writing a new blog post, by 7 a.m., you feel energised to tackle the rest of the day. If you can, get up even earlier (I can't, or I'll spend the rest of the day in a zombie state).
Start using DND (Don't Disturb) Mode
It's all too easy to become distracted while researching for a blog post on the internet. I've turned off all notifications on my phone. Writing, like programming, is best done without interruptions so that the task at hand can occupy your entire consciousness.
My advice is to set aside dedicated time on your calendar, disable notifications, set your phone aside, and commit to your keyboard or typewriter, pen and paper, or whatever.
These are the only notifications which are "ON" on my mobile:
###
Thanks for Reading!
That's it for this tutorial. I hope you learned something new today.
If you did, please share so that it reaches others as well.
You can connect with me on Twitter.
Want to read more interesting blog posts?
You can read more tutorials like this one on my personal blog here.
Subscribe to my newsletter
Read articles from Ankur Tyagi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Ankur Tyagi
Ankur Tyagi
Developer, Mentor, Writer. Blog: https://www.devtoolsacademy.com/