COMMAND LINE: My Journey Into Coding – Part 1

Command Line is an ongoing blog series where I write about technology, data science, and software engineering. To read more posts in this series, click here.

In a recent video call with my closest friends from college, I mentioned that I’ve lately been gravitating away from data analysis and into software engineering. While I remember sounding definite during the call, as if the admission was borne of many hours of thinking, in fact it was the first time that I’d ever really put those thoughts into words. But the feeling is genuine, and, spoken, since that call the idea has now taken on clearer and clearer shape in my mind.

To give a bit of background, I graduated just a few years ago with a degree in Statistics. Naturally, I entered the job market as a statistician, and have since been employed to a large multinational corporation’s quality management division. I lead the knowledge management unit now, serving as subject matter expert for data analytics. All in natural order, I would say. But if we wound the clocks back to my high school days, or even farther, to the fifth grade, when I first sat in front of the desktop computer that my father and I built from parts canvassed all over the metro, I could have a given a list in reams of bond paper of all the career paths I wanted to take, and nowhere would you find the words “data analysis,” “statistics,” or – Lord forbid – “mathematics”.

For much of my youth I loathed Mathematics. Every nook and cranny of it. Much of the hate date back to the cruel fourth grade teacher who thought making me stand up in front of the class as an example for failing to memorize the multiplication table for seven was apt punishment. My father had studied in the same elementary school, and apparently he had something of a reputation as a genius among the older faculty, including said cruel teacher, and hardly a day passed that I didn’t hear them complaining that for all my father’s aptitude, I seemed to have inherited nothing. Discouraged and, after that encounter in fourth grade, humiliated, I turned my back on Math and for a while refused to take it seriously as a pursuit I could at least be mediocre at, let alone excel.

I choose my battles, an attitude that’s stuck with me, and even now I haven’t weighed whether it does me more harm or good. I give each front a fair attempt and decide whether it’s something I have any chance of winning. If yes, I’ll come at it full force. Otherwise, I just never feel like bothering. Around the same time as my humiliating experience with the multiplication table, my father got me to try out for the school’s chess club. I showed up bright and early on the day, even bringing my own chessboard with me even though it turned out the club was far from having any shortage. I won twice in twelve (I think) matches, which apparently wasn’t enough to get me in. Fair enough, I told myself, I’ll go spend my time elsewhere. With hardly any bitterness I picked up my chessboard and went home.

Now I worry the image I’ve projected of myself is that of an obtuse kid with nothing in the way of passion or determination. That’s not true. Around this same point, in fact, I was already developing what would become a life-long obsession with computers. My fascination with the desktop that my father and I had built evolved in stages. It wasn’t a particularly powerful machine, though I think around that time it had some pretty decent specs: at its best year it had 756 megabytes of RAM and 72 gigabytes of storage. At first I was awestruck by how many things it could do – it wasn’t like the Nintendo that we had back then (the only game console we ever owned), which only allowed me to play games of specific kinds – I could play first person shooter games, some scrolling games. A cousin would later help me install a program that basically allowed me to play old Gameboy titles. When I opened up Microsoft Word, it became a typewriter. When I opened up MS Paint, the mouse became a pencil, a paintbrush, an eraser, all in one. There was the old Windows Movie Maker, which I used to splice together clips from family vacations stored on our camera’s SD card.

In short, I was amazed at how ubiquitous one single machine could be. This was before the arrival of “smart” appliances, and back then a household gadget did pretty much just one thing. The electric kettle heated water. The TV played shows on cable. A fan just blew air. This one machine, however, had the potential to be everything to a person, if not an entire family. So long as you had the right program, you could basically do anything. I should mention that this was years before the internet became ubiquitous in the Philippines.

So naturally I gravitated towards coding, and as luck would have it my father had been assigned to teach computer science lessons at the Chinese school where he worked. He procured books on HTML, C, and Visual Basic. He was a mathematics teacher by training, but the Philippine education system pretty much allows any licensed teacher to handle even classes outside of their formal training. This is how we got religion and values teachers delivering lessons on anatomy and evolutionary biology, or, in my father’s case, a mathematician teaching coding. My father was no foreigner to computers though, and he mastered the material in a matter of weeks. The problem was he had zero experience teaching it to students. So, while preparing his teaching materials for the coming school year, he had a brilliant idea: he would try his lessons out on me first.

We started with HTML, which looking back was a good language for introducing children to the idea of coding. It’s not a programming language per se – it dictated how objects would appear on a user’s interface, but those objects did nothing until they were extended with another language, like PHP or Javascript. But it served a handy introduction to the idea that computers spoke in a special, symbolic language, and that if a person learned this language, then they can instruct the computer to perform specific tasks. Create a header on this page. Add a paragraph under that header. Now place a specially-formatted text within that paragraph such that, when clicked, will direct the browser to a different page. Create textboxes where the user can write their username and password. Then place a button next to those textboxes that will verify if the entered credentials are correct. The further we proceeded with the lessons, the more enamored I became with the computer. I was creating pages, forms, indexes on the browser – which still hadn’t once visited a real website. I would sit at the keyboard and make all these objects, images, links and texts appear where I wanted, however I wanted.

For a preteen kid, it was like learning magic tricks.

(To be continued…)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: