Limits
Posted: November 1, 2024 Filed under: Diary Leave a commentI remember 2017 vividly. It was the year that taught me what being human truly means. Time is relentless, marching forward without pause. Reality hit me hard – we all have limits.
Looking back at my younger self in 2004 and 2014, I smile at my naive enthusiasm. Rest seemed like a weakness then. I was that person who believed in pushing boundaries without breaks. The world was mine to conquer.
Let me share something I’ve never told many people: I once had a panic attack ten minutes before a major presentation. My heart raced, hands trembled, and breath shortened. In that moment, all my preparation, all my confidence, melted away. Standing in the bathroom, staring at my reflection, I realized how fragile our minds can be despite our best preparations.
These moments of vulnerability teach us more than success ever could. Some days, giving 0% is all you can manage. The younger me would stay awake for three days straight, fueled by ambition and coffee. What a fool I was. Those marathon sessions came with a price – days of mental fog and exhaustion.
Your body whispers before it screams. I learned to listen to those whispers. Now, in my older years, wisdom has finally settled in. My body isn’t just a vehicle for my ambitions. I’ve learned to celebrate small victories, understanding that the journey matters more than the destination.
Goals still drive me, but they don’t consume me. Each tiny step forward deserves recognition. Sometimes, retreating isn’t defeat – it’s strategy. You don’t have to win every single battle.
Here in 2024, I’m still a student of life. Each day brings new lessons. My spiritual journey has deepened, and I understand now that growth isn’t always visible. The greatest lesson? Being human means embracing both strength and weakness.
We’re not machines. We’re wonderfully imperfect beings, learning as we go. And that’s perfectly okay.
Form Follows Function
Posted: October 29, 2024 Filed under: Wisdom | Tags: design principles Leave a commentAs a product manager in a small team, I’ve learned to embrace simplicity. We don’t have dedicated UX researchers or product designers. But that’s okay.
The phrase “form follows function” has become our guiding principle. It’s more than just a design philosophy. It’s our survival strategy.
My journey here wasn’t straightforward. Previously, I was the typical overenthusiastic PM, trying to map out every user scenario before writing a single line of code. I’d spend weeks creating comprehensive requirement documents that attempted to address every edge case imaginable, only to find half of my assumptions were wrong.
Now, I’ve learned to start small and think bottom-up. We begin with the core problem and its simplest solution. Nothing more.
When resources are limited, you focus on what truly matters. What does the user need to accomplish? How can we make it work first, then make it beautiful?
Take our recent notification system redesign. Instead of planning for every notification type upfront, we started with just one: payment confirmations. We got it working perfectly, then gradually expanded to other types.
Each sprint teaches us something new about our users. Sometimes we get it wrong. That’s fine – we adjust and move forward.
Rather than conducting extensive user interviews, we now rely on quick feedback loops and usage data. When we launched our new dashboard, we started with just three essential metrics that users actually needed daily, rather than cramming in every possible data point.
Our software evolves like a sculpture. We start with rough shapes and basic functionality. Then we chip away at the unnecessary parts. We polish what remains.
The best solutions often emerge from constraints. Our limited resources push us to focus on essentials. Everything else is just decoration.
So we keep building, testing, and refining. Form follows function. Always.
Everyone is Now a Product Manager
Posted: September 16, 2024 Filed under: Musing Comments Off on Everyone is Now a Product ManagerI’ve been observing a curious shift in the world of programming. As powerful AI tools like Cursor and Copilot have emerged, the focus has moved away from the nitty-gritty of coding and towards a more strategic, product-centric approach.
Programmers are no longer just grunts toiling in the codebase. They’re now elevated to the role of product managers, responsible for crafting the vision and guiding the development of complex, AI-powered solutions.
I first noticed this transition when I found myself spending more time conceptualizing the bigger picture rather than hacking away at the keyboard. The actual coding felt almost secondary, like an implementation detail.
As AI-powered assistants take on more coding tasks, programmers must evolve their skillset and mindset. They must become part architect, part product visionary, embracing techniques like:
- Riding the wave of code-generating LLMs: I’ve had to embrace the power of large language models (LLMs) to generate code, freeing me up to focus on high-level design and problem-solving. It’s been a bit of a learning curve, but the efficiency gains have been undeniable.
- Becoming a big-picture architect: My role is now more about conceptualizing solutions, designing systems, and ensuring the overall coherence of the product, rather than getting bogged down in the details. It’s a welcome change, but it also requires a different mindset and skillset.
- Constantly switching to the best AI tools and models: I’ve had to stay agile and adaptable, continuously evaluating the latest AI tools and models to ensure I’m using the most effective ones for the task at hand. It’s like I’m constantly on the lookout for the latest and greatest tools to enhance my productivity.
- Designing with natural language first: I’ve started to leverage the natural language capabilities of AI tools to ideate, prototype, and refine my solutions, before diving into the technical implementation. It’s a more intuitive and collaborative way of working, and it’s helped me to be more creative and innovative.
- Avoiding competition with AI and using it to work better: I’ve realized that AI is not a threat, but a powerful ally. By collaborating with these tools, I’ve been able to enhance my own productivity and problem-solving abilities, rather than trying to compete with them.
This transformation is only just beginning. As AI continues to reshape product development, the successful programmers of the future will be those who can adapt and evolve from coders into strategic product managers.
This is how you 10x.
Git Reset Lifeline
Posted: January 4, 2024 Filed under: Development Comments Off on Git Reset LifelineWhoops! I got myself into a Git pickle yesterday. I was trying to pull some updates from upstream into my feature branch, a normal part of my workflow. But before I knew it, things spiralled out of control. Merges going every which way, commits piling up, extra branches multiplying like rabbits. After 7 or 8 hours of working time, I somehow ended up with 5 extraneous branches! 😅
Anyway, I decided to take a beat, have some chamomile tea, and turn this Git debacle into a teaching moment. Because if it happened to me, it can happen to you! So here’s the scoop on how to hit the reset button on a branch when things go awry.
Hitting the Git Reset Button: A Chill Tutorial
Say you want to revert a branch back to a previous state. The easiest way is to do a hard reset. Just make sure you know what commit you want to revert to first! Here’s how:
- Check out the troubled branch:
git checkout branch-backup
- Reset it to the desired commit to erase all changes after that point. Sayonara, buggy code!
git checkout main
git reset --hard branch-backup
- If you already pushed the branch, you’ve got to force push the changes:
git push origin main --force
And you’re done! Branch restored to commit bliss.
Just be cautious with that last step—it rewrites history, so use sparingly. And you may need to give your teammates a heads up.
Now I’m off to relax after my Git escapade with some more calming tea and a peanut butter toast.
Racing Against the Machine
Posted: November 9, 2023 Filed under: Musing Comments Off on Racing Against the MachineThe pace of new technology seems to get faster every year. In my job doing automation engineering, I’ve seen how once all the parts of a system are ready, progress can explode exponentially. I’m worried as AI and agent swarms get closer to generalized intelligence, they will quickly make many jobs and skills obsolete – including my own.
Just last week, I was telling my parents I’m concerned I may not have unique skills to offer anymore. Right now, connecting all the pieces of AI into a fully autonomous system is still complicated. But not for long. When those last key elements like agent coordination arrive, everything will work together and we’ll see sudden rapid advancement.
I’m not sure if most people are ready for this pace of change. I’m not even sure if I’m ready myself.
Multiple exponential technologies will boost each other, speeding things up even more. There may come an abrupt point where progress becomes so fast it’s hard to control and uses enormous resources.
I worry about new graduates entering a job market changed by AI. But I also know we humans don’t understand exponential change well. The future may look very different than we expect.
For now, I’m reassured that building AGI is like making an engine – it needs all parts to work seamlessly together. We still lack some essential pieces.
For now.
But once that last piece clicks into place, the engine of AI will roar to life and race ahead faster than we can foresee today. My goal is to enjoy the ride, and adapt my skills to stay ahead of the tech changes as long as I can.
From Coding to Customer Focus
Posted: December 11, 2022 Filed under: Product Comments Off on From Coding to Customer FocusJuggling between a development role and product management can be challenging. I have seen many developers make the transition to become product managers over the years. However, it’s important to understand that project management and product management are very different disciplines.
As a project manager, you’re focused on delivering defined requirements and managing scope, schedule, and resources. But product management is all about understanding customer needs, defining strategy, and delivering value. The mindsets are almost opposites.
When I first started spending part of my time on product management responsibilities, I really struggled with the differences. I often fell back into thinking like a software engineer focused on technical solutions. I had to go through an unlearning and relearning process:
Unlearn:
- Viewing requirements primarily through a technical lens. I was used to focusing on elegant architectural solutions rather than customer needs.
- Jumping to technical architecture without gathering actual user needs. I had to stop assuming I knew what users wanted.
- Getting excited about new technologies that didn’t offer clear value to customers. I had to shift my mindset to prioritize customer ROI over tech for tech’s sake.
Relearn:
- Looking at requirements from the customer’s perspective first. I needed empathy to understand what users really needed.
- Communicating with customers to gather requirements that address real problems or desires. This knowledge was powerful in defining valuable products.
- Driving products forward based on functionality and experience, not technical implementation. I focused on the “what” first, then the “how.”
- Considering how every product decision could improve value to the customer and business. I learned to think bigger picture about product strategy.
- Influencing without formal authority by storytelling and selling vision. Technical excellence was no longer enough.
The unlearning and relearning were challenging but ultimately helped me evolve into a much more well-rounded product manager.
For example, I initially got excited about using new bleeding-edge frameworks and technology, even if they didn’t align with our user needs. I had to train myself to always link back to concrete value for customers, rather than just what was innovative. This meant developing skills like user empathy, storytelling, and selling vision – very different from my past specialized technical work.
The transition was especially tricky because I was still embedded in the same development team. If I could do it over again, I would try to switch products or join a different company when making the shift. Getting outside of my existing engineer mindset would have been easier.
Overall, moving from development to product management required me to fundamentally change how I thought about requirements and prioritization. I had to learn to put customer’s perspective first, and then think about technical implementation. It was a challenging but rewarding shift that made me a much more well-rounded contributor over time.
A dwarf miner sitting at stone craved desk @SomberSaurus
Embracing imperfection
Posted: October 22, 2021 Filed under: Wisdom Comments Off on Embracing imperfectionToday is a little special and emotional for me.
It has been eight years since I started my spiritual journey, devoted to zen life and culture, with the intent of sharing “wabi-sabi” or “the beauty of life” in its natural form.
A long time ago, I was the Firdaus who are complaining a lot. I hate the fact that living has so many limitations and imperfections. The imperfection of life is something that upsets me and didn’t like it at all.
— why do we need to sleep? Why do we feel not enough? Why do we have to be born and die? Why do I get treatment such and such? Why do we need to work? I ask many questions, until one day I hit a very rock bottom and realized that I was living life on auto-pilot.
It was people around me — my father, my mother, my good friends who made me realize that I needed to accept the fact and focus on learning how to embrace it, instead of trying to fight against it. I was so frustrated with everything around me, that I didn’t know how to love.
— I learned to love. Why, some of you may ask? Because I had to learn to appreciate what is given to me in this life.
That was the time I fully accept myself as a human. Human is not perfect and never has been. Then I found out life is something that should be lived as it is. Life should be appreciated as it is.
That is what makes us human. and also that’s the beauty of becoming a human.
There’s time that we feel ready to conquer the world. There are also times we feel sorrow. We have ups and downs, but that is natural. We have to trust ourselves that we’ll be ready for the next challenge, or for the u-turn of life. We are all imperfect, but it is what makes us human.
— did you say? … or did you say that I should fight against the imperfection of life? … I don’t think so. I think we should accept it. Zero perfection, zero infinity.
That’s humbled me. To embrace imperfection is to see with new eyes. It is to appreciate the “red thread” that connects all things and people around you, in a web of spirals.
So, I started to observe my shortcomings and imperfections with the same admiration as the beauty of nature. This is where I learnt about the concept of embracing imperfection. This concept has bred empathy.
I’ve seen greed, jealousy, bad faith, revenge and much more.
It consumes us. It counteracts us to pessimism. But it is very difficult to let it go. I have learnt that with empathy we can let go of it with a less painful experience. When we feel the pain, but also the understanding of our betrayal or pain, that feeling can be less harsh and juster.
This has helped me to progress in life. Tremendously.
Embracing imperfection is humbling. It’s understanding that we are all the same and it’s what makes us human. It’s finding the beauty in your experiences, good and bad.
It’s seeing beauty in our experiences, good and bad. It’s understanding that life is a paradox, a moving reflection of nature.
Wabi-Sabi.
It is a simple idea that appreciates imperfection, naturalness and impermanence. It is the idea that sees life as it is, not as what we want it to be. Wabi-sabi is an ancient aesthetic philosophy rooted in Zen Buddhism. The Japanese philosophy celebrates beauty in what’s natural, flaws and all.
I feel this beautiful belief can be used in many ways for many purposes.
I have been witnessing the pasts, the progress of our world and my own personal growth — both as a person and as an entrepreneur — thanks to the unique perspective of “wabi-sabi” — an aesthetic design perspective.
With all the experiences, I came to consider how much I love this concept. It’s something simple, but it’s amazing how much it has grown in me over the years.
In our culture, “simplicity” often codes for a life that’s organized or for spare, boutique perfection.
— We confuse it with virtue, simplicity with happiness. The reality is that life’s messy. It’s not simple.
But what could be more radically simple than acceptance of rust and imperfection? I embrace the beauty in that that is perfectly imperfect, and I can embrace the fingerprints, scars, and lines of my life, too.
I find the idea of abandoning “perfect” and even “be good enough” irresistibly tempting.
I may not be the brightest, but I can let go of the best and most extraordinary to seek pleasure in the quotidian, let alone the simple.
Wabi-Sabi is a philosophy I accept wholeheartedly, and the further I celebrate it, the more it inspires me of freedom. I embrace wabi-sabi with its own elements of nature, aesthetics, and spirituality. All are linked in the universe. All are linked to each other.
— Wabi means things that are new and unprocessed. It evokes feelings of peace and tranquilly, as well as rustic charm. It encompasses both naturally occurring and artificially created objects.
— Sabi is a Japanese word that refers to an object’s beauty that comes with age. The patina of the object and its impermanence are both evident in its appearance.
I am a Wabi, not perfect, and that’s what I want for my life. I want to live in a world that’s imperfect, but full of beauty, and not just in its imperfections.
I believe that being imperfect is a gift. Wabi-Sabi is not just a belief or an idea. It is a way of life: to embrace imperfection. To embrace imperfection is to see with new eyes and to appreciate what we never noticed before. I hope to live a life of simplicity, not perfection, and to embrace the imperfections of life, even if they are my own.
I am so grateful for all the people who have approached me to share their thoughts and opinions. They have taught me so much about myself and how I was perceiving my environment — art, design, people… it is such a privilege to be able to talk about this with someone else.
Deliberate practice is powerful
Posted: October 18, 2021 Filed under: Wisdom Comments Off on Deliberate practice is powerfulFor anyone who aspires to learn something new, deliberate practice is essential. It is also a key component of success in life. Most people think of deliberate practice as being synonymous with hard work. In fact, there is much more to it than that. Deliberate practice is a way of thinking. It is a mindset. It is a method of learning.
Why am I telling you this? It means that if you want to become better at anything, you need to put in the hours. If you want to become a better writer, you need to write every day. If you want to get better at playing the guitar, you need to practice every day.
According to Gladwell, you need 10,000 hours of deliberate practice to become world-class in any field. It takes 417 days’ worth of hours, or 3 hours a day, for 3,333 days. That is equivalent to over 5 years of a full-time job! If that’s the case, no one has the time to invest in learning, isn’t it?
But there’s a problem. Most people don’t have the time to dedicate to practising. They’re too busy working, spending time with friends, watching TV, etc. However, they achieved greatness by doing less than they are capable of achieving. You can’t be mediocre and expect to achieve great things.
So how do you fit in the necessary hours of practice into your life? Allow me to break down the benefit of deliberate practice.
Deliberate practice does not feel like work. It feels like play. Some say it is a state of the Flow. You might even say it is self-imposed fun. Michael Jordan said: “I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.”
Deliberate practice is more about quality than quantity. It is about strengthening your weaknesses rather than improving what you are already good at. It is about constantly pushing yourself to do better. It means that you are constantly facing challenges that are just out of your reach.
Deliberate practice is more about repetition than it is about hard work. I have heard that one should practise a little bit every day, rather than spending hours at a time once a week. The key here is to not overdo it but to do just enough to build up your skill.
In all the research I have done on deliberate practice, I have been led to a few conclusions;
- Go small — Break down large tasks into small ones that you can accomplish easily.
- Don’t procrastinate — Do it now instead of later.
- Avoid distractions — Turn off the TV, disable the Internet, silence the phone, etc.
- Get feedback — Know what you’re doing right and wrong.
- Keep it simple — Don’t complicate the above.
- Set achievable goals — You can’t accomplish everything at once.
- Keep a daily practice routine — Go through the whole process every day to see your progress and improve it further.
Josh Kaufman mentioned that it only takes 20 hours for rapid skill acquisition and pick up new skills as fast as humanly possible. You can go from knowing absolutely nothing to becoming proficient in 20 hours. It won’t make you an expert, but surely it can help you to improve specific things that you want to be better at.
What about reading? You can read more if you have dedicated time for it, say 20 minutes every day. Or during your lunch hour. Deliberate practice can also be applied to many other things like exercise, writing, drawing, playing the guitar, lifting weights, speaking in public or anything that you want to learn or become better at.
Is it possible to learn anything in 20 hours? While the learning curve for different skills differs tremendously, Kauffman found that most skills can be acquired, at least at a basic level, within just 20 hours. In order to develop basic proficiency in any new skill, only 20 hours of deliberate, focused practise are necessary.
The author of the 4-Hour Work Week, Tim Ferriss, has developed a system to learn any skill in the shortest amount of time possible. He has successfully used it to master cooking, language acquisition, tango dancing, martial arts, and a wide variety of other skills. The DSSS method works for nearly any subject. Almost anything can be learned with it, from language to math to coding. The key is determining which 20% of the skill will deliver the greatest bang for your buck.
In essence, deliberate practice is about staying focused. It is about doing one thing at a time and getting it done. It is not about avoiding distractions and unpleasantness. Plenty of tips and tricks exist that will help you do this.
One thing to remember about learning new skills is that you will change and grow as a person. When you work hard to learn anything, including a new skill, you will find yourself changing and growing as a person. You’ll become more confident and self-aware as well as more capable in general.
Technology should serve people, not the other way around
Posted: September 25, 2021 Filed under: Uncategorized Comments Off on Technology should serve people, not the other way aroundThis essay is a repost from a Medium story.
I’ve known computers since I was about 5 or 6. It was the year 1995. My father’s workplace was the only place I could see computers at the time. Paperboy, Prince of Persia, and Oregon Trail were among the MS-DOS games he introduced me to. But it wasn’t the games or interactive graphics that drew me in, but rather the machine itself. I recall being enthralled by Windows. I’m fascinated by how it looked, how it worked, and the simple yet effective applications it contained. In 1998, we finally got our own computer with a dial-up internet connection.
For me, the computer was my only means of self-expression. With text, images, and sounds, I could create whatever I wanted. With audio files like .mp3 and .wav, as well as video files like Quicktime and Windows Media, I could listen to whatever music I wanted. mIRC was the only way I could communicate with people from all over the world. Even if they were in another country, I was able to share my thoughts and opinions with them. I didn’t have many friends in school back then because I preferred interacting with the keyboard.
The internet and technology have become obsessions for us. PCs, mobile phones, laptops, and smart devices have exploded in popularity over the last two or three decades. From the classroom to the bedroom, the internet had spread. We spend the majority of our time in front of a computer or on a mobile device. The majority of people spend far more time in front of a screen than they do outdoors.
True, technology is altering our lifestyles, but it also requires us to alter our lifestyles. It’s exhausting to be told that technology is working for us, not against us, all of the time. It’s all too easy to fall into this mindset and fail to recognise that it’s illogical.
We worship technology so much that we sometimes lose sight of its purpose. What can technology help me with? Is it possible for it to assist me in expressing myself more effectively? Is it capable of assisting me in interacting with people I have never met before anywhere in the world? Is it possible for technology to manipulate, control, and shape people’s lives? Yes, that is correct.
We are the product in the economy of attention. We are the resource that technology is consuming. By using technology such as the internet, we are giving up our privacy and freedom. Technology is working for us rather than against us. With each passing year, it gains more and more control over our lives, but we are completely unaware of it.
We are distracted from what we are doing right now by notifications, apps, and alerts on our mobile devices and computers. These are meant to draw our attention away from the rest of the world. Our focus is broken down into very small chunks. On our mobile devices and computers, we divide our attention between various notifications, apps, and alerts, or even multiples of each. Finally, being online has become an obsession for us. We just can’t seem to stop ourselves. We now try to avoid interacting with people in real life as much as possible.
And we don’t realise how much of our attention and technology we give away until we lose something. One of the most prominent examples is social media. We quickly share the most memorable events in our lives with others. That is, after all, what it is supposed to be. Some people, on the other hand, only share their happiest moments online in order to make others believe they are doing well.
We should not be defined by technology, but rather by how we use it and what we can accomplish with it. To put it another way, technology must be centred on humans rather than the other way around.
Allow yourself to be free.
The power of Now
Posted: September 23, 2021 Filed under: Musing Comments Off on The power of NowTime is a powerful thing. We all have it, and not enough of it. It is precious. The best moments happen in the Now, because when we’re in Now, we’re truly living our lives to the fullest.
Not every day do we feel motivated or “feel it”. The trick is to just spends 5 minutes on it. Let’s have a scratch or two on it. That 5 minutes is all we need. Loosen up all the expectations.
Usually, that 5 minutes will be 10 or 15 minutes. Just let that sink in.
Later that you know, you are one hour clock in.
You just accomplished one task.
I’m not saying we should never work on projects or learn, but we should let projects and learning go when we feel it. That way, we will only feel the emotion of joy and passion when we’re in the Now.
The more we give attention to Now, the more we can be happy and appreciate it every time we remember it, even if only for 5 minutes.
Here you go, that’s my five minutes post.