Do devs need to explain to new hires why bad code is the way it is?