It depends on what you want to do. If you want to stay on the bleeding edge of things, building awesome products and generally having a good time, then sure, always keep learning and switching toolsets and all that. But there are niches (e.g. driver development, reverse-engineering, compiler dev (just taking some niches I personally work in and know well)) where your toolset may not change substantially for a decade or more. This isn't necessarily the most fun work in the world, but that's why it remains highly paying, and will for a very long time to come. You don't see many people coming out of college and saying "you know what? I want to write kernel drivers for webcams!", versus "I'm going to build the next Facebook!"
Facebook was built with PHP. I think it's almost a cargo-cult to think that you HAVE to be switching technologies constantly to build the awesomest stuff out there. You do your best work with a language/environment maybe 2+ years in when you know it very well.
Of course, you can both master a niche _and_ build awesome products and have a good time -- the two are not mutually exclusive as your comment implies.
Comments
It depends on what you want to do. If you want to stay on the bleeding edge of things, building awesome products and generally having a good time, then sure, always keep learning and switching toolsets and all that. But there are niches (e.g. driver development, reverse-engineering, compiler dev (just taking some niches I personally work in and know well)) where your toolset may not change substantially for a decade or more. This isn't necessarily the most fun work in the world, but that's why it remains highly paying, and will for a very long time to come. You don't see many people coming out of college and saying "you know what? I want to write kernel drivers for webcams!", versus "I'm going to build the next Facebook!"
Facebook was built with PHP. I think it's almost a cargo-cult to think that you HAVE to be switching technologies constantly to build the awesomest stuff out there. You do your best work with a language/environment maybe 2+ years in when you know it very well.
Of course, you can both master a niche _and_ build awesome products and have a good time -- the two are not mutually exclusive as your comment implies.