You're a better programmer if you don't make the choice and
do both. Generalists are useful, but general specialists are
better. There isn't a market for people who know many things,
but don't know anything very well.
You should know a lot of things, and at least now some things
very well.