... and sometimes make a lot of money fixing it
My contract with a large company was coming to an end and my replacement was a 'young whizz kid' with computers (I'm in my 50s). I had to train him to maintain a multi-user database I had brought up to date from a single user text front end to a multi user, concurrent, graphical Java-based front end (worth noting that I was not allowed to touch the underlying database structure, just build a front end)
Turns out that Whizz-Kid means a cheap graduate with a great looking CV but no real life experience. I handed over my notes, procedures etc, did the training handover and moved on to another contract.
Just over 3 months later it all went wrong and I got the panic call. Recent graduate had changed the code then left and left everything in a mess. It turns out that he didn't understand a lot of stuff like threading, locks and synchronization.
Or back ups.
Rather than admit it he hid the problems until they became too big to hide and then bolted.
I boosted my hourly rate to eye-watering levels and spend a couple of months fixing the mess and ended up with a regular contact to do a health check.