A blog is useful for many reasons. It can become a source of leads, it can be the place where, in the future, you might sell your products if you want to become an indie developer, or it can simply be the place where you have your audience and express your ideas.
I’ve been blogging for more than 11 years now, more or less consistently — although sometimes I stopped for too long. I recently revamped the blog and started to write consistently — very consistently — to the point I now write every single day of the week. I’ve already seen a lot of good results.
Here are my thoughts on blogging, why I think every developer should blog, and blog consistently.
A few things I want you to forget
“I am not an expert”
Anyone has a unique angle, a perspective on something that’s worth sharing. You might think you don’t know as much as person X, but person Y might have much less experience than you and would benefit from reading your thoughts and learnings.
Also, the best moment to teach something is right after you’ve learned it, because you remember how not knowing about it feels.
In this case, you can blog with the tone of a student that’s just learned something. I learn new things every day. Around 50% of what I end up writing I just learned while researching a topic.
“I’m not a good writer”
I’m not either, but I don’t care.
Just remember: you will never become a good writer unless you practice writing every day for years. You will become a good writer, eventually.
“I fear criticism”
It’s true that some places on the internet are not afraid to give harsh opinions on things, notoriously Reddit and Hacker News — but this is a good thing.
Remember, you’re not growing if you’re not challenged. Also, you’re not required to post there if you don’t want to. Do you worry about someone making a mean comment on a post that’s controversial? Remove comments altogether.
Why writing is great for a developer
You learn much faster
One of ways I learn best is by doing. I literally decide on a topic I think I know something about, and I drill down in a spiral loop through things I didn’t know, or I didn’t even think about.
They say you never fully understand a topic until you are able to explain it. Blogging is a low barrier to explaining things.
Kick start your career
I’ve kick started my career in software thanks to a blog.
It was 2007, and I’d started sharing little things I was learning while building a few web applications as part of my university program.
Through this blog, I got a lot of connections and leads for an upcoming freelance and contractor career.
That old blog has since died off — I stopped writing on it a long time ago and the content, now completely outdated, is long gone. But without it, I think I would have never imagined opening my own business right out of school.
Switch gears or technology stack
I did this a few times with my blog writing. If I am into one kind of technology stack, and I find myself interested in something else, I write several posts about it.
For example, last summer I got deep into Go programming for two months. And I literally had recruiters sending me job offers I’d never applied to, just because they found my posts shared online.
Some key aspects of a successful technical blog
Be consistent with the topic
I never subscribe to feeds of blogs that are not focused on something. In my case I talk Frontend Development, and I subscribe to other frontend development blogs.
And even though I talked a lot about Go last summer, it was still interesting to frontend developers as well (learn Go if you have a chance, it’s refreshing). Don’t just rant about everything that comes to mind. Keep it professional.
Show up consistently
If you set out to write a blog post every week, do it. Twice a week, much better. I write every day, because I know that if I allow some day to slip by, I will allow myself to skip another day, and so on until I won’t post any more.
Write posts in advance
Don’t write the blog post the day you want to publish it. Write it one week in advance, or more. You are less likely to miss a blog post day even if you take a few days off, or you’re sick.
It’s also a good idea to publish them in advance. WordPress makes it very easy, and it’s doable also with static blogs (here’s how I do it with Netlify and Hugo). Schedule a specific time and day to write, consistently.
Have a list of post ideas
James Altucher says to write down 10 ideas every day. That’s 3,650 ideas a year. At least a few of those will be good ideas.
The same goes for blog posts titles and topics. Have a list of blog post ideas. When you feel inspired to write, you will have an argument perfect for that day.
Read books. Read blog posts. Read Twitter. Listen to podcasts
Keep you up to date with the topics that you want to write about. I write about software development, and Twitter is a never-ending source of great ideas for topics. The same goes for books and blogs. Medium is amazing for this.
Podcasts are different because you listen to them, and I always have one on while driving or when I take half a day off to go walk the dogs out in nature.
Wake up early
Set the alarm clock, actually wake up, and start writing. I used to wake up at 8AM — since I never had any commute to take (I only work remotely), I could take it easy. I now wake up at 6AM, and by 8AM I have a new post scheduled for the next week. When you have accomplished a task such as creating a new blog post by 8AM, you feel super energized to tackle the rest of the day. Wake up even earlier if you can (I can’t, or I’ll spend the rest of the day in zombie-state).
When researching on the web to write a blog post, it’s incredibly easy to jump into distracting places. I block them with SelfControl on my Mac, and I can’t disable the blocker.
Write on your own platform
Write on your own platform. Write on your own platform. Write on your own platform. Use other’s platforms to get more reach. Play the long game. Every blog post you write could be worth thousands of visitors in the next 10 years. Maybe not, but maybe the next hit that Google will like the most and put #1 is the next post you will write.
Don’t just write exclusively on other people’s platforms: you don’t own them, and they could even go out of business (happens all the time) or shut down the service, and you will lose it all.
Have an audience
This goes hand in hand with the previous point. If you’re just starting out, you might get 10 visitors a day if you actively share your posts (unless you hit it big on some sharing platform like Reddit or Hacker News).
Consistent traffic comes from search engines, but this is a very, very long game to play, and it’s easy to be discouraged if you write with passion but no one reads your posts.
So, look for an audience. Write on your own blog, import your posts to Medium (so it adds a canonical tag and you won’t make Google angry for duplicate content), and try to get it published on a big publication. Publications are eager for content, they have an audience to satisfy, and they are looking for you. Having an early audience will boost your enthusiasm and determination. Link back to your blog.
Promote your content
When you hit “publish,” you’ve done 50% of the work: you have your idea, you’ve done your topic research along with the actual writing, you’ve looked for typos, you’ve found a nice picture…and now you need to promote your writing. Post on Twitter if you have a following. Find other ways to “show up.”
Some locations might welcome your self-promotion, but it really depends on the place and its rules.
Your blog is your media platform
I read this quote on Hacker News a few weeks ago:
Don’t think of it as a blog. See it as your own media platform, whose only purpose is to broadcast information that drives sales — https://twitter.com/pryelluw
This advice is spot on. I saved it and I plan to read it once a month. Sales is something that might make you feel uncomfortable, but think of it as selling ideas, or selling your own expertise. Selling yourself.
Set up an email list now
Really. RSS is not dead, but is used only by a small percentage of people. You don’t own your Twitter following or your Medium following, you just own your email list. I recommend TinyLetter, it’s simple, free and amazing.
Don’t care about the design
Really. Especially if you’re not keen on design, pick the simplest theme you can find. Simple is nice and beautiful.
Your blog is not about you
Readers don’t care about you. Readers come to your blog because they hope you are going to solve a problem for them (if they came from a Google search), or because they think they will find useful information that will help them do something. Help them by writing for them.
Avoid popups and ads
Really. No popups. They don’t work if you target other developers as your readers, they are annoying, and Google might even penalize you for using them.
Also, don’t put ads on your site. They are simply bad, and unless you have thousands of visitors a day, they are not worth it.
Check your comment solution if you use a 3rd part service. A very popular one shows advertising to users not logged in to their platform, unless you pay.
Don’t let your blog collect dust
If you start out with a new blog, before even publishing one post, prepare a few posts in the pipeline.
Don’t sit on those posts for too long — prepare a queue.
Choose a schedule, stick to that, and never give up.
When you see blogs that have 3 or 4 posts per year, or abandoned blogs, it’s sad to think about the dreams the owner had when starting out. But those dreams never materialized, and the blog was left, all alone, collecting dust and getting less relevant day after day.
Don’t let your blog be one of those.