What makes a good programmer?
I have different answers in different stages of my life in the world of technology.
In 2014, I quit my digital marketing job at the 4As advertising company. I used up all my savings, graduated from the coding bootcamp from General Assembly, and landed a developer job at the leading publishing company in Asia. I thought I earned the job title: Analyst Programmer.
Was I a good programmer? I have no idea.
In 2015, I was on the job for an entire year. The programmers around me had way more years of experience than I did. I always peeked from behind how they code on the same code base I was working on. All the commands flew effortlessly from their fingertips to execute a bunch of functions without googling, something I was unable to do.
Was I a good programmer? I have no idea. I thought technical know-how was everything.
In the same year, the Product Director at my day job said, "I think you're more like a product guy than a programmer," after he'd read the documentation I'd written for the internal users. I started to explore the domain of product management and have no idea what it is.
In 2017, I became a Product Specialist at a video streaming company: my first product management job. But I have absolutely no idea what this job entitles.
I went deeper and deeper into both the technical and product management domain. I drank from the fire hose every single day in terms of technical improvement. The senior managers I worked with were technical experts ranging from development, QA, and of course video streaming...
On the other hand, I drank from the fire hose on a daily basis in terms of product management improvement too. One product manager I worked with was from a leading telecom company in Hong Kong with 10+ years of experience under the belt. The other one used to work for one of the largest news agencies in the world with a mathematics degree acquired from Imperial College.
Day in and day out, these technical and product experts blew my mind. I took hundreds of notes and shot thousands of pictures of what they had discussed in the meetings. My iPhone stored numerous images of how video streaming networks could be architected on a global scale. I even spent my own money to buy a small whiteboard and carried it to the office so that I can ask questions to these experts with visual aid drawn out whenever possible. I had a breakthrough in terms of technical know-how down to how a data packet is transmitted over the internet, hopping from one source to another.
I was grateful for the opportunities the company gave me and the hard work I had put on the side. At my day job, I was able to understand what Codec and RTSP are because I studied these technologies in the nighttime. Furthermore, I was also getting a lay of the land on what product management is because I carried out the very first web conference that brought together 30 leading experts from around the globe to conduct 30 masterclasses on the topic of product management at midnight.
Product Manager Summit (sunsetted, but you can still listen to the below podcast that is hosted by one of the speakers from the summit)
From 2018 to 2021, I became a product manager at a logistics startup and a supply chain startup, and a content manager at 100ProductManagers. I worked with programmers, data scientists, and a wide range of different types of stakeholders. I performed the best that I could on the job, knowing firsthand what product management is and how it evolves over time.
And I internalized a mindset: programming is a team sport.
The software development cycle starts from requirement analysis to software design, to development, then QA, after that comes deployment, and eventually maintenance. Software development and product management are cohesive pieces; it's a team sport. All the parties involved are equally important.
From 2022 to 2023, I became a small media startup owner. I operated the #1 Apple Business Podcast and the #4 Apple Entrepreneurship Podcast. I interviewed world-class experts in different domains. It covers a wide range of topics: FinTech, Web3, Entrepreneurship, Career Advancement, Personal Development, etc.
Technology is always the core thread, no matter what topics we touch upon. That's why I didn't just upgrade the blog you're reading now to 2.0. And also update my technology knowledge over time and write out the blockchain development guide.
What makes a good programmer?
Stay a student forever. Learn new tech skills on a constant basis.
"Stay hungry. Stay foolish." Like Steve Jobs famously said.