François Chollet discusses the challenges of program synthesis, particularly the difficulty in generating good abstractions. He highlights the difference between how software engineers approach program synthesis and how cognition search processes work. Chollet emphasizes the importance of leveraging libraries of ready-made abstractions to enhance programming capabilities.