Want to write great code? First, solve a problem worth solvin