Breadth or expertise in programming?
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.