

Ask HN: Breadth or expertise in programming? - marilyn

Is it better to have breadth or depth in your programming knowledge, skills and experience?<p>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?
======
nostrademons
Tough choice, because you really want both, and yet you can't have both.

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.

------
samratjp
I don't know what you mean exactly by programming knowledge, but if you are
talking about languages, then pick a core language of your choice and master
it. Then, dabble in a few useful frameworks in that language for later. As a
side note, js seems to be such a language to keep in mind for the next decade
or so, at the very least :-p

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...](http://calnewport.com/blog/2010/01/23/beyond-passion-the-science-of-
loving-what-you-do/)

------
abalashov
Expertise.

