I have a CS Degree; my most growth as a programmer was when I got a job at a business to business consulting firm. Putting a lot of the theory into practice in a professional setting was a trial by fire, so to speak.
In my version of the world; most people tend to specialize and know their area very well; but often do not know the breadth of technology very well.
If it is an option; you can try to go back to school for a programming degree. Or you could go to a conference for something different than your day to day job. Or you could work on an open source project using different technologies than the one you work on in your day job.