3 December 2020 Paul Graham Everyone by now presumably knows about the danger of premature optimization. I think we should be just as worried about premature design – designing too early what a program should do.