Real-world problems
Programmers like solving real-world problems as opposed to made-up ones. A useful 10-line bash script is more fun to write than the most complex Leet code challenge. Why is that?
Real-world problems have lots of participants in different roles, thus allowing us to make a bigger impact. We innately feel the joy of helping others, and helping a large number of people is exhilarating. And that's the privilege real-world problems provide.