Everyone knows Bruce Lee. He is a martial arts master, a movie star,and a student of Yip-man and more. As for an ordinary Asian dude, I wanna be like Bruce Lee when I was young. I wanna be a bad-ass like him. Nothing more than that…

But after reading a brief biography about him, it seems that he is more than what I know when I was young. He studies philosophy and even writes poetry. The following quotes are some extracts of his belief and thoughts on life, learning and working.

10,000 Kicks

I fear not the man who has practiced 10,000 kicks once,
but I fear the man who has practiced one kick 10,000 times.

As for a coder and technical guy, I take it into ways that I can familiar with. From this quote, I have two ideas related with software development.

There are two types of coder; ones who plan, code, run and debug it after a milestone and ones who debug and test at small snippets. I am second type of coders who code,test and repeat the process. In this way, I believe “losing your mind in a pile of bugs” is reduced to a certain extent.

Another aspect of categorizing technician and coder is by working and learning behavior; “specialist or generalist?”. A specialist knows few things into a deep level of understanding. A generalist can capable of working with various technology and platform but knowledge on these subjects are limited. The first type of person is who knows a single powerful kick and the second type of guy is more like a person who can kick 10,000 different ways. In IT world, it’s a controversial issue to judge whether one is better than another. Due to dynamic nature of the field, technology is evolving and a specialist needs to catch up and have to learn new things. As for generalists, it is still important to understand matter to a practical level. Knowing little is harmful than knowing nothing.

Blow punches or Kicks

Take things as they are.
Punch when you have to punch.
Kick when you have to kick.

This is also a nice practical thought on how to plan and get things done. Research & evaluation is 2 important procedure to consider when you are initiating for a new project. There are many things to evaluate such as “which programming language to work with?”, “what kind of development methodology to exercise?”, “Tools, Frameworks and necessary technology for the project?” and so on. It is important to research and evaluate to get things done productively. Everyone wants an axe to cut a tree rather than a knife, but it’s infeasible to cut an apple with axe.

Lost in a forest of thoughts

If you spend too much time thinking about a thing,
you’ll never get it done.

A frequent advice you might hear from experienced coder is that “take a short break frequently”. Programmers are like artists or musicians. They need to get into the “zone” to craft things. For me, I am not working very well in the distracted environment and worrying about else. I really need to have a relaxed mind and environment to code and I believe it’s common among programmers. Forcing yourself to solve a bug for an hour gonna make you to oversee the real problem.Many problems are solved while you are not actually not thinking about it. Just skip it and work on another thing.Just take a coffee break to cool down your brain.

To recap, it can be seen that he is a practical man with simple ideas to achieve things.

Learn, apply and achieve by working smart and hard.

Get an idea, stop daydream and start execute it. Like Shia Labeouf said