[lug] Daily system crash....
Nate Duehr
nate at natetech.com
Tue Jan 29 00:12:51 MST 2008
On Jan 28, 2008, at 11:54 PM, David Morris wrote:
> Those programmers (who have no concept of what engineering
> is) are all missing one basic fact: It takes several orders
> of magnitude more effort to fix a problem after it exists,
> than to prevent it from occurring in the first place.
Ohh, as a career "support" guy, I wish I could get that through just
10% more of the engineers heads I've worked with over the years... any
more than that, and I'd probably be out of a job, but just a FEW more
would be nice... heh heh.
> The problem, of course, is that corporations have no
> incentive to create bug-free software that does everything
> the users want the first time around because consumers won't
> accept the required sales cost.
Hell, they actually have an incentive against EVER getting it right...
in order to have sales NEXT year, you need the next version to
release! Anything missed in this year's version will be a fancy new
"feature" in next year's. Then about 5 years in, when the cruft gets
too much to manage and the engineers are bored and/or have moved on to
other things, it'll be time to start all over on "Project X" that does
the EXACT same things, and makes the same design and implementation
errors the original did, hopefully minus a handful.
LOL... no, I'm not cynical about software...
> Which leads, of course, to the fact that consumers are, as a
> class, total morons. People are willing to pay thousands of
> dollars on the buy-support-upgrade-replace cycle if it is
> spread across a span of years, yet refuse to shell out a
> mere few hundred dollars on a product that works right the
> first time around.
Sorry have to say it... Apple Macintosh.
Okay, now I'm REALLY going to get stuff thrown at me... hahaha...
> /end rant
Good rant! :-)
Heh heh... I don't want to come off as jaded, but it has been serving
me well for years... being a bit snarky in your THINKING (maybe not
out loud at work, depending on who's in earshot) about what crap is
going to come flying over the wall from engineering next, serves very
well to plan for it... get out the rain slicker, load up some test
systems, hunt down some of their more common bugs/screwups and make
sure whether or not they made them again, file a few bugs that'll go
nowhere for a couple of revs because they're TIRED of fixing the same
mistakes over and over... and prepare for how to present it all to the
customer as something "new and wonderful... you'll like it... it has
some of the same problems the last one did, but now it runs on a
clustered system and has some auto-update features and..."
And away you go into another 5 year cycle... even more wild, SOMETIMES
new engineering managers really DO think the new thing they were
assigned to oversee is really new.
You'd think they'd know... every company that ever owned a computer
has written code to create things like billing systems, customer
tracking, and to do whatever features their product does, since the
founding of their company -- or they wouldn't be in business. A new
pile of spaghetti code that does all of that, is just the next one in
a long succession of systems that all did that... the hardware gets
faster/bigger, but the goals of most software projects don't. Even
better, the engineers are very often practicing "code re-use"
anyway... so the same bugs just come along for the ride!
I'm not saying this is "bad", just the way it is... you probably know
and agree. Anyone who hasn't worked in Dilbert-land of large corp
America... on software products or product support/tech support.
And it's actually fun in a way... if you let it be. The above makes
it sound like it isn't. It is. For the really politically-
incorrect... the support staff can often place bets (either real or
just for intangibles) on EXACTLY the bugs any particular engineer will
do again and again... "I bet you that DB code was written by.... X",
once you see one engineer's common bugs, you'll see 'em again and
again... especially if your organization is open enough that support
staff can look at source code. (Of course, junior support staff is
usually still just climbing the slope of the learning curve and has no
time for such things, but senior staff is often asked to "dig deeper"
before sending in bug reports to engineers, and often that exercise
will find the same name in the comments for the same type/style of
bug, year in and year out... and their own managers and QA staff
continually miss it.)
(Our perennial problem is that our engineers seem to think data
networks are always guaranteed to be there and to be working... error
handling of dead IP networks is ALWAYS the first thing I mess with
whenever new code comes out, because those first few revisions ALWAYS
suck at handling sudden losses of network. Yanking the Ethernet
cables out of new systems is priority #1 when I'm asked to test or
load test something. Networks ALWAYS fail in the real world. And
real-time telco systems ALWAYS hate that... they're like arch-rivals,
and always have been! Network failover schemes are a second-best fun
thing to try to break... plug in the network cable, unplug it, plug it
in, unplug it... wow, the failover mechanism is completely confused
and everything's down, but both networks are up and live after me
messing with the cables 20 times... why hasn't it recovered??? Heh
heh... evil. Pure evil. I would have loved to work in QA, and break
stuff... but they don't pay as well for behind the scenes jobs as they
do for ones where you have to talk to customers!)
--
Nate Duehr
nate at natetech.com
More information about the LUG
mailing list