Did any of you guys ever encountered a situation in which you were faced with a code base that was poorly documented and poorly written and you just had to develop with it no matter what? .... well of course you did, I guess my question is, how did you guys get over that? I am in that situation right now and I still don't feel like I'm owning it.

All too often, sadly. My two most recent experiences went like this:

  1. Notice awful code, realize it's so tangled that it's impossible to work on it bit by bit, convince everyone it's not worth "fixing", replace it completely

  2. Notice awful code, carve off bits that are fairly self-contained and rework them, repeat until it's good enough or you retire.

It's a bit like copyediting the Necronomicon...

Oh yes, far too often.
2 times out of 3 it seemed begtter to guess the external spec and re-code from scratch, 1 time in 3 try to fix it.
Either way the real issue is to reverse engineer the external specification so you know exactly what it's supposed to be doing.

If, on the other hand, there is a decent external spec anyway, then IMHO a re-write is the right long-term solution 90% of the time. Mind you, persuading "I've got a degree in businees management, and a quarterly goal to meet" muppet managers to see that is even harder.