In April 2020 I started this site. The world had been thrown into disarray by coronavirus and the U.S. job market suddenly looked gloomy.
I figured having a portfolio of code that I could demonstrate in an interview was my best protection. Coding in the evening also made me better at my current job. Write several articles on a niche topic and suddenly you are an expert on it!
I had no idea at the time that I was starting a site that would become: a business, an obsession, my proudest accomplishment.
The spark of joy that comes from creating something that others value never dims. Slowly building confidence and independence by growing a new stream of income is deeply motivating.
I’ll dive into topics like how long it takes to write an article and free resources to make your programming site successful.
The Math and Timeline For Growing Your Blog Earnings
Even if you start a blog for non-financial reasons, if you persist in writing quality articles that solve real code problems, you will eventually build a site worth a considerable amount of money.
It’s worthwhile simply to be aware of this so you have the choice to benefit financially from the value you have provided to others.
Here are a set of attainable statistics that I believe provide a roadmap to what you can create. It is possible to:
- Earn at least 1 penny per view
- Get 1000 views per month per article
- Write an article in five hours (on average)
These are the only three levers that matter…earnings per view, views per content piece, and generating quality content quickly.
Some of these stats might be conservative, some might seem unrealistic when you are first starting. You will definitely spend some time struggling to master keyword research, site speed, monetization, and other challenges.
However, consider the implications of the above stats. Each article at 1000 views X one penny per view is generating $10 per month. If the goal is $3000 per month ($100 per day), then you need to write 300 articles. If the goal is to accomplish this in three years, that’s 100 articles per year, or two per week.
If each article takes five hours, that means you can generate a $3000 a month in three years by working 10 hours per week. Do you only have five hours a week? No problem, you’ll get there in six years.
This discounts human ingenuity: you’ll probably exceed these assumptions quickly just from a blog. You’ll probably create products or courses (i.e. on Udemy) and massively out-earn these stats. There’s unlimited opportunity.
My Current Stats
I exceed some of the above assumptions, and I fail at others. My stats:
- 500 views per post per month
- A little over $0.01 per view
- A post takes me four hours
I wasted 8 months NOT doing keyword research…and no one read my posts. I have work to do to get to 1000 views per month, but the more time I put in the better I get. I believe this is attainable in the software development space.
I recently joined Ezoic for ads. My revenue per view will likely get up to $0.02 per view from what I have read. I believe even 2.5 cents per view might be possible.
I have almost no success with affiliate links. I think this is because my target audience is software devs at work. My affiliate links get clicks, but people are not on their personal computer and won’t purchase the course with my cookie. Some day I hope to figure out affiliate links and get earn another $0.02 per view for a target of $0.04 per view. It doesn’t sound like much, but multiplying one of our levers significantly increases revenue.
I easily do keyword research, coding, writing, and editing in four hours. If I was running my coding site full time with maximum focus then I expect I could write an article in three hours.
My output is two posts per week currently.
How Much is a $3000 a Month Blog Worth?
Websites sell for 30X – 45X monthly income these days. A 33X valuation would make your programming blog worth $100,000.
If you achieve $3k a month income only using ads, you likely will get a valuation on the higher end because other site operators would sense an opportunity for adding affiliate revenue.
Cumulative Income Over Three Years
Remember you grew that $3k per month (and 300,000 visitors per month) over the course of three years. We need to take into account the income you accrued over the years.
Let’s do a conservative estimate and batch the earnings. Also assume an article didn’t earn until it was six months old.
- End of first six months: $0 earnings
- End of months 7 thru 12 (inclusive): 50 seasoned articles X $10 per month X 6 months === $3,000 earnings in this period
- End of months 13 thru 18: 100 seasoned articles…. === $6,000 earnings in this period
- End of months 19 thru 24: 150 seasoned articles…. === $9,000 earnings in this period
- End of months 25 thru 30: 200 seasoned articles…. === $12,000 earnings in this period
- End of months 31 thru 36: 250 seasoned articles…. === $15,000 earnings in this period
Now we aggregate the earnings: $45,000
$45,000 earned in this very prudent estimate.
At the end of three years of 10 hours/week of additional effort, you possibly have an asset worth $100k plus an extra $45k in the bank.
How Does This Compare to Traditional Investing?
Here’s another way of looking at things: investing $1000 in a traditional U.S. stock index fund yields about $0.10 per day if you use the 4% rule. Or you can spend five hours writing an article that earns $0.33 per day and has a valuation of roughly $400.
I personally used to agonize over how much capital it took to generate cash flow from stocks and bonds. Then I realized I should simply create my own assets and cash flow.
How To Write a Programming Post
Staring at a blank screen sounds daunting; planning to do it twice a week for a few years is intimidating.
However, if you break a coding post down into parts, there’s only four steps:
- Keyword research (more about this below)
- Coding a demo
- Writing the post and referencing the code
- Editing and Pre-publishing
I create my demos in Code Sandbox so that devs can run them live and interact with them. Usually I target a few pieces of functionality, like adding both a search bar and filter to Material-UI Table.
When I write the article for this site, I create a title and outline first. The outline is simply the h2s, the text of which is the same as a search phrase or phrases that I am targeting. I don’t worry about word count, I just write an article that delivers an excellent answer.
Finally I read the article through, edit, and add relevant links to other articles on my site. I make sure I have tags and categories set, and I publish.
The great thing about this is how useful it is to other developers. My articles are saving time for hundreds of developers every day. I target a topic people need help with, create a high quality demo, and make the internet just a little bit better.
Monetizing Your Programming Blog
Don’t be afraid to earn from your blog. You are providing value, it’s reasonable to request some value in return. Below I’ll discuss different methods and their potential for monetizing.
Traditional Monetization: Ad Revenue and Affiliate Commissions
Ads are the simplest way to monetize. For some niches, perhaps even the programming niche, they might be the best way.
Ads range from well under $0.01 per view with unoptimized Adsense, to $0.025 per view with a premium ad network (and perhaps a high ad load on your site).
I use Ezoic currently. They typically require 10k page views per month before allowing a site to join their network. However, they’ve recently run some pilot programs that allowed smaller publishers to join.
One of the best benefits of Ezoic and other ad services is that they include tools for optimizing your site speed. I like these a lot and plan to stick with Ezoic for a long time. They also have a “Premium” tier that I joined in July 2021 that seems like it will significantly improve my earnings per view.
Affiliate commissions can be far more lucrative than ads. Many products offer 15% to 50% for purchases made by customers who use your affiliate link.
The best strategy for affiliate earnings is to write articles that compare several products and provide links to purchase them. I regularly hear about sites earning 2X or more from affiliates than they do from ads. Jon Dykstra at Fat Stacks is a notable exception, earning $100k per month, mostly from ads.
While I have not been successful with affiliate sales on this site, the economics of writing for ad revenue still work out favorably. I estimate I earn around $100 per hour I spend writing, and that will increase as I get better at writing: more views and more earnings per view, in less time per article.
There are unlimited methods for monetizing blogs. Here are a few:
- Products like digital courses or eBooks
- Direct advertising sponsorship
- Leveraging your blog to get a better job
I wrote several eBooks in 2020 and linked to them throughout my posts (with affiliate links!). I drove lots of views but few sales.
I have come to believe that developers primary want to learn through video courses. I might be wrong about that, but consider the premiums that Udemy commands over eBooks.
You simply have to experiment to find what works. As you create more content, and more types of content, you have more data points about what is valued by others (and earns $$).
Non-Financial Benefits of a Coding Blog
I love having this blog about React and libraries that use React. I love the feeling of accomplishment it gives me. I love feeling confidence instead of imposter syndrome.
If you start and persist with a coding blog, you will certainly enjoy some of these benefits:
- You’ll be better at your job
- You’ll open up opportunities and create new relationships
- You’ll have a great talking point in interviews
- You’ll simply be a more interesting and accomplished person
However, you also will likely obsess over your site, your stats, and everything in between. You’ve been warned :).
Three Pillars of Coding Blog SEO
I don’t worry a lot about SEO. I focus on writing good content and trust that it will rise to the top of the search results. I also like to target topics where I am the only source.
However, it is wise to do the basics below.
Write What People Want to Read: Keyword Research
I mentioned keyword research above but want to explore the topic more.
Tools like Ubersuggest will show a “monthly search volume” for different phrases. Most new online publishers target keywords that appear to have low search volume and don’t have much competition.
This image shows the volume for “material ui textfield”. However, Ubersuggest also produced data for related keywords.
Notice how some of the keywords only have SV of 10. Supposedly they get 10 searches per month. This does NOT include the search volume for very similar phrases.
I typically find that I get the views per day that are listed as monthly search volume. I also usually bundle several search phrases in each article.
My site is small relative to lots of big publishers. The economics of targeting low SV keywords are worth it for me, but not for big players. This method is called “long tail keyword research”.
If you are writing your blog simply for passion and creativity, don’t worry about keyword research. Also, growing a following can replace keyword research. However, if you want a passive “write once, earn repeatedly” programming blog, this is a good method.
I believe page speed comes down to a few things:
- A lightweight theme
- A minimal amount of plugins
- Using the tools available from an ad network: caching and site speed audits
I will mention a few themes below because it deserves to be its own topic in this post.
As far as plugins go, keep it minimal. If it isn’t essential, get rid of it. Ezoic handles a lot of optimizations such as caching, image optimization, and code snippets to reduce the weight of the few plugins I have.
While building dofollow backlinks is the third pillar of SEO, I have not engaged in it yet. About half the online publishers interviewed on the Niche Pursuits podcast think it is a fundamental requirement, the other half don’t bother with it.
Google uses dofollow links as an indicator of site authority…or at least it used to. Many of the interviewees think Google’s ranking algorithm has gotten smarter and can simply determine quality and authority based on the site’s content.
My blog views have plateaued for a while this summer, perhaps because I don’t have many backlinks. I think that the best strategy for gaining links is to create a really useful online tool that people will naturally link to. This will persistently get you engaged views as well.
The Best WordPress Theme for Programming Blogs
First I should mention that WordPress is a great programming blog platform if you want to start publishing content quickly. Some developers are passionate about creating their own platform or using something more customizable. I understand the desire. It simply is a trade-off of priorities.
I recommend one of two themes:
- GeneratePress theme
- Astro theme
I recommend these because they are lightweight, load quickly and score well with Google’s recent Core Web Vitals update. I know this due to the research of others: Jon Dykstra, whom I mentioned above, has used both. Nick Loper of Side Hustle Nation and Mushfiq Sarker of thewebsiteflip.com both said GeneratePress is their theme of choice in this podcast episode.
I use GeneratePress. I think Astro scores even better with CWV. Both are quite minimalistic. I think GeneratePress is a good “blank canvas” template for building a programming blog.
If you want a theme for your programming blog that has lots of possible styles and modifications, you simply are making a tradeoff of speed vs. style. Speed is a ranking factor with Google, but it is possible to rank simply on strength of content in a low competition environment. I am confident of this because my site ranked when it was much slower and less optimized. I simply didn’t have very much competition.
With any theme, you can customize CSS easily. You can ultimately customize the theme any way you want. I think it is smart to start lightweight, create lots of content and rank some posts, and then put the time into customizing. I wonder how many developers started blogs, put 20 hours into customizing the theme, wrote three posts, and then dropped it. Better to write first. You might be pleasantly surprised to find your content starts to rank, and that is the best motivation to keep going.
Be aware that new domains can take a while to rank in Google. Google’s algo has to figure out what your site is about and get some data before it trusts you. This can take several months. Keep producing content during this time and hone your craft by taking in some of these great resources: