Friday, October 7, 2016

The Three Tools For Improvement

tools

As I see it there are three main tools to improvement.

  • Learning
  • Practice
  • Application


These three things need to be balanced at least until you have really mastered something, then you actually get to go into the fourth tool innovation.  Let's not go there yet.

Why is balance important?

Learning is great, but without practice, and application it's just theoretical.  Practice is great, but without learning you'll stay in the same spot and without application you are sharpening a sword you never cut with.  Application is important, but without learning you will be stuck doing the same thing and without practice you won't have a chance to improve your weaknesses.

Depending on where you are on your journey there will be a bigger focus on some parts over others, but it's important to touch all of them.

I recently started playing table tennis and let me tell you I was horrible at it.  I'd never played it before and barely understood the rules.  Now I'm not going to say that I'm a great player, but what I can say is my game has improved faster than a lot of my colleagues that had been playing longer than me and the primary reason for this is that I did learning and practice, while all they did was application.  I watched YouTube clips on how to do different serves and shots as well as watched game play for study.  I found partners who would just do training where we would just work on one thing over and over.  On occasion I would play a game too and thus get application.  My colleagues were only interested in playing competitive matches.

If you are only doing application you can't really afford to take chances on new things or if you do, you are gambling on luck.

OK, now what the heck does that have to do with developing software.  The rules are pretty much the same here.  I'm sure you've met a developer who's been in the game for a long time and their code still looks they same as it did 10 years ago.  They may even be exceptionally good at getting things done, but they are using a screwdriver as a chisel.  They might be really good at doing it, but if they would take the time to learn how to use the darn chisel they could be even better.  They are completely focused on application.  Hey, that's what we get paid for.

You may have also met the developer who is super interested in the new hotness every week, and can tell you the differences between all the JavaScript libraries and that guy couldn't code his way out of a wet paper bag. All learning, no practice and no application makes you at best a know it all.

Now the trick is that you need to figure out what is lacking in this three legged stool of learning. Once you do that you need to get after that, you might even need to overcompensate for a while.
I can tell you the place that I am lacking in the development realm is with practice.  I do a lot of learning and I do application at work, but I don't spend enough time just practicing coding, and mastering the skills I'm learning.

So with this post I'm going to try to do some code katas and think up a side project for myself.  I will give an update post on that at a later date.

What are you going to work on?






No comments: