For almost as long as I can remember, I’ve wanted to go to Egypt. The engineering that went into building the pyramids and temples is incredible – especially considering how long ago these were built. I remember learning in junior high about how advanced of a civilization they were, and I’ve been fascinated ever since
So, after years of waiting, my wife and I spent 10 days in Egypt this month. The trip was fantastic, and exceeded all of my expectations. I got to go inside pyramids and tombs, see huge temples, and learn even more about Egyptian history.
The other great thing about the trip was that I was able to ignore work completely – at least as far as email and thinking about specific work tasks. However, I found it difficult to not find an interesting parallel between pyramids and software (my inner geek must be showing through, but I’ll try to explain myself).
The earliest Egyptian pyramids were the step pyramids (I call these pyramid 1.0). In Pyramid 2.0 (aka the Bent Pyramid), the Egyptians were attempting to advance the state of the art in pyramid building. Unfortunately, they got close to shipping (i.e. near the top) and realized that their original spec (i.e. the angle of the slope) was inadequate and would fail if they continued. As a result, they put a hack in place (i.e. they changed the angle for the final section). Pyramid 2.0 didn’t do well in the marketplace (they only made 1) – but from their mistake, they learned a lot about how to make pyramid 3.0 successful. The later pyramids – especially the Pyramids of Giza are definitely the best of the best – beautiful pyramids that have lasted for 5000 years.
I’m sure there’s a joke about “not getting it right until version 3” from the software industry that I could put here, but I’ll leave it for the comment section.