You may have seen articles, blog posts or even infographics with titles like "Top Ten Things to Do to Boost Your Programming Career". One of them is likely to be starting a blog.
Obviously starting a blog isn't a "checklist" item. You can't think "OK, done that, what's next". It is a long-term committment which is likely to take several hours each week at the very minimum. And that time doesn't just consist of researching and writing posts: to be successful you need to spend time implementing and fine-tuning your promotional techniques. You also need patience and tenacity; it can take months to build up enough content for search engines and others to consider your site worth linking to. Only then will your traffic start to expand beyond a trickle.
There are many statistics floating around like "95% of blogs fail". I have no idea how accurate or truthful they are but it is easy to believe that many people start out enthusiastically tapping away at their keyboard and after a few weeks become disillusioned when almost nobody reads their posts.
That all sounds rather negative but the point I am making is that if you are willing to put in the time and effort to both write and promote your blog then you can make it work and gain benefits from it.
What Are the Benefits of Writing a Programming Blog?
Perhaps the most obvious is to showcase your skills. Every software developer will have a resume or CV, many will have code out there on Github or elsewhere, some may contribute to open source projects or forums like Stack Overflow. However, none of these provide a platform to present yourself as a rounded person with a full set of skills, experiences and talents.
You resume is little more than a list of your qualifications, employers and job descriptions. Github is little more than a load of source code. Forums consist of a jungle of brief comments. None of these can give a convincing portrait of the human being behind them.
But a blog post, even a fairly short one of perhaps a few hundred words, one or two images and some source code, give you free reign to distill all you knowledge, experience and even opinions into something that, to the right audience, is both interesting and useful. Hopefully it will also leave them with a positive opinion of you as a writer and a person.
A second reason is to develop your communication skills. It is perhaps inevitable that if you spend your days (and nights?) communicating with a computer in a programming language then your ability to communicate with humans in natural language might start to atrophy.
How many times have you seen in a job spec something like "good communication skills required"? The fact that employers find it necessary to state that they need people with the basic skill of communicating with their fellow beings indicates that such skills are not as universal as you might expect.
Writing a blog consisting of readable, well structured and gramatically correct posts does not quite make you one of the elite few, but it does put you ahead of a depressingly large percentage of the population.
The next reason is to learn new skills such as a new feature of your favourite programming language, or a new library or framework that has just been released. You are probably thinking "but I can learn new skills without writing a blog post" but blogging on a topic forces you to write clear and concise source code, followed by an equally clear and concise description of how it works. Only then can you truthfully claim to have learned the topic!
Final bonus benefit: learn a CMS. "Real" programmers might be contemptuous of using a content management system like WordPress. After all it isn't really programming is it? But about half of all websites use some form of CMS, and two thirds of those use WordPress. It is a very useful skill to have even if it is only secondary to your mainstream coding.