Category Archives for ramblings
How will I measure my life?
For one of our assignments in Strategy, we were asked to answer the question: How will you measure your life? Clay Christensen wrote about this topic in the HBR.
I don’t have a damn clue on how I would go about measuring my life in any concrete fashion because I’m just not sure what a right measure would be, and even if realized, what the practical steps would be in living up to that measure. Will it be meditating ten minutes a day? Converting to a particular faith? Contributing to charity? Falling and staying in love? Right now, I just don’t know. But I do have some sense of how I don’t want to measure my life.
I used to tell myself that I won’t do something just for money, because that’s the advice I got from older people. But nobody ever does something just for money. Bob doesn’t work an extra 20 hours a week for that raise just so he can roll around in wads of cash – it’s probably because he wants to buy more stuff. Maybe a car, a TV, or a house. So I have nothing against money, and I find nothing wrong with making a lot of money. In many cases, it’s a good thing when people are willing to pay you for what you do. I just think I’ve found a better word than money: stuff.I see “stuff” as the set of all material things, including money. I don’t want my life to be measured based on my stuff. I don’t want my obituary to read, “Nobody liked him…but he did own a G6”. I don’t want others to value me based on what I own, and I don’t want to perceive myself to be any better or worse a human being based on what I have, whether it be a car, a job, or a degree. But at a more fundamental level, it’s not even about stuff. So perhaps its still not good enough of a definition. The love for stuff is a symptom, because even when a person is materially poor, she can still have a big ego.
The ego loves to create separation. It’s a constant I versus them, and I don’t want to measure my life based on how much better I am than everybody else. It’s difficult, especially growing up in a generation and society that treats so many things – school, sports, career – as a race. This practice of treating every activity as a competition and pegging every milestone with a certificate of achievement began very early. In first grade, back when I was in China, I remember feeling ashamed after scoring 99 on a math exam. Why? Because I assumed that everyone else got 100 (fairly common).
Even today, I know I’m constantly being evaluated and measured against others. The feeling of being just a number is especially strong in places where I don’t stand out and my ego is under threat. When neither my stuff nor my intellect differentiates me from everyone else. Sometimes I wonder if that makes me anti-capitalist. I don’t think so – at least not intellectually, because I value the benefits of competition. But emotionally, I’m like a socialist. I don’t want to be treated differently simply because I don’t make top ten in everything I do, and I don’t want derive happiness from thinking that I’m better than everyone else. I don’t just want to be humbled by people I perceive to be better than I am, because that’s easy. Cultivating humility is harder.
Near Impossible Projects
At the 2012 PyCon, Paul Graham presents a list of gigantic start up ideas, and posits the question “Why are most people afraid of starting projects that seem near impossible?” (rephrased). Sanity is the reason, he says. I agree, humans are risk averse. Near impossible just sounds terrifying. But the question seems to distort the reality of how big projects come about; building the next Apple sounds near impossible, but Apple didn’t start as Apple. Of course, Paul Graham understands this better than anyone – I just disagree with the question choice.
Although there’s definitely a fear of starting huge projects, there’s also a dearth of individuals with the right vision and experience to execute on small ideas with big potential. Heck, even if you simplified the problem domain of a great idea for me and handed it to me on a silver platter, I may still be blind to the opportunities. We can all nod our heads and agree that getting a billion people to join a social network is a near impossible, albeit lucrative idea. But if I was in college in 2004, and someone told me to build a better social network for my school, I don’t know if I would’ve done it. I mean, everyone used Myspace.
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
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.