On a Linux user’s group to which I belong, there’s been a lively and thought-provoking discussion about software engineering and how it not only differs from other “engineering” disciplines, but also what it really means when a customer buys software. I’ve been following the discussion because in the end, that’s what I do every day: I deliver software to customers who normally never see (nor care about) the actual programming logic behind it. They only care that it works, and does what they specifically need for their business.
A funny observation was about “enterprise” software:
It’s funny because it’s true, of course. I’ve worked with several clients who, after several years of using web-based systems I built and customized for them, discarded them in favor of an “enterprise solution” from some huge bloated company with a persuasive sales force. In many cases, the client spent gobs of cash on the software only to discover that it didn’t do what they need and had to be customized by consultants at $300/hour, or that it actually had fewer features than the system I’d built over the years. Go figure.