Coding my way to think clearer — Ungku Amirul Ariff Ungku Ariffin

Coding my way to think clearer — Ungku Amirul Ariff Ungku Ariffin

JULY 29 — As a biomedical engineering student, I’ve had a unique journey in learning to appreciate the true value of computer programming. It’s not just a technical skill; it’s a way of thinking. What started as a necessity has slowly evolved into a personal discovery: that programming teaches us how to think, not just how to code.

We often hear mainstream narratives glorify computer programming as a passport to high-paying tech jobs or the future. While that’s not wrong, it misses a deeper, less glamorous but far more important point that programming, when taught right, is a powerful tool for shaping how we approach problems. It trains us in what my lecturer, Prof Nahrizul Adib called “diagnostic thinking”, a method of analysing, isolating and resolving problems that goes beyond screens and syntax. I truly believe this is something the younger generation urgently needs.

Diagnostic thinking is a mindset where one learns to systematically trace the root cause of an issue by testing hypotheses, eliminating variables and relying on logic rather than assumption. In engineering and medicine, which are the fields I navigate in my studies, this skill is essential. Whether you’re debugging a malfunctioning ventilator or investigating inconsistent patient readings, the thinking process is almost identical to what a programmer does when facing a stubborn bug in the code. What’s interesting is that even students who don’t plan to become programmers can benefit immensely from this kind of mental discipline.

In my own experience, re-learning computer programming forced me to slow down and think in steps. I could no longer guess or “main hentam” my way through a problem. Every error message became a puzzle. Every successful output felt earned. It changed the way I approach not just assignments, but even my daily habits. I found myself breaking down complex decisions into smaller parts, looking for patterns, testing outcomes. Whether it’s optimizing my FYP or figuring out what went wrong with a 3D-printed circuit casing, the process is always the same. Isolate the variables, test systematically, debug, refine. That’s diagnostic thinking in action, and programming is the best training ground for it.

Coding my way to think clearer — Ungku Amirul Ariff Ungku Ariffin

Programming isn’t just about writing code — it’s about learning to think. A biomedical engineering student argues that debugging teaches diagnostic thinking, a skill every young person needs in today’s complex world. — Unsplash pic

Unfortunately, in many schools and universities, programming is taught like mathematics — with an overemphasis on syntax and grades and not enough on the thinking process. Students are often judged by whether their code runs, not by how they approach a problem. This leads to a fear of failure and a shallow understanding of what the subject really offers. I say this not just as a student, but as someone who once sat in that exact seat, demotivated by red error lines and a lack of context.

But imagine if we reframed programming education to emphasize the journey, not just the destination. If we taught young people that it’s okay for code not to work the first time, as long as they learn to ask the right questions. If we showed them that the real skill actually lies in debugging. That’s a mindset they can take into any career actually, whether they end up in tech, medicine, business, or even education.

One of the biggest myths I’ve seen is the idea that programming is only for “tech people”: the kind who work in big MNCs and build apps. That’s a narrow view. In biomedical field, programming is used in medical imaging, device control, data analysis and increasingly, in AI-driven diagnostics. But even beyond that, I think the most valuable takeaway is the way of thinking that programming instils: precise, analytical, and persistent.

This is especially important for the younger generation growing up in a world full of distractions and instant answers. In a time when information is abundant but deep thinking is rare, we need to equip students with tools that teach them to pause, analyse, and think critically. Programming does just that. It teaches patience, logical sequencing, and the ability to cope with failure. These things are difficult to teach through textbooks alone.

As someone who struggled with programming before, I believe it’s time we shift the narrative. Let’s stop treating programming as just a technical subject or a shortcut to high-income jobs. Let’s recognize its real power: as a cognitive gym for the mind, where diagnostic thinking is built, tested, and sharpened.

We don’t need every student to become a software engineer. But we do need every student to think like one; by learning how to dissect problems, constructing solutions, and iterating until something works. Because whether you’re in a hospital, a startup, or even a classroom, those are the skills that will set you apart.

And sometimes, the first step to thinking clearly… is learning to debug.

*The student is a final year biomedical engineering student at the Faculty of Engineering, Universiti Malaya.

**This is the personal opinion of the writer or publication and does not necessarily represent the views of Malay Mail.

Scroll to Top