Technology with opinion

Monday, April 04, 2011

The Way of Kung Fu Programming

Kung Fu's literally meaning is the skill achieved through hard work. I was watching my kids watch the new version of Karate Kid and caught the scene where the kid is taking of his jacket and putting it back on repeatedly.

In the original Karate Kid the student was doing chores for his master, however, in politically correct times such as these this would be considered child labor so they decided to have him put on his jacket over and over again. Nevertheless, the point that is being made in both films (and throughout all martial arts movies and dojos) is that skill is achieved through hard work and practice.

This is something that is severely lacking from most of our occupations and lives. Our society is full of quick fixes for people in search of a quick buck within a culture that is driven more by money than passion. For the uber ambitious you can trade your weekends and in a few years have an MBA (weekend MBA programs). For the technically inclined, you can become Microsoft certified within one week even if you lack real world experience. Nothing is wrong with either of these in of itself however they are more/less marketing tools for yourself to land a job.

Trades used to have apprenticeship where individuals would be mentored within their occupation and people were given time to mature based upon their natural abilities and ambition. Repetition and practice is the key to becoming good at anything, but these two things are also great at filtering out people from a career for which they have no ambition. Of course, management and programming are part of many careers which people seek out without any true ambition of the subject. Unfortunately, the natural filters which used to exist that required someone to practice something no longer exist. Today with enough money, charisma or connection just about anybody can be anything, but that doesn't mean they can achieve anything.

Having Kung fu programming would mean that you are skilled. It doesn't mean that you're a a "Senior Developer" or "Architect"; these are just titles that our employers give to us. Seek your passion and if that passion is programming then follow in the ways of Kung fu programmers such as: Jimmy Bogard, Oren (AKA Ayande), Derick Bailey, Jeremy Miller or anyone blogging at Los Techies or CodeBetter. Also don't forget to practice even things that originally seem like basics and take some risks. It will help you improve and open up opportunities.