That said, if you can't find an engaging and challenging experience learning about software in your college, either A) you are at a bad college and need to change or B) you haven't actively tried to take full advantage of the resources available to you.
When I was an undergraduate I took graduate courses, TA'd intro courses, worked on research projects, got published, etc, and I wasn't some uber student. I just was really interested in things and spent a lot of time asking professors and graduate students stuff. I had the opposite problem, there was so much I wanted to learn about and so little time to do it.