April writes Ask 37signals:
As a developer, I often feel overwhelmed by the amount of new technologies and languages to learn. I work long hours as it is, and the last thing I feel like doing when I get home is spending more time trying new stuff out at the computer. Do I really have to be the kind of person that is excited about spending 24/7 at the computer to be a programmer? I love my job, and I love what I do, but I want a life outside of it too.
I think the best programmers are those that do have a life outside of computers. Those who value their time in front of the screen because it’s finite, because it’s competing with other interests. That usually drives you think twice about spending eons just playing around for the heck of it (not that there’s anything inherently wrong with that).
In my opinion, the best way to learn new technologies is on the job. I learned Ruby because I wanted to escape the pain that PHP and Java was giving me and because I had a fresh project to try it on (Basecamp). I built Rails because I needed it for Basecamp. I got into Ajax because we wanted to give Ta-da a compelling UI experience. I got into REST because we didn’t want the API for Highrise to be an afterthought. I picked up on OpenID because the thought of building single-signon for all 37signals’ products sounded like a drag to build from scratch.
Sure, you some times need to do a cursory investigation on a new technology to see whether it would be a good fit for the work you’re considering it for. But that shouldn’t be a two-week project. If the technology you’re considering takes more than a few days to get a feel for, that’s information in itself (I would probably never bother with it). So you go for the taste and if it feels good, you apply it to something real.
That does require that you’re working in an environment that’s open to new technology and willing to invest in your growth as a developer by allowing you to use it. If you’re not working in a place that fits that description, I’d start looking for a place that does.