Lots of politics
Lots of paper work
Say you find a bug, gotta fill out a bug submission form
Then there is a fix-the-bug request form
if you need to change the way software behaves, say hello to a change request form, and then a meeting w/ 5-10 people discussing it for an hour or two when all you really want to do is change 10 lines of code
reallife programming is 90% design..and not designing code structure either..writing documents..requirements documents, software design, traceability (ie this software feature is a result of needing to fit this requirement) basically lots of docs that keep a paper trail of work so management or whoever else is interested can read up and see what's going on.
reallife programming is abuot 10% acutal programming....document writing, code reviews, and fighting with people to get the features you want implmeneted