Why Software Engineering’s Hardest Problem Shifted from Coding to Proving Code Works