Where it began
5 years ago, being a typical mugger (Singlish term for a studious person ๐บ) in my school days, writing notes for myself and sharing it with my friends was a norm for me. There used to be a local popular A-Level notes platform called owlcove.sg, where I uploaded such notes.
Just wanted to find a screenshot of the platform, and I was surprised that after so long, my notes were still there ๐
Improving my writing with GitHub
However, it was only until the second year of my university where I started writing notes for more technical courses, which included mathematics and of course - computer engineering/programming related stuff. It was also then that I got to know of some cool folks that started an open source community within the university called OpenSUTD. They organize a lot of events and initiatives in school, and one of them included a course notes platform for people to contribute to. However, the course platform didn't have a UI for people to contribute their notes easily like owlcove.sg, as the people behind OpenSUTD were staunch advocates of using GitHub and insisted on using it for communication as well. So I learnt how to create a pull request (I was still new to programming and never used GitHub beyond just uploading single-commit repositories) and made my first pull request. I was lucky enough to get a reviewer who gave me a lot of tips on improving my writing.
The tips included how to improve markdown formatting of my notes, since I didn't know there were specific markdown elements such as code blocks for showing code (yes I was once one of the people who copy-pasted code in plain text) and the importance of heading levels. He also gave me tips on how to phrase my explanations better.
From then on, I became a lot more conscious about how I explain stuff to people over text and digital notes. And in every new repository that I make for my school and side projects, I always made sure to include a descriptive README.md
.
Writing Practice
This habit carried on even as I attend community events and workshops outside of my school, where I helped to contribute documentation in the form of GitHub gist or an extensive README.md to the accompanying repository for participants to follow along the repository even after the physical workshop is over.
An example of a community workshop organized by the GeeksHacking Singapore Community that I contributed notes for
Eventually, school got a lot busier. I stopped attending external events and working on side commitments. By the time I graduated and transitioned to work during the COVID19 period a year ago, there weren't any more physical events. I also lost motivation to work on side projects ๐ข.
The first article idea
That is until I was placed in a grad training programme in my company where I often taught my peers about React fundamentals and I had a lot of spare time after work. At the same time, I also picked up a game called Genshin Impact - which I still play on a daily basis now ๐คช. The combination of both factors then gave me the idea that:
It will be cool if there are tutorials out there that use content from games or anime to make websites, rather than the plain old Star Wars/Marvel/whatever. Maybe I can try write such a tutorial series for people new to web development like my fellow grad co-workers, using an API that fetches graphics from the game that I like. Maybe it will attract fellow gamers or anime fans to pick up web development if they were ever keen.
So then I had the following preparation process:
- I will only use very basic HTML, CSS and JS to create a simple website that shows a character profile card rendered using data from an open source game details API. This took 2 hours.
- Then I relooked at my own code to see how I can split it up into smaller portions that cover different fundamentals and tools for web development that a newbie can learn. Based on the split, I figured I could write a total of 3 articles for each portion respectively and make a series.
- However, writing the first article alone took around 7-8 hours.
- Because I was uncertain if the article was too long, I tried to get feedback from one of my friends based on the draft. Luckily, he does match my target audience of people who have not done web development before.
- Based on his rough estimate, it takes around 20 minutes to go through the article entirely in one sit - where he did not skip any practical. He thought that the time was just right for a tutorial article, even though he has never read any other tutorial article before.
The preparation process above gave me confidence to publish the article the world. But the next hurdle will be to decide where to post the article itself.
Publishing the article to the world
The only blog platforms I've heard of was Dev.to because of my previous participation in Hacktoberfest. Coincidentally at that time, they were advertising the CodeNewbie Community on their website. So I decided to take the plunge and post my first official tutorial article to the world on CodeNewbie Community, since the users seem to match my target audience more.
After a day of posting, I was elated to see the following tweet.
CodeNewbie@codenewbies"APIs are intended to be abstracted so that they can be used easily without going into depth on what they are or how they work."
๐๐ฟ @estee_tey
#CodeNewbie
community.codenewbie.org/lyqht/how-to-nโฆ19:42 PM - 04 Mar 2021
Later on, they also featured that article on CodeNewbie's weekly newsletter ๐ It made me really pumped to continue writing. I proceeded to write and publish the second article to the tutorial series after a few days.
However, as days pass, I noticed that the second article that I wrote wasn't getting as much traction. I wondered if I did something wrong. I asked the same reader to review my article and he enjoyed reading it as a sequel, so I was pretty confused.
Not soon after, there was an internal blogging contest in my company, so I tried my luck and wrote a new article that was based on the lunch & learn session that I was voluntold to do at work. Since this topic this round targets the general developer rather than just newbies, I posted it on Dev.to instead. Somehow this article got way better reception than my first and second article combined, even though it took a lot less effort to write. But that might be due to the previous hours that I have already spent to prepare the lunch & learn session previously, and also artificial inflation of views due to my co-workers checking out the blog contest entries.
Although I got the 2nd prize for that blogging contest, I started having seeds of doubt planted in my mind. I wondered if the articles that I have written so far were actually useful to anybody.
Burnout
I apologize in advance that I cannot disclose too much about my work projects due to the nature of my job. You will understand why if you do choose to look up my company. This burnout section might be a bit distressing, but I hope that you don't skip it to paint a more complete portrait of what I've been through (and many other writers) rather than just the good parts.
I was later assigned to work on a project that was emotionally and mentally draining.
Still, I tried to push on with writing. The lack of reception on my second article of that tutorial series often came back to haunt me and cast doubt on whether anyone would even read the final article of the series. Even though I had a proper plan before to conclude the series (as you saw above), I could no longer make myself write it and publish it. Then, in an attempt to get out of that writer's block, I tried to publish 2 generic articles to expand my boundaries of writing but they too received dismal traction. Because of the lack of written feedback from online readers, I really couldn't tell what I was doing wrong. At that point of time, I came to a depressed conclusion.
If what I'm writing isn't benefitting anyone, then maybe I should just learn stuff by myself without spending extra time to bother putting it all into words.
Hence, the confusion and disappointment coupled with the stress from my work made me lose my drive to write once again. For the time period that I was in the project, I feel like the cat below every day.
After that project, I was assigned to yet another project - but this one was even worse because of the nature of the project and because I was the only grad in an already closely knitted team of seniors. I try my best everyday to keep up but I still feel like I'm tumbling down. I even had emotional breakdowns outside of working hours because of the cumulative stress from my project and also because I failed to live up to my own expectations of myself. I also started binging DOTA out of despair, and while it is fun, it didn't help a lot in helping me find a sense of purpose.
This is when I know I have to change my lifestyle - some way somehow - beyond my work. I had to find something that I enjoy doing and enriches my soul. I reflected upon my life and I realized that I didn't really want to stop writing. When I created notes when I was younger, it was never about the reactions after all. I just wanted to share my knowledge and hopefully leave remnants of my knowledge and existence around that make people feel proud of themselves, happier and richer in life.
This month, I gathered my courage to try writing articles again, despite the doubts I still have about my writing ability and amateur developer experience. So here I am, once again writing about stuff that I've learnt along the way in becoming a better developer, joining #2Articles1Week challenge and Hashnode Bootcamp for improving my Technical Writing.
To end off this article on a positive note, I would like to share this cool illustration that my co-worker shared with you who may also be struggling with something and feel stuck on something.
You too can change from 1 to 1.01, starting today. ๐งก
Acknowledgements
Shoutout to the smol blue birb fans that I have on Twitter, the followers I have on CodeNewbie , Dev.to and Hashnode.
Big kudos to my wholesome life companion Teck who has always been supporting me throughout my life.
And of course - you, who has read the article all the way till here ๐
Conclusion
Thanks for reading the article!
If you enjoyed reading it, react, feedback and follow me here and Twitter ! ๐ป๐ฆ
And if you have any questions or stories to share, please leave them below the article.