Perils of Software Engineering

If you look at trends in software, you see a macabre parody of Moore's Law. The expense of giant software projects, the rate at which they fall behind schedule as they expand, the rate at which large projects fail and must be abandoned, and the monetary losses due to unpredicted software problems are all increasing precipitously. Of all the things you can spend a lot of money on, the only things you expect to fail frequently are software and medicine. That's not a coincidence, since they are the two most complex technologies we try to make as a society. Still, the case of software seems somehow less forgivable, because intuitively it seems that as complicated as it's gotten lately, it still exists at a much lower order of tangledness than biology. Since we make it ourselves, we ought to be able to know how to engineer it so it doesn't get quite so confusing.



From the book Dreaming in Code, quote by Jaron Lanier.

The Pursuit of Happiness

[...] we cannot reach happiness by consciously searching for it. "Ask yourself whether you are happy" said J.S. Mill, "and you cease to be so." It is by being fully involved with every detail of our lives, whether good or bad, that we find happiness, not by trying to look for it directly. Viktor Frankl, the Austrian psychologist, summarized it beautifully in the preface to his book "Man's search for Meaning": "Don't aim at success -the more you aim at it and make it target, the more you are going to miss it. For success, like happiness, cannot be pursued; it must ensue... as the unintended side effect of one's personal dedication to a course greater than oneself."


From Flow by Mihaly Csikszentmihalyi.

Why is Programming Hard?

Deutsch: One of the things that I've been thinking about off and on over the last five-plus years is, "Why is programming so hard?"

[...] the world of basically all programming languages that we have is so different in such deep ways from the physical world that our senses and our brains and our society have coevolved to deal with, that it is loony to expect people to do well with it. There has to be something a little wrong with you for you to be a really good programmer. Maybe "wrong with you" is a little too strong, but the qualities that make somebody a well-functioning human being and the qualities that make somebody a real good programmer - they overlap but they don't overlap a whole heck of a lot.


From Coders at Work, Reflections on the Craft of Programming by Peter Seibel.

Programming

Seibel: Do you still program a lot?

Peyton Jones: Oh yes. I write some code every day. It's not actually every day, but that's my mantra. I think there's this horrible danger that people who are any good at anything get promoted or become more important until they don't get to do the thing they're any good at anymore.


From Coders at Work, Reflections on the Craft of Programming by Peter Seibel.