When you look back at the time when you started programming and look at where you are now, what surprised you the most?<p>Is there something that turned out to be the opposite of what you originally thought it would be?
Great code is not required to make money and does not neccessarily help increase revenue. Customers cares more about issues being addressed now than how well it is designed underneath.
When I started, I was very creative, had little restrictions and thought naively that programming was mostly about problems solving. However in my day to day programming work, 30% of the time is spent learning new tools others have developed, 5% is spend deciding what tools to use to build something and how to glue everything together, 25% is spend implementing the project, and the only problem solving is the tedious debugging that occupies the remaining 40% of the time.
Try and learn as much as you can, even if it doesn't fall into a realm of CS that you are interested in. Little tidbits of knowledge will accumulate over time and in the end you'll be a more well-versed engineer than someone who didn't pay quite as much attention. This is coming from personal experience, best of luck! :)