I just finished Eric Evan's Domain Driven Design book (see my notes here).
I'm struck by his Epilogues section about how most of the great software he and his colleagues sweated over is quickly brushed aside in a few years as business needs change. All that work lost, like tears in the rain.
That's the thing about software. It's so easily discarded. Most of the software I've written in my career has been used for a few years and then thrown out, or never even put into production. As software professionals we don't have the satisfaction of our friends in Civil Engineering or literature as Robinson Jeffers so eloquently says:
To the Stonecutters
Stone cutters fighting time with marble,
you foredefeated challengers of oblivion
Eat cynical earnings, knowing rock splits, records fall down
The square-limbed Roman letters
Scale in the thaws, wear in the rain.
The poet as well
Builds his monument mockingly,
For man will be blotted out, the blithe earth die, the brave sun
Die blind and blacken to the heart:
Yet stones have stood for a thousand years,
and pained thoughts found
The honey of peace in old poems.
-Robinson Jeffers, 1887-1962