Working Effectively with Legacy Code
Comments and mentions from HN threads:
Ask HN: What language-agnostic programming books should I read?
mikekchar: It's a bit hard to wrap your brain around the Java and C++ examples unless you have experience with them, but the techniques are timeless. You may need to practice them extensively before you understand how important they are, though. In a recent book club we did at work, a common complaint was, "This just looks like common sense". Indeed it does... though the common sense is uncommonly hard to find when you are staring at the actual situations this book helps you with.
tmaly: As others also mentioned this. I think this is becoming more important as people transition to new jobs where they have to take on existing software. Having a process to deal with code that lacks documentation and tests is really important.
Mentions by: cessor
Ask HN: What books had the greatest effect on how you structure your code?
Ask HN: Which books have helped you the most professionally?
joshka: Practicing some of the techniques in this helped me get my foot in the door in a job long ago where one of the interview scenarios was "This is broken, go ahead and fix it.". I recommend reading this for anyone working on a code base that's been around for a while.