What have you learnt writing as a developer?

SATURDAY, JUNE 27, 2020 12:00 PM    

What is your story? How did you start writing your blog? Was it something that you decided to try since the start of covid? Over the months I’ve started to post some of the learning and technology I’ve came across at work. Over the months of writing, I found myself gaining so much more than what I started out to do. Everything starts with a single step. Before we take our first step, we often have a vision of how that finishing line may look like. We may also have some perspective of how the journey itself may look like. What do you know? As you take a step forward, and then another. You decide to take a pause and look back. You find your perspective of the world has changed just so much!

Today, I will be talking about two key parts of my journey:

  1. How did this whole venture start?

Everyone starts their journey with a goal in mind. Simple and straight forward objectives to achieve! (:

  1. What I’ve I learnt thus far?

Beyond the initial objectives, I found myself learning just so much as I share my learnings online. Not only does it help me to understand different topics better, it actually help me to change my perspective towards problems and better position me for my growth as a software engineer.

A man on his long journey ahead

#1. How did this whole venture start?

It started with just 3 simply purposes:

  1. Being more detail oriented

I wanted to delve deeper into each of the topics and technology i am learning at work. So much to cover, but never really understanding each of it. The last thing you want to do is to get the job done without properly learning the best practices and finding that growth in you.

Take a pause, and look a little closer

  1. Hone my technical skills

This platform was intended for me to explore the different web development tools and understand the nuts and bolts behind the delivery of a good website. You are worth the value you give. And if you want to create value for people, you got to put in the work to hone that technical skill and deliver that tip top quality work

There is no free meals in the world, if you want to create value, you got to earn the craft

  1. Improve on my writing

I’ve always been a thrash writer. I even started out writing my posts in point forms as I was never able to articulate my thoughts coherently. But I realized the ability to articulate your point in a succinct and concise form is an art that needs to be developed. Over the months and numerous articles, I’ve started to learn how to put my thoughts into words and organize my thoughts for a meaningful sharing.

Here’s a reference to my first blog post to understand the drastic difference haha! Joshua’s first post back in January 2020

What i’ve gotten from this pet project didn’t just stop here. Rather, I have taken away so much more than what i intended to learn from the start. As i reflect back, I realized i’ve learnt way more than what I’ve intended to when i first start out. I believe many readers can resonate with that as well.

#2. What I’ve I learnt thus far?

I’ve learnt so many lessons from my writing adventure thus far! In this list, we will go through the top 5 of them. Do leave a comment below if you can resonate with any of them.

1. Community is king

To consistently be able to gather feedback on whatever you’ve written helps to create some discussions via the net. Especially if you know you’re touching an interesting topic that people has been talking about.

It is never to find the most glamorous topics to talk about just so you can be ‘part of the gang’. That sounds more like a FOMO to me. Don’t be a FOMO.

Find out because you genuinely want to learn. There isn’t time to be someone else, chasing other people’s attention.

In the space of technology, there has been so many topics and conversations about open-source. What is open-source?

Open-source software (OSS) is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. - wiki

Open-source have its benefits that interestingly seems to contrary to common business thinking.

I want to start my own solution, and I have to open source it for the world to see and replicate?

Open sources have many benefits, of the many, i’ll list out a few:

  • Ability to start small
  • Solid information security
  • Attract better talent
  • The power of crowd
  • better security
  • Faster to market

References for open source advantages:

2. Writing leaves a story to be told a thousand times

It sounds no-brainer but as I was part of the process, i came to see how informative articles allows you share your understanding of a topic multiple times without having to repeat yourself. Have you encountered situations where you have shared your story with your group of friends, and suddenly another friend of yours joined the conversation and realized he has missed out on the entire story, asking you to repeat again. But the efforts to repeat seems futile and you don’t seem to be able to recall the story as well as the
first time around? Frustrating and hair-pulling

This is the situation writing helps to avoid. Write once, and the story lives on. Even for yourself. Sometimes we need a little self reminder of our own learning and sharing.

Even in the technology space, you find the need to do documentation. Technical documentation helps an intended audience use your product, understand your processes, and get unstuck. This audience can be end-users, administrators, colleagues or technicians. Whoever they are, documentation is intended to be clear, searchable and helpful for these people to understand and use your product or services as its intended for. A feature that is hidden and not shared with the audience is no feature at all (Unless it is intended to be hidden away of course).

Writing solidifies the conversation

3. Train of thought is coming through

Tackling a new topic can be overwhelming when you first start out. You will find yourself bombarded with a ton of new technological terms. There is need for you to organize your thoughts, make sense and piece them together like a puzzle.

Have you done a jigsaw puzzle before? You don’t just tackle the pieces in the middle outta no where. You tackle the easiest parts, the sides. You try to find the ‘starting’ point of the information you are reading about, and that usually starts with a “what” question. “What is Cache?”, “what is WebRTC”.

What are you dealing with? Find out with the “what” question

Once you have a good understanding of the tool you are learning about - which is the ‘what’ question. The next thing you want to learn is “how”.

  • How does cache work? - it generally works by storing in data in a fast access hardware such as RAM

  • How does WebRTC work? You can understand that by reading articles. One of which is written by me! Really bite size with good youtube video to solidify the learning. How to make video call application

How does a car work? How does a tool work? Find out the mechanics of the tool using the “how” question

How questions allow you to make sense of the use cases in which these tools are created. What is the hammer for? It is to hammer nails into planks. Once we understand how such a tool operates, we can then start to understand the purpose of the tool.

But people usually just stop here at the “how” questions. It is never easy to learn new subjects or tools if you are utterly unfamiliar with the nature of such a tool. In the internet era where information are so digestible and are often presented in small chunks through social media, shortly we lose the grit and resilience to grind through information.

If you are attempting to learn a new technology or coding language, say python. By this point of understanding “what is the tool” and “how does it work”, you are already swam with a ton of new terminologies and mental models that you can no longer follow the documentation. You will also start to feel your body heating up and a little uncomfortable sweating in your seat. (Speaking from experience from Singapore). All these experiences of exasperation and helplessness are pretty common! Don’t worry. Software engineers whom are actively coding and churning out new features face such feelings almost every other day. sip a coffee

This is fine meme This is fine

After you have taken your break, we will tackle the next question of the learning process.

The next question you should strive to ask before you properly take a break is the “when” question. When do we use this tool?

  • When do we use cache? You use this tool when you have frequent database access, or high read requests such as a news article site. Fetch once, store at the front of the store, so people can accessible access it when information is requested.

  • When do we use WebRTC? When you want to utilize browser’s technology for media exchange which includes video and audio call use cases.

Find out when you will need to use a tool? Ask the “when do you…” question.

Fundamentally, the end goal of learning is to understand why and when will you use this tool. Mastery comes from the use of right tool for the right task.Until this point you have probably figured out these 3 questions “What”, “How”, “When”, have 2 remaining buddies - “Who”, “Where”. Given the examples and the train of thought, give it a try on the who and where questions! The end goal is to find the purpose of the tool, and when to use it.

Following a simple guideline as such can aid you as you navigate around challenging or foreign technology that crosses your path. Remember, who what when where how. Attempt this approach the next time you attempt to learn a new technology (:

4. Finding your own voice

I have to admit my writing was pretty thrashy when i first started out. I was writing posts in point form because I wasn’t able to find the coherence needed to put my thoughts into words. Over the months, this ability starts to develop and I find myself to be able to express different technical ideas as I understand them to be. I managed to find the words to string together to form the idea and flow I wish to convey to my readers.

Beyond the writing style, writing my articles has always been about sharing knowledge. Knowledge is one asset that is given to another and there are collectively more knowledge in the pool. It has always been sharing knowledge in ways that are comprehensive, bite size and relevant to the intended audience of your posts. I enjoy and find myself learning a ton more when I am required to present these information to the public. I wouldn’t want to mess up presenting inaccurate information. That would make me a fake new spreader. And that is the last thing I ever want to do.

All in all, such an initiative helps me to find the voice that feels “the most me”.

Knowledge is one asset that is given to another and there are collectively more knowledge in the pool.

5. Share because you never know who could learn from you

You never know who might find your information useful! If it is organized and coherent, you will find that your knowledge could be the very information that someone else in the world is googling and trying to make sense of. Your piece of knowledge in the world wide web could possibly be the one site people are googling for.

No, I am not advocating blind optimism, but rather recognize a possibility. From that len, all the more we want to make sure we do good research into the topics that are written.


The biggest lesson I’ve taken away is: whatever resources or ideas you have on your plate is there for a reason. If you want to see the world for what it can truly give you, you got the take your first step. Then another, then the other. Keep trying, keep learning, keep making sense of new technology. It will help you see your problems differently, and in the space of technology, when you start to see your problems from another lens, you will come to realize that your problem often times isn’t as tough as it was first perceived to be.

Found an interesting poem talking about perspective. Hope you enjoy!