What I Love About Programming
I love programming. It took quite a journey for me to find out it’s my cup of tea, but thanks to the time and effort I spent on the journey, I can confidently say it’s something I would willingly dedicate myself to. If you’re curious what’s so fascinating about it, here’s what I love about programming:
1. Problem Solving
If I were to define programming in my own words, I would say it’s “the process of finding yet undiscovered answers to problems that already exist”. At the end of the day, programming is all about solving problems and making our lives easier. Remember the sense of accomplishment and intellectual satisfaction you felt when you finally cracked a difficult math problem? Programming offers an infinite supply of these moments — although they are often accompanied by frustration until you reach a solution. Fortunately and unfortunately at the same time, we live in a world full of problems, which means there is and will always be demand for programmers who can transform these challenges into opportunities.
2. Forgiving Nature
One thing I find amazing about programming is that virtually everything is reversible. That means almost — not all, of course — every mistake you might make can be undone or fixed without much hassle. This reversibility might not sound revolutionary at first, but it creates a uniquely forgiving work environment. There are many tiny but fatal, hardly reversible mistakes that could result in troubles in life: a slur that slipped out of your mouth, or a single extra zero you accidentally added to a number. Unlike most professions where mistakes can have permanent consequences, programming offers a safety net that encourages experimentation and growth.
Moreover, computers make surprisingly supportive partners to work with. They tirelessly yell at you every time you make mistakes and often suggest fixes before you even realize something’s wrong. Sometimes they even fix up your mistakes (i.e. HTML forgiving parsing), and when they can’t they are still kind enough to point at exactly what’s wrong with red squiggly lines. If they do so, fear not — you can always find solutions in the grace of Google, Stack Overflow, and AI assistants. This error-solution cycle creates a uniquely forgiving learning environment that few other disciplines can match.
3. Collaborative Work
Contrary to the stereotypic programmers you see in movies — frantically typing away on their laptops alone in dark rooms — programming is actually a highly collaborative work. Unless you’re a solopreneur, most programmers work in teams. Surprisingly, a significant portion of a programmer’s day involves communication, both verbal and written, from morning standups to code reviews and documentation.
Beyond collaborating with fellow programmers, you closely cooperate with other professionals like project managers, designers, QA engineers, and product owners. This collaborative nature not only offers the opportunity to work with diverse perspectives for better products but also accelerates your professional growth as you absorb knowledge and techniques from specialists across disciplines.
4. Adapting Over Accumulating
Stagnant water becomes foul. In the world of programming, you rarely need to worry about being the stagnant water because you’re already being swept away in the rapids of ever-changing technologies anyway. Just as the saying ‘Every flower must wither,’ every technology eventually becomes old. This constant evolution ensures you’ll never get bored of repeating the same tasks and will keep you growing throughout your career.
For example, React is arguably the most dominant frontend technology today. However, there’s no such thing as a ‘React expert with 20 years of experience’ because React itself is only about 10 years old(released in 2013). No matter how popular a technology is today, no one knows if or when it might be replaced by another. This versatility means that someone’s longevity in the industry doesn’t guarantee superior skills. With the right timing and decisions, newcomers also can quickly establish their value in this field.
5. Good Things Are Free
In the programming world, many of the best things come without a price tag. Before I entered programming, I lived in a world where quality demanded payment — the better something was, the more it cost. But the programming universe operates by entirely different rules. The vast ecosystem of open-source software, built by passionate developers who share their creations without expecting compensation, has revolutionized how we build technology.
Beyond the tool, programmers also have cultivated supportive communities where knowledge flows freely through documentation, forums, tutorials, and even social media. This democratization of valuable resources allowed anyone with determination to learn anything, anywhere, at any time.