On Writing… a Software Development Blog
Advice for Those Who Want to Contribute Their Programming Experience and Knowledge in Writing
One of the best parts of software development is the vast amount of information available to those looking for new tools or answers to the never ending questions that arise. Blogs make up an important part of the online resources that developers use to learn and improve.
No matter your skill level, you can and should contribute to the collective knowledge with your own software development blog. You might be hesitant to write about software development if you’re just starting out. Maybe you think you have nothing to offer; I disagree. Those with loads of experience can overlook certain things in their articles because they take them for granted. As a beginner, you know exactly what gives you trouble and the process by which you overcome the challenge. I encourage you to share your experiences for the benefit of the community and those that come after you. Plus it’s a good way to showcase your technical skills and writing ability to potential employers.
I first started writing blogs while going through the Flatiron School software engineering immersive bootcamp. My first blog detailed the uses of one specific method in Ruby. They got better from there. After writing a weekly blog for a few months, I started to recognize where I could draw my topics from.
The Two Different Types of Blogs I Write
I noticed that all of my articles fit into one of two camps: technical or nontechnical. The technical articles I write always include code snippets and detail precisely how to accomplish a certain end with a certain language or technology. The nontechnical articles offer insight into situations that software developers might find themselves in; what you’re reading right now is one of my nontechnical articles.
Within the grouping of technical articles, I noticed another trend. I have three ways of choosing topics for the technical articles I write.
Technical Blog Inspiration
- Overcoming a difficult challenge — once I’m able to find a solution to an issue that caused me a lot of trouble, I find that solution worth sharing. It might save someone else the trouble that you had to push through. Example: https://medium.com/analytics-vidhya/using-reacts-state-hook-inside-the-effect-hook-without-an-endless-re-render-e9dbf09ec105
- Sharing a useful tool — it could be a package that solves a problem or a Chrome extension that makes coding more fun. If I’m happy I found it, I write an article explaining its benefits and how to unlock them. Example: https://medium.com/analytics-vidhya/creating-and-testing-responsive-style-in-react-a7e55c39eebd
- Accomplishing something — when I successfully implement a feature in my project, I show it off and walk through how I did it. Example: https://medium.com/analytics-vidhya/securely-send-emails-from-rails-app-with-action-mailer-and-figaro-gem-26e4ff9fe5da
Once I know my topic, I try to contribute to the article as much helpful information on the topic as possible.
What I Include in Technical Blogs
There is a balance to be struck in technical blogs. How knowledgeable should we assume our readers are? This is not a question that has a universal answer; it’s one of those that requires each writer to decide for their own blog. The question should be in the back of our minds though, so we can write accordingly.
I typically assume my reader has an understanding of the topic similar to mine. When I write about implementing a Ruby gem in my Rails app, I assume whoever reads it is familiar with Rails. If they aren’t, there are other articles to introduce Rails to them before they work their way to my article about the Ruby gem.
While I make certain assumptions about understanding, I try to walk through the concepts from the very beginning to the very end covering every single step in between without assuming the reader already knows any of the steps. I know from experience how frustrating it is trying to follow a blog’s explanation only to find they’ve left out something crucial, because they assumed their readers knew something unwritten was required before step 4 or after step 8. For example, I’d include the process of adding the Ruby gem into a project’s Gemfile even though it’s understood for most Rails developers that this is necessary before using the gem.
There’s another balance to be struck in the technical blogs. I decide which code snippets are necessary for explaining the topic. Code snippets are a must, but I don’t want to overwhelm my reader with too much code to read amongst my directions.
Something that is a plus but not a must for me is examples of what the code accomplishes. Some of my topics solve an issue without creating anything to see. However, I include pictures or gifs of a working feature as inspiration to the reader when I can. For example, my article about the react-infinite-loader npm package includes a gif showcasing the Infinite Scroll feature on a page of my website.
Achieving Infinite Scroll with react-infinite-loader npm Package
Infinite scroll is great for keeping users on your site longer. Here’s how to achieve it easily with a little help.
Use information from other sources and include links to those sources. I don’t invent any of the information I include in my blogs. What I do is take information from multiple sources and blend it together in my blog that now offers useful information well packaged in one article.
While the majority of my blog articles are technical, occasionally I like to write about my experiences as a software developer that I think others might benefit from reading.
I choose to write a nontechnical blog when I gain insight from a situation specific to software developers. Most of my nontechnical blogs have something to do with the job hiring process for software developers. Since these experiences are new to me, I share them along with the insights gleamed for the benefit of those new to these experiences too. I’ve written about topics like code challenges and case studies.
Technical Case Study for Software Developers
What you should expect going into a technical interview that involves a case study
These articles do not include code snippets; they offer readers the knowledge of what to expect of a situation and how to prepare for these situations.
Try to use some of my insights writing software development blogs to your advantage. The most important thing to do in order to write a good blog is to read, learn, and code your own projects. If you do that, your blog topics typically come to you.