Practicing what matters
I read an interesting article in the Wall Street Journal the other day about “Must-Have Job Skills in 2013”. While this wasn’t necessarily referring solely to technical fields, it was still interesting. Here is their list of must-have job skills:
- Clear communications
- Personal branding
- Productivity improvement
It made me think of the software craftsmanship people and the importance that they place on things like code katas, learning new languages, etc. If you’re a developer and you spend time honing your craft, how much value are you placing on skills like:
- Being able to write a good requirements document
- Facilitating a requirements gathering session with business users
- Giving demos of your software to users (in their language)
- Coming up with estimates for a large set of functionality
- Being able to evaluate tools and frameworks and choose the best one for your project
Admittedly, it’s much easier to practice TDD than it is to practice requirements gathering. But these are skills that I feel are very important for developers. There are lots of people who can write code, even good code. If I don’t know how to use a language or framework, someone can teach me pretty quickly and I’ll pick it up. But can you also pitch in and help with requirements gathering, test planning, system architecture and design, and everything else that needs to be done on a project? Now that will set you apart.
When you think about learning new skills and investing in your career, just make sure that you don’t limit that to tools and technology.
These skills are more and more important as you climb the career ladder, but unlike TDD it’s very difficult to practice them on your own time and/or by yourself. Creating opportunities to practice these skills will take a lot more effort to create than just File -> New Kata.
My best advice is to be intentional about building these skills. Be proactive about practicing them “in the small”. Ask to lead the next iteration demo, or do some estimating on smaller projects (even if someone else’s estimate is the “official” one).