It’s about time I started a blog
11 Mar 2021I’ve been a developer for a long time, and for some reason I’ve never started a blog.
Well that’s not the whole story. There were plenty of times I tried to start a blog, but developers are notoriously bad at finishing side projects and there are lots of reasons I never got far enough to hit "publish".
Side projects
As part of a development team at BridgeU we make decisions all the time about how to build new features, which technologies to use, what approaches to take and which to skip.
Everyone on the team has an opinion on those decisions, but ultimately only a fraction of those options get investigated and implemented. Some developers don’t have the chance to see their ideas followed up, and that’s true regardless of how open and objective the discussion was.
Thanks to 10% time we do have the chance to explore our "spare" ideas during work hours, but my job is also my hobby and I’m very lucky (and grateful) that I can take extra time to learn about tech outside of work.
This extra learning (outside of the 10% time) isn’t directly work-focused so it doesn’t feel like I’m taking extra hours, and so it doesn’t feel like it affects my work/life balance. That’s important because if I felt like all of my computer time was work time it would be really bad for my meantal health.
For me, having a side project to work on lets me try out ideas without there being consequences to making mistakes or getting things wrong. That helps me understand those ideas and technologies better, so I can give better-formed opinions when it does matter.
But even with that in mind, none of my old "blog" projects have ever got off the ground.
So what was wrong before?
The simple answer is, nothing was wrong. None of the other times I started making a blog were actually about making a blog.
It turned out that every other time I thought I wanted to write, I was actually more interested in some other more technical part of the blogging experience.
The most exciting part of software development to me is solving a problem – for example modelling the system and implementing things at the right level of abstraction – so I always treated a blog project as another technical problem to be solved. Before I was ready to write I wanted to make sure I’d got the framework right: Could I tag content? Would it be hierarchical? How would code snippets work?
I never got to the point where the writing was the thing I cared about.
And that’s fine. The important thing about a side project is that it scratches the itch you want to scratch at the time.
What’s different now?
I’ve been a professional software engineer for nearly 16 years, and a senior developer for 6. My responsibilities have changed, and although I still write code it’s a lot more common for me to be involved in higher-level decisions.
It’s more important for me to be able to communicate my thoughts, teach other people and enable them to communicate.
So I’ve spent a lot of time thinking about all the things I know that I haven’t really shared, or knowledge that I’ve shared in one-on-one conversations that probably hasn’t gone any further than that.
Now my drive is different. It’s not so important for me to technically "solve" the process of building a blog. Although there were a lot of decisions to make to launch this site, I was able to ignore a lot of them because they just weren’t blockers. Remember, shipping is the most important feature.
Although I still had to make a bunch of decisions to get this site up and running (which I’ll talk about in future posts), I was able to just ignore a lot of them until later on. Before I would have treated them as blockers and just never got to finish step 1.
What’s my goal?
Firstly, to launch a blog. If you’re reading this then congratulations – I did it!
Secondly, to write content. I’m launching this blog just after my birthday, and I’m setting myself a goal of 100 blog posts in the next year. Some of them might be short, some of them might not be interesting, but what I’ve learned is that it’s important to keep up the momentum.
In 2016 I completed a challenge to post a picture every day (which I eventually turned into a photo book), and the biggest driver was continually putting up content for other people to see and respond to. No one would have cared if I’d stopped, but people were surprisingly invested in seeing me continue.
This won’t be surprising to anyone who’s a regular content creator, but it’s a powerful motivator and I’m hoping to lean on it.
Thirdly, to get better at expressing my technical thoughts.
I think I’m a very logical person. I’m very confident that when I believe something, I can back that up with a well-reasoned justification. But that doesn’t mean I’m right, and it doesn’t mean I’m any good at explaining things in a useful way.
So with my blog I want to practice trying to explain things in writing. I’ll probably try different approaches in terms of code samples, diagrams and storytelling, but in general just by trying a lot of things I’m hoping to make my content better. Remember that through quantity, you’ll come to create quality.
Finally, I want to share my opinions. I have a lot of them and it’s not fair that you don’t know what they are. Some of them are pretty good.
So here goes, with hopefully a year of good content. I’m on Twitter at @garethadams - tell me what you like!