Every developer’s virtual toolbox should contain at least a text editor, a GitHub account and a blog. Being a developer is much more than knowing how to code. Developers must learn and adapt to new technologies, communicate with their peers in order to explain obscure points, and structure their thoughts in order to formulate solutions. They must also have an online presence and a professional network. To these ends, a blog is an essential tool for any developer.
A Developer Blog is a Learning Tool
“Write about what you learn.” That was probably the best piece of advice anyone has ever given me. This nugget of wisdom came from my 42 mentor, Baptiste Devessier. If not for him, this website would never have seen the light of day.
Ruminating and Researching
Writing allows you to slow down your thinking and ruminate on what you learn. Without this writing process, it is much too easy to think you understand a point intuitively, even though you find it difficult to explain. Writing an article can reveal this kind of pseudo-knowledge. Forcing yourself to sit down and find a good way to explain it is the best way to consolidate this piece of knowledge. It requires you to research more deeply and come up with further tests.
Writing is also a conversation with yourself. My articles are explanations to my past self, who didn’t have the knowledge that I recently acquired. Keeping a record of your progress, like a log book, allows you to measure your own progress. It also allows you to refresh your memory in the future, if need be.
A blog is also a way to open-source your learning process. At 42 school, we have no teachers, we learn thanks to our peers’ criticisms. In that same spirit, a developer blog is a tool that allows you to expose yourself to online criticism. It’s an enriching experience when someone shows you your mistakes so they don’t cement themselves as fact in your knowledge.
So a developer blog is kind of a knowledge debugging tool.
An Opportunity to Learn about Other Web Fields
Additionally, creating and maintaining a blog is, in itself, a learning experience. On top of learning to write content, you get to discover web design, WordPress or the web programming languages. Then there is search engine optimization and content marketing.
Acquiring basic knowledge of these other fields can only be an asset, especially for web developers.
A Developer Blog is a Communication Tool
By essence, writing is communicating. The more you write, the easier the words come. Writing emails, documentation, or anything else becomes easier as well. Even in person conversations become more productive. A blog is an opportunity to practice your communication skills regularly.
The articles on my blog are available in English and French. Writing in both languages allows me to learn the specific terminologies in each. For example, an “array of integers” in English is a “tableau d’entiers” in French, a “child process” is a “processus fils”. Sure, most French developers will understand the English terms, but maybe not all.
A Developer Blog is a Tool to Establish an Online Presence
Communicating is also making yourself known in a professional capacity. Building an online portfolio with GitHub is vital, but establishing an online presence outside of that network is just as important.
A professional blog can make the difference during job searches. A recruiter will no doubt be more confident hiring someone who has established themselves through their blog over someone with no other presence than a GitHub account. Your blog displays your thirst for knowledge, your communication skills, your expertise, your attention to detail and your work ethic.
Besides, if you establish yourself as an expert in a particular field through your blog, it’s likely you will receive job offers without even applying. These offers from the hidden job market don’t get listed on recruitment platforms. The vast majority of all job opportunities are part of this hidden market!
What we write now, even as students, will stay relevant for years to come. It’s an investment in your future.
A Developer Blog is a Tool to Help Others
A blog is also an investment in the community. Without all the tutorials, articles and videos I consume, I wouldn’t be able to learn as much or as quickly about computer science and programming.
When you have a blog and share your knowledge, you’re lending a helping hand and paving the way for the next developers who face the same challenges you did. In the spirit of peer-to-peer learning, you shouldn’t just take. There is a duty to give back and contribute to the collective knowledge pool. And sometimes, you even get a little thank you note that warms your heart.
Ready to Create a Blog?
If it is such a remarkable tool, why don’t more developers and computer science students have a blog? Maybe they have the same doubts and objections I did before I took the leap.
“I can’t write.”
If you can speak, you can communicate. If you can communicate, you can write.
Yes, writing is also a skill. And it isn’t easy at first, the blank page can be intimidating. But with practice, words come easier.
After choosing a subject to write about, it’s time to research and take notes. All of a sudden, your draft isn’t blank anymore, it’s filled with notes! Then all you have to do is organize those notes in a coherent, original way.
Another good place to start would be writing a tutorial. All you need to do is make a list of all the steps it took to get to a result. If you just created a WordPress blog for example, you could start with a tutorial about how you installed and configured WordPress.
“I’m worried about plagiarizing or paraphrasing.”
If I can’t reformulate a definition or a concept in my own way, that means I don’t understand it well enough and I need to do more research.
In that case, it can also be useful to find a way to test what the original author meant. When you test with your own code, you might even end up finding another subtlety that the source didn’t mention…
For those who know or are learning a second language, there is another trick to avoid accidental paraphrasing. Since most of my sources are in English, I usually write my article in French first and then translate it back into English. A lot of the time, you need to modify the sentence so much during translation that you end up finding a new way to express the same idea. If I can’t translate my source into French, that means I didn’t quite understand what the author meant and I go back to the research phase.
“I don’t know enough. You have to be an expert to have a developer blog.”
No, you don’t need to be an expert to start writing about something. On the contrary!
Ignorance is the place you should start writing from. I find it much easier to write an article at the moment I discover something new. Writing is a process by which I learn, it isn’t a recap of what I learned years ago. And, since the subject is new, there is a desire to scream it from the rooftops when I get a eureka moment! That’s the feeling you need in order to conquer the blank page.
Besides, a writer with decades of expertise might make assumptions about the audience’s level of knowledge. That could confuse the overestimated reader. The reader will often find the writing of a non-expert much easier to absorb.
“I don’t know where to start.”
Programming is a vast ocean. You should start with what interests you the most, or with something you don’t quite understand. My first article on this blog was about memory allocation in C with malloc, which I wasn’t very comfortable with. Now, I can say I’ve mastered the topic.
Forget “write what you know”, write what you don’t know!
“Who will read my articles? There are so many about programming already…”
The first thing to remember is that the goal is not to have readers. The goal is writing for yourself, writing as a way to learn. And at first, you will be writing into the void. If other people take the time to read your articles and find them useful, that’s a bonus. But if you write enough, with passion and care, you will produce quality content that readers will gravitate towards.
I always write the article that I would’ve liked to read when I was starting a certain project or when I was facing a particular challenge. With a rule like that, your work will, by definition, stand out among other articles on the same subject.
It’s happened to all of us: you watch video after video, read tutorial after tutorial without managing to grasp a particular topic. Then you find the perfect explanation and it all clicks! It’s not that the other explanations were bad, and it’s not that this particular explanation was objectively better. It’s just that the perspective of this author resonated with your own. Each one of us has a unique perspective about a topic, and all deserve to be heard.
“I don’t have enough time to write.”
I thought I would never have the time to write blog articles during my studies, especially with the 42 blackhole inexorably counting down the days until I get kicked out of the school. But writing and studying aren’t two incompatible things. You can do both, they feed each other. Among the millions of tabs opened in my browser, there is always one with a draft to take notes when I research and when I code.
Yes, writing takes time. And yes, there are never more than 24 hours in a day. However, maintaining a blog doesn’t necessarily mean you have to dedicate large chunks of time to it. You can adapt your blog to your situation: there is no rule that says you have to publish a 3,000 word article every three days. An article can be very short and precise and you can publish only once every two months. The important thing is to get into the habit of writing and publishing regularly.