Programming is shifting from writing code to directing agents, where the key skill is managing uncertainty