Another slice of the real world is full of tech companies. Again, big companies will demand credentials. They will care more that your major is actually relevant and that you graduated from the right school compared to a non-tech company. But, tech companies are better able to discern actual skill and talent than non-tech companies. So, particularly in small tech companies, they won't actually require formal credentials if it's clear that you'll perform well. Tech companies by definition have to innovate to survive, so they're about solving all sorts of problems that haven't been satisfactorily solved before. C++ and Java are popular languages, but there's more diversity here than in IT.
There are lots of small businesses that need software for something. They will often advertise one-off projects and wind up using coders from low-wage countries. There are lots of terrible programmers working for low prices, but if you don't care about making money you could compete with them for coding jobs just to get the experience. In the real world, there's a lot of terrible code whose owners need bug fixes and new features. There are also many terrible coders who promise the world and work for rock-bottom prices. So all around, that could be an eye-opening experience.
"The real world" is often used in contrast to academia, but it's silly to deny the legitimacy or practical benefit of basic research. There are university and commercial labs where researchers do really imaginative thinking and lots of experimental work to develop new programming languages or techniques. These places normally require advanced degrees and plenty of evidence of your brilliance and ability to convince other people that your ideas are interesting. They write a lot of math and prose and demos or experiments, but normally someone else turns the most promising ideas into mass-market products. Researchers don't care so much about maintainability, so they often favor languages that provide individual power (think lisp) over group safety (java). They are a well-educated and smart group, so they don't fear coq or haskell. C++ is pretty popular in certain circles, but generally this group cares least about agreeing to use any particular language.
I suggest you find a free software project that makes software you personally enjoy using, and contribute to that. You can start today, without formal credentials. Hopefully, you can find such a project whose members care about mentoring! Maybe http://code.google.com/soc/ is a good place to start looking. Anyway, you can learn plenty about the reality of software engineering by studying a free software project. Learn the language they use, read their design documentation to see what they think the most important properties and relationships in the codebase are, see how they manage bug reports and feature requests, etc.