I wish more programming competitions followed the format of the ICFP. 72 hours, teams of a half dozen or so, solving an open-ended problem, often an optimization problem where an exact solution is NP-hard. You're judged by how well you do, not by whether you get the correct answer (which often isn't computationally feasible anyway).
That seems to most closely approximate real-world programming problems.