Philosophy 04 Apr 2004 01:49 pm

American Culture Essay

Our Sprawling, Supersize Utopia

One of the author’s central assertions about American culture is that we are driven by a collective fantasy about how great the future will be:

the assumption that some culminating happiness is possible here…

That’s why you meet so many boring-looking people who see themselves on some technological frontier, dreaming of this innovation or that management technique that will elevate the world…

Now I think he is being a bit of a jerk with that last part of the quote. What is a boring-looking person, and how many do you meet that have great ideas about changing the world. Maybe I don’t get out enough. Anyway, if you ignore that part, his underlying observation is pretty thought-provoking. It seems normal behavior for Americans to be dreaming of a better future and trying to invent it.

I do not know that this is actually just an American behavior. I would tend to believe that it is not. At this point, I assume that this is just human behavior. Alternate check on that assumption, what lead people to come here in the first place, or to go anywhere for that matter.

Anyway, now having boiled this down to something more universal, the take away point for me to ponder was about how we use our time. Are we constantly striving to invent a better future, or are we reflecting and maintaining what we have today. I think both are important and are two ends of a continuum. I think that we do indeed focus mostly on the future. Particularly, here in Silicon Valley, and particularly in software companies. I think current software practice is broken, and the narrow focus on the future is part of the problem. Engineers and managers alike do it.

On the good side, one of the growing practices in software development is the technique of refactoring. It is a maintenance activity that allows future growth by transforming the current code in a way that behaves the same but has a different structure. People have always done this in an ad hoc manner when they needed to add new features, but now there is growing support in tools for doing it. This activity allows us to reflect on what we have done and how it can be modified to suit a new need. Hopefully, as more people get used to thinking this way, we will also have more and more people seeing that maintenance is an integral part of future growth.

Against that hope, the author of the article discusses various commentaries about how Americans just leave their problems behind and move somewhere else instead of solving them. Mostly, these comments are regarding urban sprawl. However, they apply in software as well. How many times has any given engineering team just wanted to re-write a system from scratch? That is a strong urge. It is easier, but it is not sustainable.

We probably have a long way to go before incorporating maintenance more holistically into the development process becomes the norm. Several big names are talking about it though. Grady Booch focused on software as a core process of any business at his keynote at SD West. The agile alliance, which is a bunch of recognized authors and consultants, is focusing on better techniques for evolving software through process. They promote processes with more feedback and shorter cycles of iterative development that involve the user more. There are roughly 15 million developers spread out all over the world, and who knows how many managers and other people who have decision making control. I think it would take a long time for the ideas to propagate through that many people.

For me, the truest satisfaction has always come from being able to easily incorporate new features into a product because I made it appropriately supple to change. Not unending flexibility and layers of indirection or decoupling to the point of incoherency, but appropriate amounts of responsibility in each part of the design, and striving to minimize my own assumptions about how it will be used.

That last part is important to me. I feel that a lot of times what makes software suck is that it imposes a belief system on the user or the developer (in apis) either intentionally or accidentally. I don’t want a belief system imposed on me. I want decent abstractions of the domain, and tools that are open-ended, allowing creative collaboration with other tools. Scott Meyers is writing a book on this called, The Keyhole Problem. It is all about the ways, intentionally or not, that application developers screw up the user experience. I hope it makes all of our lives easier regarding the software we make and have to use.

So, jumping out of software again and back to human existence, I think that understanding one’s own assumptions and expectations could make a big impact on one’s future experience. The assumption that there is a better reality waiting right past the next innovation is one of the problems. I think that more time spent on maintenance and reflection today will actually make life more enjoyable today and tomorrow. Sort of a refactoring of perspective.

To sum up ironically, not focusing so much on the future should make it possible to maximize the good in the future that is coming.

2 Responses to “American Culture Essay”

  1. on 04 Apr 2004 at 2:09 pm 1.eric said …

    The question is the wrong one. The question is definitely not “Doesn’t everyone want a better future?” The question is: “What IS a better future.”

    The technos you refer to a prone to dream/daydream that a better future means instant electronic access to everything. Not everyone agrees. Some would prefer a peaceful future, or a thoughtful future, or a future more like a fulfilling work of art than like a high-bit-rate game played to loud music. Even some boring-looking American technos like myself.

  2. on 04 Apr 2004 at 2:50 pm 2.Bob Evans said …

    I agree with your perspective on what would be better. I would much rather have a peaceful, fulfilling future. I feel that focusing on the next innovation without the base of reflection creates that video game like future. With reflection and thought about what we already have, I think (hope) the future could be a lot more enjoyable.

Subscribe to the comments through RSS Feed

Leave a Reply