It is not so much coding knowledge, as you need to know what their current code does.

As with paint, you can always paint yourself into a corner and it becomes much more difficult to do something. But it is never impossible.