The real challenge is to create something that has meaning beyond its function.
In computer science, we often deal with problems that are easy to state but hard to solve.