Archive for November 15th, 2007

The quest for software perfection.

When I started my career as a software engineer at SGI in 1996, I had the privilege of working with a great engineer.

This engineer and I had very different perspectives on software. I viewed software as a means to an end. As a vehicle to deliver the features that the were asked of me. That the perfection of the software was immaterial, what was material was how fast you could deliver those features. In fact, sloppy, disorganized, poorly structured code was okay as long as it worked. What was material was the function not the form.

He, on the other hand, felt that software was like poetry. That it had its own intrinsic beauty and that its beauty was an end in and of itself.

That’s not to say that he did not care about the outcome and the product. He was always passionate about delivering value to customers. He just felt that the elegant, solution was always better than the quick solution.

Being young, and he being great, I was convinced that elegance was worth the price in time and effort.

I’m not sure I still agree with him.

My career is littered with software systems that are no longer in production. SGI’s kernel was EOL’ed last year. NetCache was sold off to Bluecoat. Most of the code I wrote for DFM has been re-written as more and different requirements came into existence.

And he would say that is natural and normal and a reflection of the natural process of things.

And I wonder.

Was it really worthwhile to strive to create the perfect solution given the market pressures? Would I have been better off to just get the job done in the most expedient way possible?

Ultimately, I think the answer boils down to an engineering tradeoff. The perfect solution makes sense if you understand the requirements and the requirements are stable. But if the requirements change, then your attempt to create perfection has to be balanced against expediency and need.

Although I can appreciate a beautiful piece of code, I somehow am more inspired by a system that is easily adapted. A systems whose core abstractions although imprecise are in the right general area and allow for substantial independent directions of innovation.

Let me try this differently.

I think it’s far more valuable to know what the core set of abstractions should be and their general properties than to specify them completely. Instead of trying to perfect them in isolation, one should expose them to the real world and then learn. And if the abstractions were correct, over time they will get precisely defined and perhaps at some point become perfect, as they no longer evolve.

But I suspect that I will have long since moved onto the next set of imperfect abstractions.

And in retrospect, that engineer always remarked that it’s much easier to replace an elegant easily understood solution than a complex, baroque, over or under-engineered hack that was expedient.

Add comment November 15th, 2007

I’m moving to Texas

Last night, after the sessions at LISA ended, I decided to go out and eat some meat. After all I am in Texas.

It turns out the place I went to is within walking distance of my hotel, The Hyatt Regency, on 702 Ross street off of Market and is called Y. O.  Ranch.

And yes the meat was fantastic.

But the reason I wanted to move to Texas is because there were 5 or 6 steak houses right next to each other! Literally one right next to another. Not fancy fluffy California fusion with mixed greens and arugula, but honest to God steakhouses! Places where the beef was beef and the meat was meat and the men were men.

This is a place, where buffalo meat is considered exotic!

When I told the waiter that I live in California, he smirked at me and asked if they actually serve meat in the state. I told him yes, but the steaks you buy are about 1/18th the size, and most of the time the waiter is explaining how the cow was a happy cow that lived a full and productive life when he’s not looking at you like a baby killer. I then told him about my challenges in trying to find a spit-rod for my roasted Lamb, and he had this perplexed expression on his face: why is finding a spit-rod so difficult to find? How do you roast pig?

So I am moving to Texas.

My wife pointed out that if I do move to Texas, i have to support Bush. But I pointed out that Texas was also the home of such fine upstanding politicians like Lyndon Johnson and Ann Richards. And after all I live in a state with a Governator!

1 comment November 15th, 2007


Calendar

November 2007
M T W T F S S
« Oct   Dec »
 1234
567891011
12131415161718
19202122232425
2627282930  

Posts by Month

Posts by Category