“Coal is momentary and coal is costly.”
So said Ebenezer Scrooge in my favorite 1984 version of the the classic “A Christmas Carol.” Scrooge could have easily been talking about software too, because the vast majority of good software is both costly and tragically momentary, relatively speaking. Think about it for a moment, what software are you using today that you used 10 years ago? MS Office perhaps. What else? I’m willing to bet not much.
Over my career as an independent developer right out of college, a mainframe systems programmer and web developer after that, and now an independent IOS developer, I have written my share of production software. Some of it transferred millions of dollars between financial institutions. Some of transferred prices to grocery store cash registers over a VSAT network. Some of it kept track of nationally-known name-brand cookie recipes. A small chunk of it cranked out payroll checks on a weekly basis. The list is long, and yet today 95% of it is gone, and I find myself asking “What do I have to show for all the blood, sweat, and tears?” Was it really worth what I put into it?
The tragic nature of good software is that while it requires enormous effort to produce, it’s temporary in nature. It simply becomes obsolete so quickly. There is no one “to blame” per se, it’s just the way it is. (Yes, I realize there are probably millions of lines of COBOL code still running our federal government, but much of that has been a group effort over decades, and I’d wager today’s code bears little resemblance to the original.)
It seems to me there needs to be more in it for the developer than whatever he or she is getting paid. Setting aside the so-called “rock-star” programmers who hit it big early in the App Store game, the money that the majority of developers make never really equates to what they pour of themselves into the work. Every person wants his work to matter, to be meaningful, to make a difference. It’s not all about the money. Personally, I want my work to not only make a meaningful difference, but for it to be of lasting value for as long as possible. Insofar as software is concerned, I think I’ve found a solution.
Regardless of your worldview (mine happens to be Christian), I think all of us in Western society can agree that there are innumerable millions of people in this world that need help – widows, orphans, AIDS victims, the homeless – the list is literally endless. Jesus once referred to them as “the least of these.” A piece of software may be temporary, but while it’s alive it can make a lasting effect in the lives on a few of the least. How? My choice is World Vision. Spend a few minutes on their site. There is bound to be at least one need there that will resonate with you, if not flat out break your heart.
Earlier this year I designated a particular need at World Vision to each of my apps. MusicTools and NextPage are providing clean water, micro-finance money to poor farmers, and even goats, sheep and chickens to help families sustain themselves. These apps will eventually fade away, but the impact they have will be worthwhile and lasting. Lord willing, all of my future apps will do the same.
So that’s how I’ve solved the problem with software. As Spock said to Kirk in The Wrath of Kahn, “What do you think of my solution?”