Tuesday, September 1, 2009

Computer Code and User Expectations

I sling code for a living. However, what I've realized is that users expect
  1. The Code should anticipate their needs and "just do the right thing."
  2. It should be as custom, fast and beautiful as a hand-built street rod.
  3. It should be as cheap, reliable and efficient as a Honda Civic.
  4. Every project should be delivered on time, no matter how many times the custom requirements change.
If you can't meet those expectation, then you're an idiot. However, the only people that can explain why all of that is so impossible are the very ones that are saying it is impossible. Thus, nobody believes them. It's kinda like the people who don't believe that NASA put a man on the moon because the only verification available is through NASA.

Here's the weird thing. Writing computer programs is still very much in its infancy. When you look at cars, even thirty years ago, they weren't expected to go more than 100,000 miles without major issues. Now, 200,000 without major issues is the expectation.

Cars can be mass-produced mostly because pretty much all cars are solving the same problem. How to get people and stuff from one location to another. There are variations as to how fast , how efficiently, or how stylishly the people and stuff will get moved around, but all those automobiles are really just solving the same problem. However, computer programs are being written to solve any problem that anyone can think of. Kinda tough to mass-produce that. Thus, as long as we are solving new problems, the technology to automatically solve them will be somewhat flaky, unreliable and buggy. Once we have been solving the same problem for over 100 years (like we do with cars), then it should be pretty easy to reliably solve that problem. Kind of a boring problem, but easy to solve.

Keep using your brain, it's only going to get more valuable.

--Og






No comments: