Not even my code is so good that I can't screw it up entirely when making changes.Unfortunately I spend quite a lot of time writing code that can't really be unit tested easily. Its quite a challenge to be writing asynchronous communication code for external boxes I don't even have. Any unit test I came up with would be pure guesswork, and with my luck, probably wrong. So instead the customer runs full tests on new releases and sends back error logs & other diagnostic bits of information which I use to guess the problem and possible fixes for it.
Welcome to the dark side of engineering.