When I graduated from college, I thought that I had a pretty firm grasp on what it would take to survive in the real world. I had a solid foundation in the field of computer science and I was determined to immerse myself in my profession. I kept up with the latest and greatest design patterns, development tools, frameworks, and programming languages. I read books and blogs, listened to podcasts, went to conventions, and dabbled with open source projects as well as my own personal projects. I had it all figured out...or so I thought.