Ask HN: Breadth or expertise in programming?
When you set out to learn something new in programming, how do you choose between delving deeper into tools and languages you are familiar with or discovering something completely new?
When you set out to learn something new in programming, how do you choose between delving deeper into tools and languages you are familiar with or discovering something completely new?
I think a nearly-optimal strategy is to have breadth in a variety of technologies and then deep expertise in one, which you choose based on what you're most passionate about when exploring technologies. (It also helps to keep an eye on the market, so it's not completely useless.) That deep expertise is what will open new opportunities for you - nobody hires a dilettante. But the opportunities will be worthless if you get stuck in a specialty you hate.
As about technologies, they will come and go, so master your fundamentals first, everything else will make sense or at least you know where to look for help when sh*t hits the fan!
Again, I think mastery is helpful. If you can do something really, really well, you can do some interesting things. See this: http://calnewport.com/blog/2010/01/23/beyond-passion-the-sci...