Regarding the "specialization is more interesting" - I have the opposite opinion.
11 Years ago I starting in the video games industry, as a graphics-programmer. This meant I lived and breathed graphics-related topics. After about 6 years I could no longer take the tedium. I moved away from graphics into more general programming (in the same company) and found the variation really helped me get through the day. I've now left the games industry and couldn't be happier.
My suggestion is that if you are unhappy in your current programming role, learn some new stuff in your spare time and apply for a new job. At the end of the day, we do stuff that only a small % of the population can do. It's a skill that people are willing to pay you for, and you don't have to go down mines or anything :)
11 Years ago I starting in the video games industry, as a graphics-programmer. This meant I lived and breathed graphics-related topics. After about 6 years I could no longer take the tedium. I moved away from graphics into more general programming (in the same company) and found the variation really helped me get through the day. I've now left the games industry and couldn't be happier.
My suggestion is that if you are unhappy in your current programming role, learn some new stuff in your spare time and apply for a new job. At the end of the day, we do stuff that only a small % of the population can do. It's a skill that people are willing to pay you for, and you don't have to go down mines or anything :)