For Fun

The Last Ten Percent

June 29, 2009

There's a well known law of the universe that goes something like this, "the last ten percent always takes ninety percent of the effort". And this law has stood up pretty well against empirical testing. Everyone knows the difficulty in bridging the gap from being a 90% percent student to a 100% percent student, in adding the final touches on a painting without making a mess of the whole thing, or in mastering the last few notes of that sonata, or debugging the last few lines of their code.

But there is a positive side to this law as well. If the last ten percent takes ninety percent of the effort, then conversely, the first ninety percent only takes ten.

In simple terms that says, "beginners catch on fast". This means that for whatever you want to learn you should really just dive right in, because it really doesn't take that much work. It's the perfect opportunity to experience and learn something new. It's taking advantage of the learning curve before it starts flattening off.

Furthermore, something that applies to me and that I think applies to most other people, is that the subject becomes immensely more enjoyable after being acquainted with the first ninety percent. And consequently, not even the last ten percent is too intolerable, because now it's fun. And if it's fun, then it feels a lot less like work.

I had a habit before, of being apprehensive of learning something new. One of my worst fears is to be a jack of all trades but master of none. So taking the (seemingly) enormous amount of effort to learn something new adequately always seemed like effort that would be better spent perfecting whatever it was that I was already good at. So I was always reluctant to venture into unknown fields.

What really changed my perspective was:
  1) My summer programming job and
  2) The fourth year courses I took in university

I never felt any apprehension when I was told I needed to learn something new for my job. This was probably because I would have been fired if I didn't, which means I really had no say in the matter, and also because I was being paid to learn it, so at the very least I was being compensated. For whatever I needed to learn that summer, I just jumped right in without a second thought.

It was disorienting. For the first few days I couldn't make heads or tails out of what I needed to do. But gradually I started to be able to piece portions together. And by the end of the summer, I was well versed. I wasn't an expert, but I was at the level where I can see what I have left to learn before becoming one.

My university courses were similar. I was accustomed to using compilers for my daily work well before my fourth year of engineering. They were abstract, complex, and intricate pieces of software that I was thankful I didn't have to touch. I was grateful to the geniuses who are smart enough to write compilers so that I wouldn't have to.

I took the introductory course to compilers, and my professor literally dragged twenty dazed students through forty years of computer science history in four months. There wasn't enough time to be apprehensive this time, with all the quizzes and assignments. And it greatly helps to have someone lead you through the initial stages of disorientation. By the end of the course, I had written a simple compiler for a simple language, and understood the basics of compiler theory. I wasn't an expert, far from it, but I can see clearly what's left to becoming one.

So if there's something that you have always wanted to learn, and have been putting off for one reason or another, my advice is to just grit your teeth and start. That first bit of disorientation doesn't last long, and the first ninety percent only takes ten percent of the effort anyway.


Comment on this article, or read what others have said.