I bet everyone reading this post has a secret to-do list of things that they know they should do, but keep putting off? Sounds familiar right? My personal skeleton is my Episerver book. At the time of writing, I’ve written more than half of it.. but finding and committing spare time in between life can be difficult.
A lot of people think about starting a software development blog, a few people even write a few posts but the majority of people either don’t get started or, give up after a few months. I recently wrote in, 5 Reasons Why You Should Blog as a Software Developer how a blog can help your career and the feedback was pretty positive. The aim of today’s post is to try and motivate and help you to take action and start!
Don’t Worry About Perfection
Starting and maintaining a blog is time-consuming. I can’t even begin to give a close estimate at the amount of hours that I’ve put into this site, I’m guessing easily 300+ hours’ worth of effort. Like starting to write a book, at the beginning the amount of effort is daunting. I don’t know about you.. but if something reeks of effort, I’d rather pop down the pub than sit in front of a PC.
If you want to start a blog, or, in general, get shit done at work then this is one of the best tips I’ve got. Don’t worry about making it perfect. If you want to start a blog, set aside two hours one weekend and buy a domain with hosting, install WordPress (my hosting does this automatically for you ), buy a theme (or get a free one) and that’s it.
On the next weekend, review what you don’t like about your new site, maybe commit an hour or two to fixing it, find a WordPress plug-in that will allow you to add in some analytics and a ‘Contact Me’ page.
On the next weekend, add a plug-in to backup your blog. Repeat.
When I started creating this site I spent far too much time on the non-trivial things. I was worried about how people would judge the look of my site, so I spent ages trying to make it look good rather than write content or decide what I was going to write about. In the first year, no one visited my site, so lesson number two: regardless of how good it looks, or, how much you like design or coding the most important thing that will bring people to your site is content (unless you want to pay for advertising).
When you start a blog, don’t expect to get more than a handful of people visiting your site for a very long time. Spend your time on creating content and slowly evolving your website into something you are proud of.
I still follow this process today, but admittedly as this site is fairly mature, in a less frequent manner. I wanted to change the footer recently, so one weekend I committed an hour to changing it. The weekend after I spent an hour updating the menus and categories. The trick is just doing a little consistently rather than overwhelming yourself with a mountain of a project.
Running a blog takes a lot of effort, but it doesn’t require you to work 24/7 on it. The best way to move your project forward is to pick it up and take baby steps whenever you have a free hour, here or there. That’s the best tip I can give, consistently keep improving it, one step at a time.
Don’t Wory About Your Idea
I had the idea to start a blog probably two years before I put anything into motion. Every time I thought about creating a blog, I never knew what I would write about. I use C# daily and have for 11 years now, but whenever I thought about writing about design patterns, or .NET posts I always felt like there were so many, other more experienced .NET developers who have written books, worked on the .NET team or came up with ground-breaking designs that I could never start a site that could compete with them.
As I’ve previously written, when I did start this site, it was simply a means for me to remember how I solved some work problems for a new CMS system, that had no documentation and very little information about it. That was basically the concept of the start of my blog, all I wrote about was how I solved problems I faced.
After that project, I worked on Episerver for several years. I carried on writing posts about how I solved my work problems and after a while, my site had seemed to become a go-to Episerver resource. When I started this site that was never my intention. As I work with different CMS platforms, the site then turned into a CMS resource for hard-core (tech savvy) developers to build technical quality solutions. As my interests have changed over the years, I started to write a bit how tech-savvy developers can use their skills to make money.
I think a lot of those ‘Get Rich’ type sites will advise that you need to pick a topic that will keep you interested for years. I think a better approach when you start off, is to just write about your work problems and how you solved them. It might not be sexy, or cool but it something unique you do pretty much every day, that no one else is doing. The best part is, if you need to solve a problem, the chances that someone else in the world has the same issue is pretty much guaranteed.
As websites are digital, it’s easy to add or even remove posts if you’re not happy with something. If you carry on writing in this way, after a few years you’ll have a good number of posts and very likely a regular stream of visitors to your website.
If you don’t want to write about your work, the only other tip I have used is to start writing about a technology you want to learn. When I started writing Umbraco tutorials, I had only just started using it. After 6 months of experimenting and writing new things 4 times a week, I was offered two Umbraco contracts.
In the process of learning, I also started seeing an extra 2000+ people a month come to my site just for Umbraco tutorials, so I can honestly say this technique definitely does work. The reason why this approach isn’t as good as the work problem approach is that you definitely won’t be the first person to think the same. If you think ‘I want to learn Umbraco’ development and write about how you created an Umbraco sample site, other people will have done the same and you will be competing that much harder to get readers for your website.
Having a broad topic for a blog can work, but there will also be tons of bloggers doing exactly the same thing like you. That’s why it will be a lot harder to get recognized and grow. No one in the world will have your work problems, so straightaway that’s your niche.
Don’t Be Put Off Easily / Consistency Is King!
I remember when I started writing one particular post, I think I spent a weekend trying to learn how some new technique worked that allowed me to customize Episerver. I thought the concept was really cool and on a Monday morning, I published the post thinking the post was going to go viral. A month later the page had less than 20 page reads : I have other posts that I’ve spent 10-15 minutes on and have over 50,000 page view; go figure!
I think one of the biggest de-motivational factors when I started off was spending a lot of time and effort doing something I like, but no one was reading. It’s at this point that it’s easy to give up and I think a lot of people do which is why you come across so many tech blogs with a handful of posts written a few years ago that now are sitting gathering virtual dust.
When you start blogging, just expect no one will probably read your blog (unless you get lucky) for a while. Having an awesome blog takes time. There are no short-cuts, it’s all about hard work and effort.
That’s why it’s a really good idea to define what you want to get out of your blog. When I started out, my motivation was to have a tool that could give me an edge when I was pitching, or applying for work positions. It didn’t matter how many people read my work, if I had a good CV and a blog that proved I was good at my job, then that was good enough for me.
It was only around the 150 post mark that I started to get good gradual monthly traffic to the site. Technical posts are harder to write than your useful, waffle based blogs. Writing code takes time and it means you can’t just can’t make something up as you go along (see this post for an example of waffle). Writing 150 odd posts will take you a while, no one is super-human so expect to put in some serious time before people notice your work.
So, if you decide to start a blog and get the motivation to actually build something and start writing it, the next thing that will stop it from being awesome is simply your motivation. Again, the solution to this is consistency. You just need to keep consistently writing and generating content, regardless if anyone is actually reading it.
Decide What You Want Out Of A Blog
The old Benjamin Franklin saying is true for blogging as well as most aspects of life, ‘If you fail to plan, you are planning to fail’. Having a clear goal of where you want to go can help you shape your blog and keep you on the track.
At some stage, I decided that I wanted this site to be a go to Episerver resource. After I made that decision, I started working on little things that worked towards that goal. I created a mega-menu, I had landing pages to help people find information more easily etc.. I came up with series of posts that I would never have if I just carried on blogging about my work problems.
I think this step is a key step from turning your blog from just an ordinary average joe developer writing about stuff and transforming it into something awesome. When I started writing (not spelling), is that I needed to go through a lot of trial and error before I figured out the direction I wanted to take.
For me, not worrying about making something perfect and not worrying about a theme for my blog, got me started. It was after two years’ worth of writing that I came up with a direction and a plan of what I wanted to get out of this site that I started to see some serious traffic.
One of the things I didn’t expect from writing is that I found I’m really passionate about helping people and it’s something I really enjoy. The vision for my site changed from writing a few work posts every now and again, to how I could make the best resource to help hardcore developers solve their Episerver problems.
I use Wunderlist to keep track of my to-do lists. So I wrote a bunch of to-dos of things I thought a good resource site should have. I then followed the consistency plan of tackling little chunks here and there until it turned into something I was happy with.
If you want to be known as the most famous developer in technology, then knowing that will help you write your posts and add functionality to your site to help you reach that goal. If you want to be known as an inventor, then you can spend your time writing frameworks, or reviewing bleeding edge technology. The vision that will help your site come together.
If you are still reading this, well done! It’s taken me a while to write, so I’m guessing it’s taken a while to read. I hope in this post I’ve shown you some simple steps and techniques you can take to start building a software development blog. Just starting is the most crucial part. There is no such thing as the perfect time