Become a Better Developer Through Blogging

Hey friends! In this post, I’m going to share my thoughts about the benefits of blogging. I’ll talk about how this activity can help you become a better developer, expand your horizons, lift your career and help you learn. Immediately, you may be dubious about this opening paragraph. “Surely Steve is taking this a bit far? Lift my career?… It’s just blogging!” you may be thinking, or perhaps mumbling out loud in annoyance!

Sure, it’s “just” blogging! But I honestly believe in the statement above. Blogging has helped me achieve all of those things and much, much more. There are so many benefits which you can reap through blogging. Some benefit the wider community. Some are purely selfish, but most, help both you, the author and the reader.

Let me share a story about my history of blogging, and then we’ll dive into some of the details. By the end of this post, I hope you’ll see why my opening statement is accurate and that you’ll be motivated to give blogging a try.

My Potted History of Blogging

I’ve worked in the IT industry for nearly twenty years, since my first summer job when I was 16, working as a junior desktop technician for the NHS.

My first attempt at blogging was I believe a year or two after that first job, by which time I was working as a systems engineer three days a week as part of a vocational college course. I was learning lots about Windows, desktop hardware and some server work too. I set up a blog on one of the free blogging platforms at the time and wrote two posts in the first fortnight.

A month in and I was still at two posts.

Three months – the same situation, two posts in total!

You see, my early enthusiasm wore off, and I struggled with ideas of what to blog about and the never found the time to write things down. I’d lost motivation. I think I had some sort of page counter on the blog, and only a couple of people had even read my posts. Why bother?

Fast-forward a few more years; I was getting into some development with VBA with MS Access, VB6 and if I recall correctly, even some ASP.NET 1.0 code. Again, I was learning lots while struggling to figure out how to do things. Slowly I got things working and I returned to my blog. It’s no longer online, and I can’t find any of what I’d written. Still, I do remember writing a “I’m back to blogging” celebration post to kick things off.

That was where things began and ended for that attempt at becoming a blogger! More and more blogs were available online. How could I compete? These blogs were way more advanced, the authors way more experienced and knowledgeable. I was simply a programmer wannabe. An imposter!

In the year that followed, I think there were probably two other short-lived attempts to become a blogger. All of the same demons and  excuses surfaced. I just wasn’t a blogger!

That’s a pretty depressing and negative start for a post about becoming a blogger, I know! So what changed? Well, for a start, I’m now a regular blogger. Don’t believe me? You’re reading one of my blog posts right now! See! That proves it!

Achieving the Unachievable

This latest iteration of my attempts at blogging began in January 2016. Since then, I’ve published 119 blog posts. In fact, this post is number 120.

How did I achieve this after so many prior failures? Why even bother? These are the questions which I will focus on for the remainder of the post.

This interation of my blog became a reality when I published my first post “Introducing My Blog” on the 21st of January 2016. Four, long years ago! That post was a whole 177 words in length. Hardly “War and Peace”! But does that matter?

How long should a blog post be?

My simple answer – Who cares? Post as much little (or much) as you want to. Sometimes a few paragraphs are enough to write about a tip or trick you’ve learned, a pattern you like using or a solution to a problem you faced. Scott Hanselman is a master of short, extremely useful posts covering topics that address a specific issue.

Today, excluding this post and most code samples, I’ve now published 175,568 words to this blog. An average of 1,475 per post. The average reading time (at a rate of 250 words per minute) is six minutes. My longest post is 4,175 words, which is pretty long. This post is even longer.

Often it makes sense to break things down to make them more accessible to readers who have limited time and commitment. At other times, like this, long form posts may work too.

Learning From Blogging

I want to cover this point first, as honestly, it’s one of the most significant benefits I believe you can achieve from blogging.

It may seem counter-intuitive to suggest that you’ll learn from writing a blog post. Surely you have to already know about the topic before you can write about it? 100% not true in my experience.

My blog posts stem from two main foundations:

1 – I have just solved a particular problem at work or perhaps in a personal project which I want to document and share by posting about it.

This first category covers many cases where I’ve already done a lot of learning to solve the problem in the first place. I’ve found through personal experience that by immediately blogging about the issue and my solution I push at the edges of what I learned.

Sure I’ve solved the problem, but do I really understand why my solution worked? Often as deeply as I may presume. The act of writing about a subject and explaining it to others encourages me to go a little deeper. This is an excellent motivator for my own continuous learning. I try to think about the questions I’d ask if I were reading the blog post. What is fuzzy or unexplained entirely? At this point, I’m often seeking and reading more information to answer that question.

Deciding how deep you should go can be tough. You could write infinitely if you tried to explain everything. While researching content I often learn more than I end up including in the post. I still benefit from the additional knowledge I gain. Filtering content down to the most crucial things that I believe people want and need to know also helps me to retain the essential knowledge.

The second benefit of blogging, for our own learning, is retention. When we solve a new problem or learn about a topic, it’s easy to forget that information quite soon after. Writing it down helps store the information into your long-term memory. Explaining it embeds it even further. I struggle with a quite lousy memory, and I find writing blog posts helps me with my retention.

2- I want to learn about a topic or how a feature works.

These tend to and up as deep-dive technical posts which I quite enjoy writing because I learn so much in the process. They often take longer to produce. I my end up reading through the ASP.NET or .NET Core source code, documentation and from as many other sources of information as possible.

These types of post motivate me and give me an extra reason to dedicate some time to the necessary research. Without the blog post as a carrot (me being the donkey), I’d likely put off a lot of the study until I think I need it. This encourages continuous learning and exposes me to more topics, many of which will be more useful to me than I immediately realise.

Improving Your Developer Skills

That brings me nicely onto improving your skills through blogging and how I associate blogging with becoming a better developer.

In our day-to-day work, we are often bombarded with tasks and things we need to get done. Some of you may already feel overloaded and be struggling to keep up. Making time for personal growth and learning can be really tough.

Some employers may provide time in your week or month for education. Perhaps you are free to watch training courses or research new technology on Friday afternoons. It’s also very possible that in some companies, this is really just a pipe dream. In reality, you never truly get the time around the demands of the current project, and then the next one!

For me personally, the craft of writing software and working with technology is a passion. I also enjoy the process of learning and understanding things. Writing posts encourages me to carve out some personal time during lunch, or during my commute to write posts. Whenever I get an idea for something, I note the title and a brief description of the concept. Many of these fail to see the light of day, but a lucky few do make it.

The process of blogging helps me to articulate the things which I’ve learned. Explaining a subject to others is a skill you can translate to your work too. Perhaps you need to explain why something is wrong during a code review. Maybe you need to present a technical topic during a meeting or you are updating the company wiki. In all cases, that requires communication skills which you can develop (under less pressure than at work) by blogging.

The ability to research is also an important skill you will develop as you write blog posts. Finding resources, verifying their accuracy, comparing them to your own knowledge and preconceptions are abilities that you can also apply to your work.

Lift Your Career and Expand Your Horizons

These two statements are very related. They may or may not seem essential for you to right now. Hopefully, many of us are happily employed. That said, in time, you may want to make a move and take on a new challenge elsewhere.

From a career perspective, a blog can really help you stand out from the crowd. Employers can see that you have a body of work and experience. It shows dedication and a passion for your craft. It helps highlight you as someone who will move a project forward with an eye for making things better. It demonstrates your experience and knowledge far better than any CV (résumé).

It may simply help with promotions in your current employment. Once word gets around about your blogging, you’ll start to get noticed!

One thing I’ll add here in terms of work and career when it comes to blogging – Be cautious of policy. Make sure that you don’t accidentally disclose secrets or work-related code without permission. My posts are often inspired by problems I’ve solved at work or things we’re trying to achieve. In most cases, I use that as inspiration to create a simplified sample. I’m fortunate that my employer is also unrestrictive about what I can say about what we are building. Common sense must always be applied none-the-less. If in doubt, ask first!

Sometimes, my posts replace something we’d typically add to an internal wiki. If the information is generic and applicable outside of work, why not publish it publicly. I’ve been allowed to write and publish some posts on work time. The same time that I’d otherwise have used to document it on our wiki anyway. Again, discuss it first!

For some companies, having you blogging and showing your passion may bring them benefits from their association with you. When recruiting, it helps them stand out as a company which appreciates similar values in community and openness. It’s worth letting your marketing teams know about your work as they may promote it for you and extend your reach.

A note of caution in this category; be careful about appearing to represent the voice of your employer in your own blog. This is your personal blog, and you may be more casual about your language or stating personal views. Make sure that it’s clear you are speaking as an individual. With that said, your public voice, even on your own blog could land you in trouble if you decided to criticise a customer of your employer for example. Or to describe something which exposes sensitive intellectual property or a competitive advantage. Think first, then write! Think again before hitting publish!

Beyond your current job, blogging can open up new doors. As more people read your content, you’ll become known within the wider community. I wouldn’t suggest this be a primary motivator for blogging but it’s a nice by-product. You’ll be recognised by your peers, and you’ll likely find it helps generate contacts and friends within your community. Those contacts may well be the path to your future job or be able to help when you hit a tricky problem. I’ve made many friends through blogging and speaking at events.

Blogging was a key contribution which led to me being awarded as a Microsoft MVP. That recognition alone has been huge for me personally. I’ve had the opportunity to meet some amazing people I highly respect from Microsoft and the MVP community. I’ve visited the Microsoft campus twice so far for MVP summit which is an incredible opportunity. I could not have predicated this when I started four years ago!

Contribute to Your Community

There are millions of developers around the world, across the whole gamut of programming languages but only a small portion are active in public. There are communities around every technology, some big, some small. There are many intersections, as well. I often find useful content produced by members of the domain-driven design community, even though it may not be .NET specific. The internet is a tool for sharing information and the more people who leverage it to do so, the better for the community.

We need diverse voices, experiences and perspectives to provide healthy growth for our communities. Diversity is a known problem in the technology and software industry. One part of the solution is helping everyone be represented. All opinions matter, and while you won’t agree with everyone, just being exposed to different views can change your thinking. We always need more content. We are all unique and each blog post you read may impact your differently than it does other readers. Likewise, each of your readers may get something different from your blog that they haven’t gotten from others.

There are many ways to engage in a software developer community, blogging is just one option.

Common Questions, Statements and Excuses

To conclude, as this post has gotten quite long, I’ll fire off some short-ish answers to common questions people have, statements they make and excuses you may be forming to avoid blogging. Some I’ve been asked, some I’ve heard or seen people ask of others and some I’ve asked other bloggers over the years. Some are things which ran through my mind each time I tried to blog in the past. Many of these could be their own posts and may well be in the future.

How do I get started?

Just start! Pick something you learned recently and describe it. Pick a mistake you made and help others avoid it. Don’t get caught up in visual design at the beginning. A great way to procrastinate and never actually publish anything is to keep tweaking a blog layout until it’s “perfect”. The content is the most important thing. Aesthetics and accessibility, should not be overlooked, but they can come once you get up and running.

I can’t afford to pay to run a blog. Where should I host my blog?

You can find a free platform, Medium and WordPress.com to name two, and begin writing your first post today. Blogs are mostly static content, so you can even serve them from GitHub pages. While a custom domain is a great way to associate your work to you, it should not be a blocker to getting started.

I’ve tried to blog before but can’t keep it up. How do I do it?

I shared my story above, so you know I’ve been there too! There’s no one simple answer. The first post is actually often the easiest compared the next ten. Gathering and maintaining momentum is hard. Most people feel the same way about gym memberships. The first visit is a novelty that may quickly wear off!

Pick subjects which you care about as you’ll likely make time for them and enjoy writing them. Don’t worry if it takes time to write each post. Just keep moving toward the end goal. Where possible, try to schedule a regular time when you work on writing, so that it becomes a habit.

Everything I could blog about is already covered and there are so many blogs. How can I complete?

Everyone has a unique perspective and view. Ignore the other blogs and posts. This isn’t about them. Personally, when I have a topic, I want to write about, I avoid reading similar posts until my primary draft is done. That way I’m uninfluenced. I may look at them after my draft is written, and often I’m surprised how different my explanation is, even for the same concept. Remember that everyone learns differently. A reader may read ten blogs on the exact same topic and not understand them at all. Your description of it and your writing style may be the one which finally makes it all click!

