Baby Steps

I never liked the idea of tackling too many things at once, or attempting to complete a single task that I know is going to consume a significant amount of time and effort. Trying to do too much at once can cause you to either lose morale along the way, or, on the chance that you do manage to make it to the finish line, you’ll probably never want to turn around and do it again.

This is why I rarely ever give myself too much to do at once. It could be anything-school work, dishes, coding. I enjoy breaking things up into small pieces. I divide small tasks into smaller tasks, and into even smaller tasks. Small tasks are less daunting, and I’ve learned that completing them quickly gives me a nice infusion of knowledge and confidence that I can use to tackle the next small task. And before I know it the larger and seemingly more complicated goal that I had never even set out to complete is gracefully finished. Got a grand goal in mind? Take a small step. It could take you farther than you could ever imagine.

The journey of a thousand miles begins with a single step – Lao Tzu

 

28. April 2012 by admin
Categories: ramblings | Tags: , , , | 1 comment

Do you really need math to be a successful developer?

I think  Andrew Montalenti of Parse.ly put it best when he said that there’s a lot of unfounded and unhealthy hostility towards math and theory courses in computer science at universities. And from my experience, I think part of that dislike comes from a shoddy elementary education in math. I had no interest in math until I started to learn it myself – and I mean really learn it, thanks to free and amazing online resources like Khan Academy. Looking back, I feel like a part of a generation of students cheated of a proper math education. My middle school was run by mediocre teachers who failed to instill the beauty and elegance of “drier” subjects like math, pounding equations into our short term memory rather than distilling the subject into concepts that are digestible, understandable, and most importantly, interesting.

It’s then no surprise to me that questions like “Do you really need math to be a successful software developer?” abound on the web. And as a student and aspiring engineer, I find that troubling. One common response I see is that math is essential insofar as the application you’re building requires it. Fine, I accept that.  But that’s not the issue. The problem is the underlying sense of hesitance towards mathematics, and, more generally, the perception of math as a mere collection of esoteric equations that are call forth when required, rather than the natural language of computation;  in reality, math is an intricate part of every aspect of a computer application. Think algorithms, algebra, logic, and different numerical systems like hex and binary – those only scratch the surface of how math is already being used in day to day development. So it’s not just a philosophical statement. Most developers may never need to know euclidean geometry to get the job done, but how can we expect to write efficient and scalable applications without a solid grasp of vectors or graph theory?

No, perhaps we don’t need any of that. I can probably get by without knowing the difference between a vertex and a edge, just like how I was enrolled in college level math courses without the slightest idea of even why the pythagorean theorem worked. Ignorance sucks, and bad teachers foster it. But by cultivating a greater appreciation and curiosity towards a subject that is so intimate with our line of work, we can all be smarter problem solvers. In some cases, math provides useful tools for developers  to handle mundane challenges, and in many others, it’s the answer to some of the most difficult problems of computation we face. If that doesn’t make it a necessity, I can’t imagine what does.

28. April 2012 by admin
Categories: ramblings | Tags: , , , , | Leave a comment

Thinking about Thinking

What amazes me is how long it has taken us to accept intellectual standards based on reason, and it’s heartening to see that the forms of good thinking espoused by Galileo and others during the renaissance that were unduly oppressed for thousands of years in human history is now a prerequisite for being taken seriously in the professional world. But even with this growing recognition of the importance of good thinking, the workings of the mind, however mysterious, is still being treated in schools-more so in Asia than Europe or the United States- as second to skill acquisition, rote memory, and other exercises of the brain that cause students to take the most fundamental cognitive functions for granted. They are lectured on how to use the brain- and like a tool, the brain has many useful features, but rarely is there an examination of the tool itself.

In the United States, good thinking is usually what most educators refer to to as “critical thinking”, yet critical thinking is subject to the same flaws of the human mind. The often irrational aversion towards risk, its subconscious influence, and not to mention the negative self talk that discourages many students from pursuing a goal because somebody told them they were not good enough. It may be that I am misunderstanding the definition of critical thinking- perhaps critical thinking already implies a form of higher level thinking. But even so, from my experience, I feel that my education on thought has been superficial at best. I was taught how to think “critically” about the arts, and read with a “critical” mind, which helped me get by academically and gave me a sense of my ability through standardized testing, but didn’t teach me to be critical about my own thoughts in respect to standards such as fairness and accuracy, or, more importantly, to examine the quality of my thinking through an awareness of its shortcomings.

If we can grow an awareness on the importance of quality thinking outside of just the intellectual community, through educating children on psycho-analytics or even encouraging citizens to think meta-cognitively,  we’ll have less people who vote blindly along party lines and fall victim to political rhetoric, less volatile traders, and less attention paid to just plain bad thinking.

30. November 2011 by admin
Categories: ramblings | Tags: , , , | 1 comment

What College is About

I hear this lot: College is about finding yourself ; it’s suppose to be about a well-rounded education of the whole person, not a vocational training course. If you want a technical education, go attend a technical school. College should be about asking yourself the profound questions like “What is the meaning of life” or What is my true “passion”.  Not practical questions like what specific skill set I can offer to my future employer.

My response to that is: why treat these questions as if they are mutually exclusive? Just because you want to become really good at something doesn’t mean reflecting upon the more noble and profound questions of your existence must be abandoned. You can learn how to start a business while attending your classes; you can be a budding philosopher by day and a amateur street-baller by night; and you can still wonder about your purpose as you begin writing your first literary piece for a noteworthy publication. I agree, college is about finding yourself, but the answers won’t be found in the mind alone. It is not just an intellectual journey. It’s about trying new things and picking up new skills, whatever piques your interest.

So instead of dragging yourself into an existential dilemma with endless questions, pick up a hobby. Do something you’ve never imagined yourself doing. Even if you wound up checking off every career on a list for months without a gaining the slightest sense of what you might want to do, you’ve still taken action. And that’s how you learn. That’s education.

19. June 2011 by admin
Categories: college | Tags: , , , , | Leave a comment