I’m attempting to strengthen a weakness in my knowledge; that weakness is making changes to legacy code with a high degree of confidence. As Michael Feathers puts it in his book Working Effectively with Legacy Code, Legacy code is simply code without corresponding tests. It doesn’t have anything to do with when the code was written or what language it was written in; legacy code is code without tests, often poorly implemented.