My first paying programming job was adding peer-to-peer multiplayer to an already fairly mature game that was not designed for it. This gave me a LOT of experience debugging other people's code. That style of multiplayer, common in RTS games, requires every computer to run the same calculations in lockstep. This particular code base had complex AI... with a surprising number of uninitialized variables. I guess it wasn't THAT bad looking back, but tracking them all down took me months, and I learned a lot about developing and debugging large projects in the process.
(The game was Close Combat, if anyone was going to ask)
(The game was Close Combat, if anyone was going to ask)