I had a similar experience in my first year after college working for BigCo IT. I'm somewhat surprised that you went through this at a tech company, so I guess "big" is an important factor.<p>Initially I thought that as with my high school programming job, I'd learn a lot at work. I also bought into a certain sense of obligation: "I'm salaried, so work doesn't stop after 8 hours a day!" I came to realize that work wouldn't be completely intellectually fulfilling, and that I value intellectual growth over corporate loyalty. I decided to explicitly dedicate time for intellectual advancement apart from my regular job responsibilities.<p>So, my first antidote to intellectual stagnation was to apply for tuition reimbursement and enroll as a part-time grad student. I made arrangements to work half days on MWF or take very long lunches TT. Real-life lectures are better than online ones because you can ask questions, and the homeworks and exams are very helpful for giving you an objective reference on your progress.<p>That didn't help my salary or my future job prospects (as far as I can tell), but I'm very glad I did it. I think it worked out well for my employer during that time, too, because it kept me happy enough stick around at a lowish salary for a couple years when I was performing very well but not feeling very challenged at work.<p>The second thing is that I maintained my ACM membership and read Queue and CACM. I think that helps me to stay somewhat aware of the progress of the field. I've used the digital library several times to help me with particularly thorny programming problems at work.<p>Finally, if you're not doing new stuff at work, try to motivate yourself to do something new at home. Maybe you just implement an algorithm you read about from CACM Research Highlights or whatever, or maybe you join a programming club and volunteer to teach a topic. I think it's very important to keep doing and not just reading.