From “How to be a ‘Woman Programmer‘” (NY Times, May 18, 2013)
-by Ellen Ullman
” I WAS an ordinary computer programmer. I wrote code that ran at the levels between flashy human interfaces and the deep cores of operating systems, like the role of altos in a chorus, who provide the structure without your taking much notice of their melodic lines. I made realistic schedules and met my deadlines. Those were decent accomplishments.
Let me separate the two words and begin with what it means to become a programmer.
The first requirement for programming is a passion for the work, a deep need to probe the mysterious space between human thoughts and what a machine can understand; between human desires and how machines might satisfy them.
The second requirement is a high tolerance for failure. Programming is the art of algorithm design and the craft of debugging errant code. In the words of the great John Backus, inventor of the Fortran programming language: “You need the willingness to fail all the time. You have to generate many ideas and then you have to work very hard only to discover that they don’t work. And you keep doing that over and over until you find one that does work.” “