Last Updated on February 13, 2022
If you’re a developer then you’ll know that when searching for answers to programming issues online, blogs often provide the answers you’re looking for. These blogs, written by coders like you and I, approach problems and explain things in ways that official documentation doesn’t and can’t.
I didn’t realise this until I started writing my own programming blog, covering topics and problems that I was experiencing day-to-day as a developer. Turns out that I wasn’t alone in having these problems. Other people started reading my posts and finding them helpful. In fact, there are now 25,000 people who visit tomgregory.com every month. Every single visitor is looking for a solution to a problem, and it’s up to me to do my best to give it to them.
Whether you’re considering starting a coding blog or already started one, this article will be your guide and also provide a healthy dose of inspiration to get you moving. After all, if you have a real desire to help people through writing a blog there’s no reason you can’t do the same as I have, or more.
There’s an almost limitless combination of technologies and approaches you might take to solving any technical challenge. Far too many for the original writers of the technology to imagine, let alone document. That leaves lots of gaps where people are looking for answers and not finding them, or getting poor quality answers that aren’t helping them much.
That’s where people like you and I come in. We can write articles that provide:
- solutions to problems that haven’t been solved yet (or at least haven’t been documented)
- better solutions to problems that have been solved (but not very well)
An example from my blog
Let’s take one of my articles as an example.
In December 2019 I decided to write this article about the technologies SonarQube and Jacoco. The details don’t really matter, but if you’re interested, these technologies provide a way to publish code test coverage reports on a Java project.
Now these just happened to be technologies I’d been working with at the time. I thought I’d present the information in a new and more detailed way than I’d found online.
No special research. No special insight.
This article is now my most popular, with over 1,000 views every week!
Did I expect this article to become so popular? Absolutely not! In fact, there are articles I would have bet would be much more popular than this, but only once an article is published will you know its real value.
Creating a 25,000 visitor per month programming blog
I wish I could give you step-by-step instructions on how to create a 25,000 visitor per month blog. I really do, but sadly I cannot. Your path will be unique to you, your personality, and interests. However, I can provide you some insights which helped me to get where I am today, which I’m sure you’ll be able to apply to your specific situation. Sound fair? OK, well here goes.
1. Add unique quality content
If you’re writing a programming blog, there’s one main way people are going to find it. Google. Think about when you last had a technical issue you needed to solve. What did you do? Yeh, searched on Google. Just like me. 👍
A word about search rankings
It sounds obvious, but Google rewards the best articles by putting them at the top of search results. If you want to get lots of people visiting your site then you need to write the best articles. Does that sound intimidating? Maybe, but let’s break it down because it’s easier than it sounds.
You can start off with a very specific combination of technologies that hardly anyone is writing about, and write a nice long article about that! Assuming people are searching for it, Google will have no option than to show them your article.
Let’s take an example of the SonarQube & Jacoco article I mentioned earlier.
This is what Google showed me when I searched for sonarqube code coverage just now (in a Chrome Incognito Window to avoid my previous searches influencing the results).
For whatever reason, Google has decided to put my article at the top for this very specific keyword. Is my article amazing? Not at all! It just goes into a level of detail that people are finding more useful than other articles on the same topic.
And you can do exactly the same with whatever technology niche you’re interested in.
Focus on quality
Now that I’ve just described how Google is going to be sending you all this traffic, I want you to put it to the back of your mind in a tidy little box. The reason for that is one of my big struggles in adding unique quality content was focussing too much on the numbers.
As someone that’s just starting out it’s easy to get despondent if you expect big things to happen when you’ve just written a few articles. Even if those articles are amazing, Google takes some times to get to know your site. That’s why I think focussing on the process rather than the end result is the best place to be because:
- your mind will be in the right place to concentrate on writing a quality article on your chosen topic
- you’ll be able to take a long-term view of your website, safe in the knowledge that if you take care of the quality aspect, your readers will take care of the rest
2. Don’t think about SEO (Search Engine Optimisation)
Before starting tomgregory.com I had tried my hand at SEOing several other websites for myself and others. I tried every SEO guru trick I could find, from improving page load speed to making sure a page had just the right number of tasty keywords to get ranked in Google. None of this worked.
Fast forward to when I started this website, I decided to throw the rule book out the window. Instead I focussed on writing articles that I thought people would find helpful, and to write them in a structured and easy to follow way. The funny thing was, when I did this everything else was automatically taken care of. Google’s job is to surface quality content to people who are looking for answers, and it does it very well.
Is there a place for SEO?
Yes, probably, but only after you’ve got the basics down. And that means writing quality content that Google’s going to automatically put in front of people, without having to hack or trick the algorithm to think your article is good when it isn’t.
To this day I hardly do any SEO on my site. Yes, I write headlines that I think are going to best summarise my content and yes I try not to have a terrible loading time. But the vast majority of my efforts are in writing new articles that might have a chance of being helpful to a large group of people.
To illustrate my point, here’s the Google PageSpeed Insights score for my most popular post. 68 out of 100 is orange which means “needs improvement”.
So Google is saying this page needs improvement, but does Google actually care about this? Well apparently not, because this page is ranking very highly for several keywords. This makes more sense when you consider the fact that on average visitors spend 7 minutes on this page. Is someone whose going to spend 7 minutes on a page going to care if the page loads in 4 seconds versus 2 seconds? I doubt it.
As long as my visitors are finding my articles helpful and engaging, that’s what matters most. Everything else in secondary.
3. Keep going
I’ll be honest, when I started this site I didn’t have any masterplan. I just had the feeling I needed to do something more constructive with my spare time, and I was willing to give blogging a shot.
The first months of blogging were easy, as the process of writing and posting was new and exciting. Looking back through my post history, during the first 4 months I was posting on a weekly basis.
The main benefit to this, of course, was that I was growing my website and increasing the chances that some of my articles would have an impact. Posting regularly for me was the best way to get articles written because it created a weekly habit of writing an article.
Compared to most big websites one new article a week isn’t a lot, but I considered that if I kept this habit for a year then I would have 52 articles on the internet. And I was pretty sure that at least one of them would prove somewhat useful to people.
A spanner in the works
Despite my best efforts, I didn’t achieve 52 articles after the first year. Still, 40 isn’t a bad effort. So what happened?
Well, during the summer of 2020 I got distracted and decided hanging out on beach would be more interesting than writing my blog. 😆 What brought me back in?
Well, during my time off I was still monitoring my blog and responding to questions left on my articles. I even continued to receive positive feedback from people who emailed me (thanks, that really helped). All of this got my focus back in and got me looking at the big picture again.
I started looking at things from a longer term perspective. One, three, or even five years out. “Where could I take my website in five years?”, I thought. Where could you take your website in five years?
Here are some ideas:
- become the go-to learning resource in your specific area of interest
- create a quality structured video course to give even more value to visitors to your site
- create a community of like-minded people using a forum or other meeting place
- become a well-known figurehead for your specific area of interest, using your website to promote speaking engagements and best practice
If you have any other ideas of what you might do with a programming blog, please let me know!
Anyway, thinking about the long-term plan got me excited about blogging again and I started writing more articles. Even though I’m not obsessing about the end result, it’s really cool to think that every article I write will have a snowball effect and contribute to something big years down the line. ✅
4. Use your job for inspiration
I’m guessing that if you’re reading this article you’re probably working in the software industry to some capacity?
I was in the same place when I started my blog, and my job has been a big source of inspiration for article ideas. In fact, I’d go as far as to say it would be difficult to write articles for a coding blog on a regular basis without practicing at some level what you’re teaching. Of course that doesn’t have to be a job. It could be your own personal project or a business you’re running.
This is why I think this is important:
- Writing about solutions to problems I’ve encountered in my job: I would never have experienced those problems on my own because often they were the direct result of working in a team of developers or on a big software project.
- Learn a technology that would be helpful for my job: learning and writing about a topic that’s going to have a tangible benefit can be a real motivating factor. When you learn something just for learning’s sake, in my experience in can lack context and you can be left wondering “Why?”.
- Someone else is going to encounter the same problem: you’re likely not alone in the problem that you’ve solved in your job. That’s good news, because it means that the article you write is going to help someone.
Consider whether to separate your blog from your day-job
Whilst I wholeheartedly suggest using your job as inspiration for your blog, you should think about if you’re going to keep them separate or not.
You may have noticed that I never mention my job or employer on my blog. The reason I don’t is because I don’t need to, given the types of articles I’m writing, and I’d rather not complicate things. The general technology knowledge I learn during my job and free time is mine to keep and use as I please. Whether that’s in my current job, in a future job, or on my blog.
That said, if you have a good relationship with your employer they may be happy for you to write an article showcasing how they’re using some cool technology.
Why would they agree to this?
- it demonstrates they’re using up-to-date technology, which can help recruitment
- it might generate leads for the business
If you’ve ever been to a tech conference or meetup, there are usually presentations about how “At Company X we used Y technology to achieve Z”. You could do a similar thing with your blog, if you wanted to.
Turning your blog into your job
Just to give another idea, even if you start your blog whilst still working your job, you could look to eventually turn your blog into a full-time pursuit. This isn’t the end goal for everyone, but consider that once your blog gains some traction it may open up new opportunities you hadn’t considered before:
- Use your blog as a platform from which to climb the job ladder: since you’re showcasing your technical skills on your blog, if you mention it in your job application this will likely impress any potential employer. This puts you in a strong position for picking the most interesting jobs and negotiating a favourable salary.
- Use your blog as a platform to find work: if you’re writing about a very specific topic, you might find that very quickly you’re seen as an expert in your field. This will be especially so if you’re dominating the top of the search rankings. Companies looking for experts in this area may call on your services. An excellent example of this is the great Java and Spring resource baeldung.com, written by a developer called Eugen. Whatever Spring related question I seem to type into Google this guy’s blog is always at the top! Think he’s struggling to find work? I don’t think so.
- Other opportunities to earn income: whilst there are plenty of resources out there describing various ways you might monetise your blog, I think it’s important to keep the end goal in mind and never detract from providing quality content to your visitors. One legitimate example of where you might provide more value to your readers would be a structured paid course where you go into a lot more detail than is available in your public articles.
5. Live the life of a blogger
On a personal level, I found it helpful to keep reminding myself that the only thing stopping me from having a blog with 25,000 monthly visitors is myself. Likewise it would only be my own actions that would get me to where I wanted to be.
The only thing stopping your from having a blog with 25,000 monthly visitors is yourself
Once I believed this simple fact, I could see any excuses that came into my mind for what they were: ways of stopping myself from reaching my own goals. Sometimes we really can be our own worst enemy.
Do I still struggle to keep a consistent blogging output after having worked a 40 hour week? Absolutely. But somehow I find the energy to keep going.
Be the 25,000 visitor/month blogger
I’ll be honest, I read a lot of self development books. Probably too many in fact. One of the ideas that I learnt from that world was to be what you want to become. So I started telling myself that I’m the writer of a blog that attracts 25,000 visitor/month. This created a small mental shift. Even though I had 5,000 visitors at the time, I had successfully fooled myself into believing I had 25,000!
This new belief came with the added responsibility of owning a blog that attracts 25,000 visitors/month. “That’s a lot of people reading my blog” I thought. “Better get writing! Oh and, with all these people reading my articles I should probably keep the old articles up-to-date”.
Well in the end things paid off, and I guess the numbers speak for themselves.
That’s how powerful it is to set a future intention!
Time to get started
If you’ve read this far you clearly have an interest in starting your own blog. Whether that’s purely for your love of technology, learning, career development, or whatever other reason, I share your enthusiasm.
I’d really like to hear your questions and thoughts on all this, as obviously it’s a big topic and I can’t cover every angle. I hope as a minimum I’ve showed you what’s possible, and perhaps given you some inspiration to get going by sharing my own journey.
So now it’s over to you. Why not get started today?
8 thoughts on “How I grew a programming blog to 25,000 monthly visitors in 12 months”
I want to start a blog and I do not know how to start, I mean what to write about on my first blogs or what kind of public to write to; beginners or more advanced?
Anyways, this is my fifth time reading this blog.
Hi Luis. Thanks for sharing your question.
I wrote my blog mainly for intermediate level software engineers, as that was easiest for me to write for. I think there are normally more people looking for beginner level material though.
It obviously helps if you have lots of information to share on a particular topic. That way, you can write about things that others have not written about yet. Like really specific things that people are searching for.
That doesn’t mean you have to be an “expert” on everything you write about, but you need to at least be willing to go deeper into the topic.
Kudos to your efforts. I am sailing in the same boat and working a writing a blog of my own. I would like to know how do you track user visits to your site? Do you have developed inbuilt capabilities in tracking or using a third party tool? I assume tracking by urself would be a little difficult as it need to track IP address and stuff.
Hi Vic. I use Google Analytics for that. I wouldn’t recommend creating something yourself, unless you’re happy with just very basic analytics.
Great article! I was curious if you could give me a rough estimate of how much your blog makes? If its uncomfortable you can give me a ball park or send me an email. I too am trying to start a blog to attach it to my youtube channel https://www.youtube.com/c/VeryGreatSoftware. Have a great day!
Hi Thom. If there’s interest, this topic warrants it’s own article or video at some point. Short answer: not that much, but I’m working on it!
I read your article and I’m inspired to start my own blog. I have a couple of questions.
1. What kind of web host did you choose to start your blog?
2. I just started learning python and I don’t know what to write about. Do I write about topics that I recently learn? Or should I wait until I know more about python?
Hope to hear from you soon 🙂
Hi Carlos. That’s awesome!