Remember that you’re not competing with other writers or blogs. You’re merely providing diversity and more choice to readers. A blogger and writer I really admire is Andrew Lock. He writes excellent posts, and his focus on ASP.NET Core overlaps mine. More than once, we’ve both written posts on similar topics, and that’s fine. Now readers have at least two posts they can discover and perhaps two viewpoints.

How often should I post to my blog?

As often as you can and want to. No one is pressuring you to produce content (although this post may be :-)), and it should be a labour of love. Do it for your own benefit first and foremost. Personally, I try to publish a blog every one or two weeks. This helps keep me in a routine and feels achievable. At times, life or other priorities get in the way. When I’m up against a deadline creating a Pluralsight course, my blog posts become less regular. That’s perfectly fine! At other times, several drafts all get finished together, and I may publish two or three in a single week (like this one). 

If you are looking to build a brand and traffic to your site, then regular posts help keep a flow of new and returning visitors hitting your content. It’s fine to have growth as a motivation. It may just require a more rigorous approach.

How do I find the time?

I’m sure we’re all pressed for time and have competing priorities. We have families, friends, work and daily chores for a start. Approaches for finding or making time will differ from person to person so I’ll summarise my technique. I write blog posts over many days, weeks or even years. I use OneNote, and as ideas for topics come to me, I put down a draft title and a sentence or two so I remember what I was thinking. Some I work on straight away, some I get to when I can.

Once I have the concept, I add to it as I think of things. Sometimes it may be adding a single sentence or paragraph. Other times I’ll crank out the bulk of the content in one go.

I focus on the outline and what I want to say first, before worrying too much about grammar and form. Overthinking the structure slows me down. I prefer to get my thoughts out fast and then re-arrange, reword and edit as necessary.

I use small blocks of spare time, when I’m on my train to work, during lunch breaks or between chores to get stuff written down. OneNot is nearly always with me either on my phone, laptop or PC so I can immediately put my thoughts into writing.

I’m a terrible writer!

Writing is a skill that takes time to develop. A blog is a great way to do that. Don’t worry too much at first. Over time you’ll find a writing style and voice which works for you. You can use a spell checker to correct spelling mistakes and find alternative words. I use a tool called Grammarly these days to help me find common grammar errors and improve my structure. You’ll improve your vocabularily with each new blog post too.

The main thing is to proofread at least once or twice. I correct sections as I go and then do one or two proofing passes when I think I’m done. Often you’ll find things to clean up, even on multiple read-throughs. Ideally, I like to leave a day or so between finishing and proofing. My mind is fresh and I pick up more errors that way. Reading out loud can slow you down and help weed out complicated sentences. In the end, mistakes will slip through but most people won’t care.

I’m not a native English speaker.

Great! Honestly, this is a good thing. For reach, English posts are likely to provide your broadest audience. Still, you can help those who speak your native language immensely by writing in your native tongue. There may be many posts on a topic out there, but if yours is the only one in French, for example, you’ll be helping a large group of developers who have otherwise been excluded. Why not try to produce content in multiple languages.

Can I make money from a blog?

Perhaps; but I wouldn’t expect to become rich. Personally, I’ve not really focused on monetisation of my blog. Firstly, making money is not my key motivator and secondly done wrong, it can make blogs very anti-user. Right now, I have no advertising on the blog. The only revenue I get is that as a Pluralsight author I get a small commission for any leads I provide through an affiliate scheme. The links to my courses ensure I get my cut. This is basically free advertising for Pluralsight but mutually beneficial if it helps add people to the platform and hopefully they watch my courses.

The only other thing I have, which I’ve made slightly more prominent this year are links to “Buy me a coffee” or to donate via “PayPal”. If every visitor clicked these and gave me $3.00, I’d be very wealthy ($4.8 million). In reality, I don’t even cover my negliable hosting costs.

There are options such as sponsorship of a whole blog or individual blog posts. I’ve considered these but so far haven’t pursued it. I worry it’ll detract from the content. At the same time, if it means I can spend more time on the blog, then it may be worth it.

In short, you probably won’t make much from a technical blog. I’m sure a few can and do, but for me, I do it because I enjoy it and want to share information freely, not to buy a yacht!

What if people don’t read my post?

This is always a risk, more so at the beginning, for any blog. It takes time to build up an SEO ranking and awareness of your blog before people will be able to find it. Ignore this in the early days and focus on enjoying the writing. It’s worth tracking the traffic you receive with something like Google Analytics. You can use this to see what posts are most popular.

