I just had a conversation with one of my teammates. He's not happy with being seen as "The Javascript Guy", and prefers to be seen as a good all-around software developer.
He does make a very good point. How much of our time should be as "generalists" and how much specializing in particular languages, libraries and toolkits? How much time should we spend learning new things, vs time spent using the skills we have already built?
It isn't an idle question. At the extremes, if you're constantly learning new things, you're always a newbie and not adding a lot of velocity to your project. If you stick with the skills you have and apply only those skills, you will eventually be left behind by the march of technology, and obsolete as a developer.
My opinion is that the balance lies somewhere around 80/20, or even 90/10. The majority of your time should be spent putting the skills you already have to good use. I also think that the 10-20% time is spent in bursts, so the reality is that I'll spend 99% of my time exercising skills I already have, and building just a but of new mental muscle. Then I'll discover a need for new skills and spend 90% of my time learning *that* new thing, which slowly ramps down as I use it.
What do you think? How "special" and how "general" should a good developer be?
-
Windows 10 has an issue with this mechanical keyboard (which works great, BTW). It's a Chinese-made keyboard (aren't they all?), bu...
-
Pair programming is an XP practice of putting two people in front of a computer, and having them program together. If you haven't see...
-
The days of the "heads-down coder" who spent all of his time in a cubicle writing code from spec are numbered. Today, developers ...