A friend sent me an article today entitled 'tactics, tactics, tactics'. I loved it.
It's about stepping back and really looking at what you're trying to learn. Are you focusing on the tools, in the case of programming, design patterns, languages, source control, IDEs, so on and so forth, or tactics? Something transferrable to any programming language, something that isn't a fad and that doesn't get in the way of actually becoming better.
The comparison of a "junior" programmer to a fledging chess player is very astute, I think. Simply being able to code does give you a rush; hell, I remember looking around at all my coworkers when I began automating tasks at my old job and thinking "What the hell is wrong with these people? Why do they think this is so hard?" Admittedly, I sort of enjoyed the attention it got me, at least for a while, but eventually I started interacting with people who were beyond my skill level, and I found that I was only scratching the surface.
I think this was a good thing. It pushed me to learn more. However, I haven't always been learning the right things. Stressing over Ruby or Python, Pylons or Django, CouchDB or PostgreSQL; while important, they're not nearly important as learning how to make loosely-coupled, highly cohesive classes. Or crafting an appropriate data solution to your application. Or understanding network communications and HTTP connections between clients and servers.
Ultimately, for me, I think this was a bit of a wake up call to get back to the stuff I get all fired up about when listening to Merlin Mann.
Get back to doing things and learning important things, not stressing over tools.
No comments:
Post a Comment