My technical writing journey
An inclination towards writing
I see myself as one of those people who are better able to express themselves in writing rather than speaking. Growing up as an introvert, I discovered that I enjoyed expressing my thoughts and ideas on paper. In my High School days, I would usually top my class in English composition. I remember once getting a score of 18/20 in an essay, while most people scored in the 10 – 13 range!
My tech stack choices are sometimes heavily influenced by the quality of the documentation. I actually enjoy writing docs myself, and I tend to put some decent effort into the process. I think this is well reflected in some of my projects, for example, readme-coverage-badger, cookiecuter-wagtail-vix and ubuntu-server-setup.
When I got into software development, I realized that I learnt a lot from reading, and a huge part of that reading was from other developers' blogs! Sometimes, you read a tutorial, and as you follow along, you discover that you have to make so many modifications to get things working on your machine. Or perhaps you are trying to solve a specific dev problem which requires some bit of research – scouring the inter-webs for information and combining this and that to build a solution to your problem. What happens when you have to do the same thing again, say, two years from now? "Well, go back to your old code" – you would say! But we all know that future you may look at the code (s)he wrote in the past and have absolutely no clue what is going on!
This is why I thought that it would be a good idea to start a blog, so that I could have a place where I could document the things I learned, not only for the sake of future me, but also for others who might encounter the same challenges I faced.
Early attempts at technical blogging
I setup my first blog sometime in 2012/2013, using Wordpress. I wrote a few articles (less than 10!), but was very inconsistent, and I ended up shutting down the site.
After learning Python, I decided to build my own blog, and settled on Pelican – a powerful and popular python-based static site generator. This was around 2014/2015. Again, I wrote very few articles, mostly haphazardly and without a proper plan and schedule.
I started getting frustrated with my failure to write consistently and maintain a decent level of organization around my writing and learning. After a long period of inactivity on the blog, I embarked on a challenge to rebrand myself and rebuild my blog. I even wanted to write my own Pelican theme and make it open source. I got started developing a custom theme using UIkit, but the project went into development hell and I ended up abandoning the whole notion of building my own blog!
I was getting super busy at work and I didn't have sufficient time to devote to building my own blog. I learnt about platforms like medium.com and dev.to, where I was quick to sign up, but never wrote a single article on either platform! Notwithstanding, I still had the desire to write and have my own space on the web where I could pen down not only my thoughts and ideas, but also share what I learnt in my dev journey.
Well, fast-forward to the year 2020, and I discover Hashnode through @sikaili99! I was immediately blown away – custom domain, a fantastic and growing dev community, SEO, I get to own my content, GitHub integration ... Wow! Such awesome! I thought to myself, "this is it, it's time to get serious!"
Towards the end of 2020, I sat down and did some bit of planning to decide how I was gonna proceed, seeing that my previous writing efforts were mostly unsuccessful. Here are two important things I did:
- I thought carefully about the content & focus of my technical blog. Because I love Python, I decided that I would largely focus on Python and related technologies. This is why I chose importthis.tech as my domain!
- I resolved to start by writing at least 12 articles in 2021 – that's one article per month.
This is my 8th article, and I wrote it in the 9th month of 2021! Not too bad, right?
I have received some positive feedback on a few of my articles, and this has inspired me to keep writing. Getting to sit down to write an article can be a challenge, but the feeling of satisfaction that I get when I hit that Publish button is exhilarating, to say the least! It's like running or any other physical exercise – getting up to go for a run or hit the gym isn't easy, but we all feel good when we're back from exercise, and are often glad that we went!
Being a self-taught developer seeking to switch careers (from civil engineering to software engineering), I see technical writing as a way to demonstrate my abilities and document my growth in the craft. I see this as one of the means to showcase my work to a potential employer!
Further, the prospect of actually earning income from technical writing is another motivation factor. I have read a lot of stories of developers like myself who earn passive income from their writing.
This is my first year of maintaining a decent level of consistency in my technical writing, and I am learning a lot of things along the way. All of this would not have been possible without Hashnode. You guys are the best, and I'm really grateful for the many opportunities that you've brought my way, including the Technical Writing Bootcamp, which I attended for the first time on September 13th, 2021. I was really encouraged not only by @didicodes and @tanoaksam, but also by my fellow participants, most notably @winnekes – who's story is very inspiring!
Where do we go from here?
As the year comes to a close, I'll need to sit down again to reflect on how I fared this year, address some of my weaknesses and work on building my personal brand. In the meantime, the writing continues ... 🚀