On Mon, 17 Sep 2012 22:06:56 -0700
"H. S. Teoh" <hst...@quickfur.ath.cx> wrote:
> 
> +1. After having worked in the industry for over a decade, I'm
> becoming increasingly cynical about the state of software today. And
> seeing it "from the inside" as it were, I realize that it *can* be
> done better. We have all the tools to make it better. A lot better.
> But it isn't.
> 

You know, you have a habit of saying things that make me wonder if
you're stealing my brainwaves. What you've said up there is
*exactly* how I feel about it too, and I've even worded it that way
in conversations.

Non-techies find out I'm a programmer and assume I like computers and
software (which used to be true). But really I'm critical about them
*because* I know them so well, so I notice all the screwups and idiocy
that most people don't. I like computing's *potential*, though.

> For example, I've seen enterprise code that looks like it was written
> by highschool dropouts.

Actually, one of the best coders I know was a high school dropout. I
find that the really bad code I come across is almost always from people
whose primary coding experience is college courses.

> I've seen how said code survives for YEARS in
> spite of the presence of a code review system, simply because nobody
> has the time to devote to cleaning things up, or nobody cares to
> because it is not rewarded. Employers want "positive" contributions
> -- new features, glitzy GUIs, unreasonable customer feature requests,
> bloat deemed necessary because the CTO coughed it up one morning
> after a sleepless night, etc.. Nobody cares about cleaning up what's
> currently there 'cos it doesn't give anything to the marketing types
> to sell, and it doesn't have any immediate apparent benefits. The
> code review process is more concerned about hot-ticket items like
> security fixes, blatant crashes, or other such important issues like
> Yahoo messenger not working on the corporate network.  Nobody cares
> about the thousands of little bits of horribly, horribly wrong code,
> the effect of which isn't obvious because it's been covered over with
> layer after layer of festering bandages. And even if you *do* make
> the extra effort to clean things up, the next person comes along and
> doesn't understand what was done before, and just slobbers all over
> it (figuratively speaking), turning it into yet another mess.
> 

Exactly. I genuinely believe that understanding that really should be
one of the top qualifications of being a software manager. Because if
you don't get that, then you really are doomed to being a pointy-hair
who causes more harm than good. It's just not *possible* to do better
than that without understanding such realities of software dev.

> And the result? You get stupidities like strange inconsistencies in
> software behaviour, bugs that can no longer be fixed 'cos things have
> started depending on the buggy behaviour, etc..

Yea, and then guess what (or rather, who) gets blamed for those
problems? That is, instead of the managers who allowed, nay, *expected*
the code to remain is such a poor state.

And I've seen all that happen.

> Is it any surprise that most software today is crap?

Is it any surprise the vast majority of *good* software is either
open-source or otherwise non-commercial? Managed by *programmers*, with
no suits and MBAs and hired-liars (ie, salesmen) to muck everything up,
and sell features that don't exist without bothering to check with or
even tell the dev team, at least not until it's "Hey, the sales team
just sold XXXX feature and promised it by YYYY date, so I need you to
do that". "What?!?! FUCK YOU!!" (Yes, I've worked at a company where
that was standard operating practice. *cough* Main Sequence
Technologies *cough*)

> Sometimes I fear
> that if I introduce D to certain people, they will just proceed to
> rewrite the same train wreck that is their current C++ code in D,
> except now they have so many more ways to shoot themselves (and all
> of the miserable people who will come after them) in the foot,
> several times over.
> 

At least it's not PHP...which makes it basically impossible NOT to aim
directly at your own foot.

> 
> > Btw who on earth develops set top box software? Granted I've only
> > used two so far (since I switched ISPs and my triple-play service
> > recently), but the software on it is such incredible garbage. How do
> > they manage to create software for a specific device, while knowing
> > all of its characteristics, that lags like hell? I'd really like to
> > see the source code for that. How many cycles could they possibly
> > waste to blit a pre-designed bitmap on the screen (like the main
> > menu)?
> 
> They must have written the software in ActionScript or something. >:-)
> 
> Either that, or they have 3 SQL engines running on the set top box
> with 50GB of copy-n-pasted Javascript-outputting code (that gets
> piped to VM running a VB version of IE5's rendering engine). :-P
> 

I would honestly be very, very surprised if there *isn't* something
screwy like that going on. You use the thing, and you just *know*
there's some "thedailywtf.com"-worthy stuff going on in there.
(Speaking of which, I actually had to stop reading that site just
because it got to be so damn depressing.)

Reply via email to