

Should I Become an Expert in a Single Technology/Platform? - ishener

I'm at the beginning of my career, working as a web developer for a small company. I would really like to advance my skills, but I was wondering, in what direction: horizontally or vertically?<p>In other words, should I learn a lot about a small number of technologies, or should I expand my knowledge to a lot of fields, taking the risk of knowing stuff only superficially.<p>Both approaches are fun. While learning a lot of stuff superficially is easy and not too frustrating, becoming an expert in a specific technology can also be fun, since I get to choose that technology...<p>But what I would really like to know is which path to take in order to become a great programmer? And which is the path to a more lucrative job? Are they the same?
======
bblough
Programming isn't just about writing code, it's about solving problems.

In my opinion, once you've achieved competence in your domain, you're probably
better served by branching out to new areas. You can always go deeper in your
area if you later discover that you need to, but different domains lead to
different perspectives, and different perspectives can give you ideas or
solutions that you would never see otherwise.

------
brudgers
To steal from James Altucher, you're an expert at the intersection of all the
things you know.

Vertical knowledge in several domains is the best way to develop unique
expertise.

If the intersection of those domains is unique, you're knowledge is more
likely to have value.

