I made this decision in the wake of serious thought, having considered various opinions I found on the web here and here, as well as my personal and professional growth.
I've always admired writers. Their ability to construct a narrative, to limn a world entirely from static words, to communicate ideas, and to transfer knowledge amazed me. I've read genres from across the board, seen what's keenly considered as legendary and also sadly as mediocre.
I've made up my mind, what isle I would like to belong to; what quality of content I want to publish. Consequently, I can boldly make the statement that,
For every word I write, I have read ten thousand more.
To stand on the shoulders of giants, my thoughts and opinions have been shaped from years of reading opinionated as well as technical articles, cuddling jargon, and hunting down every keyword that caught my eye.
I never considered myself to be a writer but circumstance and undeniable advantages admit me into the class. Albeit with raw opinions, unrefined skills, and imposter syndrome which lay not far behind.
Writing is an art
Writing, right from the dawn of time, has been used as a medium of communication. A means to share thoughts, feelings, and ideas. To express emotions and opinions through inert words, yet springing forth living ideas.
Historically, entire civilizations, epics, and tales have been preserved by the estate of writing. The medium upon which these writings were done changed over time but the art persisted through the times emerging in various fields and cementing its place in history as an important medium of communication.
The software engineering field seems to have taken a clue from this too. RFCs are write-ups that explain a concept concisely and have led to very important parts of the modern world lending credence to technologies like TCP, HTTP, etc.
Blogging platforms like Medium, Dev.to, Hashnode emerged to aid engineers and those alike to have a means to run rhyme to reason and put pen to paper. If you have an idea, it can easily be written down, publicized, vetted, and appraised by others.
In helpful communities, a critical feature is feedback. As stated by great writers alike, feedback exists as a key factor in writing, upon which that which is brilliant is regarded as so, and that which is mediocre is done the mercy of being corrected.
Of course, the keyword here is "helpful". The alternative atmosphere would lead to a hunting ground for smart alecks, an avenue for writers to be insulted, and worse of all for ideas, new or recycled, to be aborted right at its conception.
Yet, choosing to step out of the shadows, brave the storm and become vulnerable, I choose to put my thoughts on a page. As a sign of growth and a snipe to the fear of the unknown.
Plus, let's face it, haters will hate. Therefore, I adopt the Latin saying:
Illegitimi non carborundum!
Which when translated to English is,
Don't let the bastards get you down!
Reasons to write π§
Ordinarily, there exist several reasons to write. From a means of communication to the documentation of an action, topic, or contract. All stand as valid but my decision to write stands a mere subset of the extent of reasons given.
In making the decision to write, I considered several factors which swayed my decision to the eventual affirmative. Some of which I highlight in detail below:
1. To gain mastery πͺπΎ
"Excellence is an art won by training and habituation. We do not act rightly because we have virtue or excellence, but we rather have those because we have acted rightly. We are what we repeatedly do. Excellence, then, is not an act but a habit." - Aristotle
I genuinely want to be a master communicator, to hone the skill of the explainer and be able to construct words that best describe my thought process on any subject.
Initially, I'd been worried about giving the perfect analogy for a given scenario and had not been concerned with how such an analogy would be conceived. I was focused on the end goal and not on the journey. To give an analogy, I was only keen on reaching the peak of the mountain, not considering the climb.
In the book, Mastery: The Keys to Success and Long-Term Fulfillment, George Leonard writes,
βPerhaps we'll never know how far the path can go, how much a human being can truly achieve until we realize that the ultimate reward is not a gold medal but the path itself.β
I'd been self-critical, comparing myself to the best of the best, masters in their craft, forgetting that all I needed to be was just that bit better than I was yesterday and wait for the compounding effect to run its course.
Where for a million zeros it remains zero, but a million tiny steps (in the right direction) can take you quite far.
Right now, I've decided to stay on the path of mastery and become a master by the process. To learn the rules and not just the exceptions. To put out an idea however raw it may be.
2. To better communicate ideas π£
Great ideas deserve to be shared.
In my stint in software engineering, with the majority of my experience tilted to the front end of the web, I've come across many libraries and frameworks with newer ones surfacing every other week.
I've heard and read ideas that I agreed with and others I didn't. Writing would help me better communicate my understanding of such ideas to my teammates.
Software Engineering is teamwork and an effective team is one that can share ideas openly and collaborate.
In the past, there were scenarios I'd tried to explain a concept to a teammate with hopes it'd get adopted, only to be met with awkward silence.
Similarly, I'd tried to explain an architectural change that I considered beneficial only to be met with the doubtful intro, "So you're saying..."
In line with this, I recently encountered an article by Shawn "Swyx" Wang on when to consider blogging about an idea, which he called the three-strikes rule. The third time the charm.
The 3rd time we reference an idea in a conversation, we have to blog about it.
Swyx further explains,
By the third time you refer to an idea, itβs no longer a coincidence. Itβs a pattern. Youβre increasingly likely to refer to it again in the future. Itβs marinated in your head for a bit, and youβve likely gained some experience explaining it to others. Itβs also not so old that it may have lost relevance.
Writings also show that you know your stuff. Signal to employers that you're a good written communicator and upfront presents your views about certain technologies.
In my experience and research, even having opposing opinions on a particular technology will not deter would-be employers as a good argument would prove diligence to detail.
3. Exposure to opportunities π
It's undeniable; good writing deserves some accolades.
Asides from the obvious clout that comes with putting out quality pieces, writing puts your knowledge out in front of recruiters and possible employers.
Essentially, by writing, I want to create my own luck. Be it in jobs, speaking engagements, or community clout.
For example, consider the following:
Upon creating a newsletter and being exposed, this tweet led Sebastien Lorber to get hired to work on Docusaurus at Meta(Facebook)
Thorsten LΓΌnborg joined the Vue core team because of his work on responding on their community forum, without writing contributing to the codebase.
Just to name a few.
I've found that recruiters and employers want to reach out. Everyone wants the best and brightest working for them. This study tells of tech talent shortage.
This shows that opportunities abound, but if I never put myself out there I won't see any of them.
4. Knowledge reinforcement π§
A good teacher is firstly a good student.
To properly communicate a concept takes understanding the concept to relatively fine details. For example, writing a beginner's tutorial means you have to explain key concepts without reliance on jargon that might abstract away sections in which your understanding is lacking.
In an interview I did, I was asked what a bundler was. I knew of Webpack, Rollup, Parcel, Snowpack, and Vite. Yet I couldn't give a simple definition for what a bundler was without repeating the word "bundle"π .
Writing forces you to fill in gaps in your understanding, nudging you towards better understanding of the concept. The more you understand, the easier it is for you to communicate simply without having to respond to all questions with "it depends"π.
Feedback from the community also presents another learning route. Good explanations will be praised and bad explanations will be shredded corrected. All in all, it serves as a learning experience.
As Swyx shares while on a podcast with Kent C. Dodds,
You can learn so much on the internet for the low, low price of your ego.
5. Monetary benefits π€
Writing aids the knowledge of the writer, but it also provides knowledge for its reader. Therefore, it qualifies as a service that can be rendered and as such can be monetized.
Several platforms exist that pay developers for composing articles and or tutorials. A list of such writer programs can be found at here.
It's exciting to be paid for sharing in knowledge, and this incentive makes developers(myself included) inclined to learn more and in turn write better software.
This provides nice benefits as the community at large is uplifted. It spurs better articles to be written just as awards such as the Emmys and Oscars spurred better movies being made.
6. Preserve a snapshot of my growth π
Recently, I had to explain a concept to a new developer, it didn't go well. I noticed that I used much more technical jargon than if I'd been asked a few years ago.
I'd forgotten how I learned the concept as such my delivery was less effective. I had become more advanced and as such had left behind heuristics and simple illustrations that'd helped me understand. This is sometimes referred to as the curse of knowledge.
I want to change this. My writing would be a preserved state of my knowledge per time and would serve to help myself as well as other developers at that stage in their growth and career.
7. Monitor my growth π
Writing will provide insight into how my understanding evolves. How references and examples changed with time. My personal source of observability.
This would inform of key metrics like:
Showing topics for which my understanding is subpar or lacking,
Providing an avenue to see how best to structure explanations
Knowing what ideas seem to gain traction?
All provided alongside input from the community.
Conclusion π
In hindsight, I wish I'd taken this decision sooner. The benefits far outweigh the risks of not being good enough.
However, late definitely beats never. To those who are or ever hope to be writers, my advice is, Just write!