A program, we must remember, is both a programmer’s series of instructions to the computer, and the resulting program’s series of instructions to its users. The instructions to the computer are defined by syntax, while the instructions to the users are defined by user interfaces.
In well-designed software, the instructions to the user tell a clear story of the world the programmer is trying to achieve, though the best ones tend to maintain some ambiguity. They tell a user to communicate publicly in 140 characters, or to edit an encyclopedia entry, but they don’t specify which characters or which entry. The magic happens when a well-told story meets an imaginative set of users.
And so, the art of software becomes the art of coming up with a beautiful story of a world that could exist, and then telling that story in code (half of the story anyway) to the right set of users.
To such people there is tremendous power, for programs are more direct than poetry. They act on the world. They give a framework not just for human thought, but for human behavior. The stories that these programmers tell, if they tell them well, are likely to become realities.