Playing chess is a lot like software, in that doing something a lot does not necessarily mean you are getting better at it. This is especially true in chess, because if you play poor opponents, you can never progress beyond their level. I play chess online sometimes, I find that it can be a fun and short diversion from an otherwise hectic work day. However, far too many of the games I play are against players who seem to play a lot, and continue in the same lousy patterns. Here's an example of a game opening that I have played literally dozens of times, against players to are reported as being ranked 1400 and higher:
- e4, c5
- Bc4, Nc3
The move pattern above is a common amateur opening. By positioning the queen and the bishop just-so, the opponent hopes I stumble into a mate on move 4. Surprise! I beat you using an old trick! I begin to wonder sometimes whether people who are rated 1400 or higher have reached that rating just because they beat so many careless opponents using this simple trick. I reply, by necessity, with: 3. ..., g6 (3. ..., e6 never seems to do me any favors), which is typically followed by 4. Qxc5. Now, I'm down a pawn, but my opponent has brought out his queen far too early and is going to have to dance her around the board avoiding my attacks as I develop at my leisure.
It's hard to remember how many games have started like this, because I typically don't keep count. However, I will tell you that I win the majority of these games.
In chess, every game that you play--win, lose, or draw--should teach you something. Likewise, every software project, whether it's a success or a failure, should be a learning experience. You should always ask yourself, "What did I do wrong last time?", and avoid those things. Then ask yourself "What did I do right last time", and try to repeat those. Finally, ask "What can I learn overall?" and use that information to improve yourself. Writing bad software for 10 years is never going to make you into a good programmer, in the same way that playing bad opponents is never going to make me a great chess player. Being confined to chess mediocrity isn't so bad, however, since I only play about 5 minutes each day, don't get paid for it, and never have to do it in public.