From my latest LinkedIn insight contribution:
There is no substitute for real experience. You can’t expect to be a star basketball player having only attended gym class. At the very least, you start with joining a team. It’s the same with software careers. You must experience real world software dev, with real world problems, and, well, real world people. Don’t be afraid of failure – that’s expected in the beginning. It’s the same pattern as everything else new you’ve tried in your life. Internships give you the real world experience, and are a crash course in the “Fail quickly” approach. Fail, then try again, knowing your team is there to support and correct you. That experience will translate directly into your first real job, and translate to increased earning potential.