One question i always had during my career in Software Development is whether to concentrate on the breadth or depth of the available tools, techniques and technologies. One major dilemna is with the amount of technologies nobody can master all. Initially when i started out i wanted to master a few technologies but with the kind of projects you get to work on these days, that doesn't really seem like a viable approach.
Nowadays i started looking into many technologies and more often concentrating on having a wider knowledge but going into depth only as and when necessary. So far this seems like a better approach especially as you gather more and more experience. Jack of all and master of some.