One of the most satisfying aspects of writing code, for me: Telling a computer to do something, and having it follow your command so literally that it actually reveals to you that the problem you were trying to solve was much more complex than you had originally imagined.