About

I have been studying as a Physicist since college and through my Ph.D. Writing computer programs and coding have always been an interest / hobby to me. I was first exposed to computer programming when I was in elementary school, a time when Intel Pentium processors were just above the horizon. I can't recall the name of the programming language I learnt at that time, but only remember the code I wrote would drive a cursor on the screen (which was still CRT) to draw particular geometric shapes. I remember we called that cursor turtle for some reason (anyone remember what this language was?). However, I didn't continue programming until college, because I didn't think my family could afford a computer back then and I still thought it's just a hobby.

During the first week of college, my roommate brought to our dorm a computer, more accurately a desktop with a probably 15 inch CRT monitor. And he already started talking about HTML. That's the first time I resumed my computer journey since my break in elementary school. I was so fascinated by it. I remembered I learnt and programmed in C and MATLAB mostly in college, and most of the code was written to implement numerical calculation related to physics, matrix multiplication, circling orbits of stars, chaos, to just name a few. I was amazed by the power of the computation from the lines of code that, the computation that I could never do by hand.

Then fast forward to now, I have become a software developer, although not through my education at school (more on this later). And I have gradually transformed my idea of software development, from purely programming / computing to crafting software product. Developing a software product is much more than just coding. A software product needs to be designed such that it's easy to use, maintain, extend and accommodate changes. These take a wholistic viewpoint of the product, beyond writing good code. I feel it's accumulation of experience, as well as knowledge, but maybe more of experience as someone become more seasoned software developer. I can learn the basics of a different programming language in a few weeks probably, but I have to gain the experience of building products gradually in years. And these experience comes from not only working in software development, but also from studying and working in other areas, even from daily life.

I've been really enjoying the journey and would love to take you along. Simply sign up to keep updated on my journey. Also please reach out to me to discuss software development project you may have.