by Asim Jalis
1. While most highly successful people are passionate about what
they do, it does not follow that everyone who is passionate about
his work will be highly successful. Passion about one's field
might be a necessary condition but not a sufficient condition for
success.
2. How can you know that you will not enjoy or feel passionate
for some activity without trying it out? For example, I don't
enjoy programming, but I really enjoy test-driven development.
But I could not have reached TDD without first subjecting myself
to the unpleasantness of non-TDD programming and getting burned
at it a few times.
3. I might not enjoy skiing as a beginner but I might enjoy it a
lot when I become an expert. How can I predict if I will enjoy
something as an expert?
4. I was speaking with a friend who owns a small copy shop. He
asked me: How do you know you won't enjoy running a small copy
shop. It is so different from anything you have experienced that
you cannot know whether you will enjoy it or not without
experiencing it. Imagining is not a substitute for experiencing.
5. An acorn essentially bootstraps itself into an oak tree. It's
startup capital is the proteins stored in the acorn. It uses that
to grow small roots and a small stalk. It then uses its small
leaves and small roots to grow some more. At each stage it
reinvests its capital into becoming bigger, which allows it to
accumulate more capital (size). It's rather remarkable how small
it starts. How can this metaphor be applied to a passion.
6. Let me elaborate on that. Suppose I am passionate about
writing news. I am currently an acorn. How do I become an oak
tree? How do I figure out a path that takes me from where I am
now to where I want to be? What can I do to prevent stagnation?
How do I look for opportunities for growth and how do I select
from the opportunities that are open to me at any given time?
7. I was thinking of the importance of the biological metaphor
during a personal programming exercise a few days ago. I was
writing printf for Java (as a way to play with Eclipse). I had a
complicated algorithm that was failing a test. Fixing it required
rewriting it from scratch. So I spent some time thinking about a
way to break "rewriting it from scratch" into small steps.
Here is the solution. Keep the old algorithm and add the new
algorithm before it as a preprocessing step. Initially the new
algorithm does nothing. It runs an empty loop. This break no
tests. Gradually the new algorithm does more and more work.
Eventually it does everything and by the time the old algorithm
gets the string all the replacements have already been made. At
this point the old algorithm can be safely removed.
There is a biological pattern here. Sometimes instead of trying
to retrofit a poor solution into a better solution you just grow
a new solution next to it that gradually makes the old solution
redundant. For example, the umbilical cord does not evolve into a
mouth -- it shrivels up as its work is taken over by other
channels.
8. This might be a good way to refactor one's life in a
particular direction. Keep the old and add a second parallel part
that will eventually grow to replace the old. Create some
redundancy for a while.
9. What other biological metaphors are there that might be
useful?
10. In life-refactoring (refactoring of life), what is the
equivalent of a test-list? In programming a test-list allows me
to keep moving. As long as I can keep adding tests I have work to
do, new things to learn about my problem and about my system.
When the tests stop coming the system can stop growing.
11. Money is a special kind of asset or capital because it is the
most measurable. Happiness, satisfaction, social capital, these
are all great, except they can't be measured.
12. The connection between money and passion is important. If
there is no money you might not be creating value for anyone
else.