[lug] software engineering

Nate Duehr nate at natetech.com
Mon Nov 13 18:01:35 MST 2006

Michael J. Hammel wrote:
> I've been following your arguments, Nate.  While I agree with the basic
> premise that not enough testing is done (in general), you're arguments
> about software engineering don't really hold up (IMHO, of course).
> Comments follow.

Fair enough that comparing desktop applications to fighter jets is not a 
fair comparison.  You've caught me in man-I'm-tired-today mode and 
ranting without thinking on a number of things.

I'm literally just brainstorming -- just throwing out ideas in an 
attempt to get to the root-cause of the very last paragraph below.  I 
don't consider myself smart enough to figure it out... but I have this 
gut feel there ARE some awfully smart people in our industry who are not 
figuring it out on purpose, and I am wondering what the motivations are.

Brainstorming by definition produces some seriously wrong junk -- you 
weed it out later.  :-)  Which you've done.  (HUGE GRIN!)

Honestly I have no dog in this fight, as I said, the longer bad stuff is 
cranked out, the longer I have a job... so this is definitely an 
exercise in brainstorming and personal interests, and not going to help 
me personally in any way if any of the ideas presented were to succeed.

I believe if you have the title of Software *Engineer* (not code monkey, 
not paralegal computer jockey, not whatever...) it should mean that you 
do a certain quality level of work.

The reason I think this is because I know a lot of Chemical, Civil, and 
Electrical Engineers who *do* a very high level of work in their fields. 
  They're all "typical" or "somewhat talented" Engineers in their 
fields, but not Engineering geniuses.

I compare that with the "typical" person with a "Software Engineer" 
title in our industry and I just don't see the same quality work 
overall.  I think we give away that title a little too easily in 
software shops.

Maybe that high quality is there in the source code, but the constantly 
changing "battlefield" of different languages, systems, and general 
complexity of our industry shoots it down by the time you get to the 
finished result?  I don't know...

Because truly -- the end result of many large "Software Engineered" 
products is usually buggy and broken badly -- especially version 1.0.

How many of us professional computer people have an unnatural aversion 
to using a 1.0 product.  How about 2.0?  Anything .0?  If "we" are 
scared of these things, isn't that an indication the thing was never 
ready to go to the general public in the first place?  And that .0 
versions rarely are?

I think the crux of my consternation (and also my fascination) with our 
industry is that "Engineering" in software, truly doesn't appear to 
produce the quality level you'd expect from even a typical Engineer in 
another discipline.  It simply doesn't make the quality grade *most* of 
the time.

And I'm very curious if there's a breakthrough idea hiding out here in 
our group's collective "head" about how "we" could change that.  And 
whether or not "we" would even want to?


More information about the LUG mailing list