As a developer, can you handle power?
Are you able to cope with choice?
If tasked with a project, right now, can you list 3 or more ways to implement the project that would all be the same to the eyes of the user?
Can use use tools to quickly generate a solution?
Can you do the same without those tools?
A developer today has more choice, more power, more tools, more frameworks, and more patterns than ever before. It's hard not to put on blinders and focus only on a small part, to seek to understand just a corner of the programmer's world - be an expert in your area. It generally pays better too, for a little while.
Then technology advances, reverts, reinvents, and casts the expert aside as obsolete.
Specialization is for insects.