Is it better to be good at many things or great at one thing?

Young man here, should I learn one thing really good (like back-end programming) or go all out and learn as many things(front-end, 3d, photoshop, back-end etc..) as possible and be okay in all of them.