This article originally appeared on Richard Ballard's blog
I've always appreciated the effort others have made to maintain their blogs, happily consuming them for my benefit. However, I'd always thought that blogging was for others and not for me.
Recently I decided to change that.
So I bought a domain, did my platform research and set up this site. I wanted my first foray into blogging to document the whys and wherefores that led me to writing this post. Here are my reasons...
How often do we say the following sentence in our day to day lives?
I don't have the time.
We constantly think of ourselves and our lives as being super busy, and often they can be, however there is always time if we chose to find it. As Laura Vanderkam says in her brilliant TED Talk, when we say "I don't have time" what we're really saying is "That is not a priority for me".
So if we know that we can find the time by making blogging a priority, we remove one of the main psychological barriers.
This one is a big one for me. If I decide to do something then I want to do it well and I certainly don't like to fail. Or maybe a more accurate statement is, I don't like to fail publicly.
The thing is though, in the context of a blog, what is failing?
Who cares? I'm happy writing this blog purely for myself and the cathartic experience of documenting my thoughts and experiences - if no one actually reads it then I'm completely okay with that.
We've all seen blogs that have had no posts for 3 years, or super sporadic posts. Again, who cares? That person felt they had something to share and they made the effort to do so. I think that is something to be proud of and certainly not something that should cause guilt.
I personally will aim to write a couple of posts a month, but equally if I don't feel I have anything worth posting then I won't write for the sake of it.
Why would someone listen to me when there are already great minds out there sharing their experiences?
There are many reasons why this shouldn't be a problem, yet that nagging doubt does exist. The main reason I've overcome this one (I hope) is because I realised that, quite simply, everyone's experiences are different. Similar yes, but different. The way I learn a new language or concept will differ ever so slightly to that of another another developer. The projects I've worked on and the people with whom I've interacted all differ as well, meaning no two experiences are completely equal.
Another reason is that the likes of Scott Hanselman and Jeff Atwood one day sat down at a computer and wrote their first ever blog post. They started writing posts and socially contributing to the industry and, luckily, they haven't stopped since. You've got to start somewhere and I don't need to feel inferior due to others' successes.
Documentation. Documentation. Documentation. The word a lot of developers hate to hear when uttered by their Manager. Yes it can mean tedious work that takes us away from doing what we enjoy the most, but we all know how important it is. When we're searching the web for a solution to that troublesome, non descript error; we're hoping, praying that some kind soul has already found and shared the solution. If I can in any way aid the community, and indeed my future self, by taking the time to document a problem I overcame then, well, that's great.
So communication is hard. Whether it is trying to articulate a problem in code to a fellow developer, status reports to Project Managers or writing emails to clients... It's hard. Your intention can easily be lost in a sea of words when what you're desperately trying to do is communicate in a simple, concise and effective manner.
The best way to improve your communicate skills, as with everything, is to practise. I plan out my status reports, set agendas for one-to-ones and re-write emails to clients in an attempt to try and communicate effectively. It's difficult to put down words that express your meaning and it's something I would love to be better at. It's my intention to use this blog as a means to practise and further improve my written communication.
Throughout my career so far I've not had a presence on the Internet. If you google my name nothing comes up and I've always been weirdly happy with that. No Tweets, no Facebook, no blog posts, no Stack Overflow activity, no Open Source contributions and until very recently, no LinkedIn profile (a change only recruiters seem to have enjoyed!). I have however, been a consumer. A glutinous consumer who hasn't given anything back.
It's now time to change that. If I can help out one person by putting some content out there, then fantastic, and if I don't then I'm happy to have at least contributed to the community. The intention is there.
I'd love to think that in the near future I'd be contributing on Stack Overflow, GitHub, this blog, meet-ups... but I'm a realist and, well, baby steps first eh.
I recently read Ben Roux's post, Untold Benefits of a Software Blog, and it only really hit home when I started to write this post. I found that, yes I had broad points that I wanted to discuss, but not all of these had been fully explored or fleshed out. It took the process of me sitting down to write this post for me to realise how incomplete our opinions can be and I definitely think it's worth taking the time to explore these further and fill in the blanks. I'm keen to use this blog as a conduit in which to explore these incomplete areas of my thoughts and opinions.
I like to think I'm a determined person. I want to be the best I can possibly be, but I also know I'm inherently lazy. I need discipline and external motivation to keep me moving forward. An office, a team around me and a deadline are great ways of keeping motivated daily. I want this blog to also be another motivational facet.
I don't want to write about the same few experiences over and over just with different words, I want to be able to write about new and exciting topics. It's very easy to become complacent and I intend to use this blog as a means to guard against this complacency by seeking out new experiences to share.
So why am I finally taking the plunge and sharing my words? That's a good question and one I'm not able to answer fully, but I think it's mainly about maturing. I feel I'm now able to contribute something to the community, whereas a few years ago I probably didn't have the confidence.
I also think an awareness of how best to spend my time has made an impact. I've mentored a good number of developers in my career from both a technical and non-technical approach, and I've found myself having some of the same conversations with all of them. I'd never want to lose the personal touch of a one-to-one conversation, but if I'm able to share a post I've written that details an approach or opinion then that could save us both valuable time.
The final reason I decided to buy a domain, spin up a Ghost instance on Azure and start typing is due to a close friend of mine. I was sat in the pub with him a while back and I mentioned that I'd been thinking about blogging, his reaction surprised me. He was dismissive and negative about the idea. I'm paraphrasing but basically he didn't see the point; for a lot of the same reasons I listed above. That didn't sit overly well with me. Don't get me wrong, he wasn't trying to be a dick on purpose, he just didn't see the positives that I saw and I guess it took that debate for me to commit to starting this blog.
Here's to carrying it on.