Back

Hello World!

Reflections of my software engineering career and plans ahead

17 December 2023 — 5 minutes read

Hello World!
Image courtesy of NEOM from Unsplash

After three years of my career as professional software engineer, I’ve finally decided that it’s time for me to write and share my journey in the world of software engineering through this website.

But why? Why now instead of one or two years ago? What motivates me to begin at this particular moment?

A Flashback to the Past

In the past, I have built my own personal website in May of 2022. The website itself contains nothing but a little bit of introduction and a showcase of personal projects adorned with a touch of fancy CSS and JS visual tricks.

Looking back, the primary reason for building my personal website was to showcase my (admittedly lacking) skills in web development. As time goes, I started to treat my website as my own personal code playground to test out experimental ideas that pops in my head from time to time.

However, I soon realized that I lose interest in keeping it ‘alive’ since it’s just a collection of random ideas and whatever trends mashed up together in whim. Ultimately, I feel like the old personal website didn’t contribute to my growth as a software engineer. So, I made a decision to abandon it and build this website from scratch.

You might wonder why I feel like the old website didn’t help my growth, even though it was a personal playground for me to explore and test my ideas. Part of the reason was the lack of commitment. However, the most crucial is that I learned very little from building my old website.

At this point, I received a hard lesson that creating my personal website isn’t enough since I only learned a little. What makes people learn then? Pondering for answers for days, I accidentally stumbled upon learning in public. After reading the article, I finally found out the missing part of my learning journey is the feedback loop.

The Feedback Loop

Any kind of professional that wants to up their game knew that learning is a continous process. What I don’t realize during my previous journey is that I learned everything in private. Sure, I’m open-sourcing this website since the dawn of its creation, but I shared it for the sake of sharing it. I create stuff for my own amusement and doesn’t share or seek feedbacks. While this isn’t a bad thing since you still learned something, it’s not the kind of learning that makes you truly grow.

When you are embarking on a learning journey, it’s very important to have someone (or something) that got your back. Remember that you are learning, you are expected to not have enough knowledge or expertise to the particular subject you are learning, or you are simply looking for more expertise. The fastest way to gain knowledge or expertise is by having another entity that have more knowledge taught you either directly or indirectly. Great! Now we figured out the best way to learn. Now, we only have to figure out how to have another entity bestow us with knowledge.

Now another problem arises — how could I get another entity to bestow me the knowledge? Doing it in passive way enclosing yourself in your personal garden won’t work since nobody will bat an eye if you are a nobody, which is expected when you’re still on the first step on your learning journey. Even if you are not a nobody, no one will bat an eye since they don’t know what are you trying to achieve. In conclusion, the best way to do this is by actively sharing what you are currently doing, which is the core concept of learning in public. Moreover, sharing what I learned in public will also improve my writing skills.

By continously sharing what you are learning in public, you can continously receive feedback to fuel up your learning cycle and grow continuously.

The Blueprint

Moving on from the philosophical part of this post, I want this website to my personal platform to learn in the public. Specifically, this website will serve as:

Knowledge Base

Whenever I encountered an issue, I can simply look back to the past and see if I have encountered similar issues before. That way, I can resolve my issue faster and other people that encounters similar issues can solve their issues too!

Code Playground

I will share ideas or experiments I’ve conducted as either code snippets or posts. Hopefully, I can test out my ideas and sharpen it by gathering public feedbacks. Don’t be shy to drop feedbacks!

Giving Back Platform

I owe a lot for my current position to the open-source community. This website and all contents on it will serve as a thank-you letter to the open-source community and keep the open-source spirit alive.

Productive Distraction

In the past, I played a lot of video games during my free time. I found that this activity is unproductive for my growth as a professional software engineer. Realizing that, I vow to myself to replace it with more productive habits such as learning in public.

Final Thoughts

With that in mind, I hope we (yes, including you who are reading this) are able to continuously learn and grow through this website.

I know, I’m very late in the blogging game when a lot of people already started learning in public early in the career. But I figured that it’s better to start late than not starting at all. Cheers!

PS: If you are interested in what empowers this website, feel free to visit the colophon page!