If your goal is traffic generation, then writing about new and popular topics is worthwhile. Still, you are also competing for traffic with many other sources as well. You may find that one well-written niche post gets 10x more views than a general one on a popular topic. In the early days, I wrote about what I cared about or wanted to learn. Traffic be damned!

Today I do think more strategically about what people may want to read, but I don’t let it put me off posting something. Two of my posts which were particularly personal and important to me were on the topic of public speaking. I looked back and in the last year they’ve had only around 250 views combined. It wouldn’t stop me writing them again or adding more on that topic in the future. This post may very well end up as one of the rarely viewed ones!

Over time, traffic will grow, it’s a waiting game. Of the 1.63 million page views I’ve had on my site in four years, half have been in the last 12 months. In my first year of this blog I received 60,000 page views in total. In 2019, for some months, I had the same volume of visitors per month.

Graph of blog posts over time

This isn’t a post on SEO so I’ll leave that for you to research elsewhere!

What if I post incorrect information? What if I look like an idiot?

This is an excellent concern to have and a legitimate one. In an ideal world, everything we all say would be 100% accurate. If it were though, we wouldn’t every have debates or arguments. We might not even need lawyers! To aim for 100% accuracy is a fools errand. Ultimately, do your best! A blog post full of plainly incorrect information on security best practices could cause harm. When publishing anything, take due care in presenting accurate information and advice. Some topics will be more important in regards to their accuracy. Research what you’re stating and include links to any references that you use.

Don’t let the fear of being wrong put you off, though. I’ve made mistakes in blog posts and it’s helped me learn. When people comment or reach out I improve as a developer. Sometimes I’m not wrong, but my explanation is confusing or open to misinterpretation. When this occurs, it merely means that I have a chance to learn how to write and communicate more clearly. I find more precise ways to explain things. There can be some negative people online, but I’ve rarely had any issues within the .NET community.

Learning how to be graceful when you’re wrong is a good life skill and has made me more confident at work and when speaking. Being able to realise a mistake and admit it is a useful lif skill!

If this is a real blocker for you, focus on sharing your experience. People can argue about facts and opinions, but they can’t oppose your experience as it’s unique and personal to you. Tell stories in your posts. Where did you and your team succeed? Often, more importantly, where did you fail? We all learn by our mistakes. Sharing yours help others avoid the same pitfall.

What if someone disagrees with my opinion?

Similar to above, this is often a positive thing. You’ll learn how to appreciate the views of others and how your words can be interpreted. Most things you write about will be a mix of factual information and then opinion. It’s fine to have opposing views and healthy debate. It’s what we need to make the community more diverse and inclusive of the views of others.

Summary

Wow! This became a bit of a long post (4,500 words); although writting it has only taken a few hours. Sometimes things just flow from brain to keyboard when I’m excited! Thanks for sticking with it. I really hope some of the advice and ideas that I’ve shared here help encourage you to join the next batch of bloggers.

The short summary of everything above is – start a blog. That’s it! Don’t overthink it. Try it for a few months and see how you get on. Learn and adapt as you go. It’s been one of the best things I’ve done to help my career and to become one small part of the fantastic .NET community. Let me know if you get started with a blog after reading this!


Have you enjoyed this post and found it useful? If so, please consider supporting me:

Buy me a coffeeBuy me a coffee Donate with PayPal

.

Steve Gordon

Steve Gordon is a Microsoft MVP, Pluralsight author, senior developer and community lead based in Brighton. He works for Madgex developing and supporting their data products built using .NET Core technologies. Steve is passionate about community and all things .NET related, having worked with ASP.NET for over 15 years. Steve is currently developing cloud-native services, using .NET Core, ASP.NET Core and Docker. He enjoys sharing his knowledge through his blog, in videos and by presenting at user groups and conferences. Steve is excited to be a part of the .NET community and founded .NET South East, a .NET Meetup group based in Brighton. He enjoys contributing to and maintaining OSS projects, most actively helping save lives with open source software and the Humanitarian Toolbox (www.htbox.org). You can find Steve online at his blog www.stevejgordon.co.uk and on Twitter as @stevejgordon