[prog] State of software engineering profession

Mary mary-linuxchix at puzzling.org
Tue Apr 15 08:51:16 EST 2003


I agree with the points Robert made, so some notes.

On Mon, Apr 14, 2003, Robert J. Hansen wrote:
> 1.  We, as software professionals, must accept poor software as a
> normal way of life.  You as a software professional may, but I
> certainly don't, and I've never worked with anyone who has accepted
> lousy, bug-ridden software as a way of life.  Lousy, bug-ridden
> software is a permanent burr in my backside, as it is for pretty much
> every other programmer I know.  (I've worked with Management which
> hasn't cared about lousy, bug-ridden software... but that's not a
> software engineering problem, that's a Managerial problem.)

I use slightly different terminology here: there *is* a problem with the
software engineering process, but with the management of it rather than
the engineering of it. (Although people who have gone through
CS/IT/computer eng/software eng/trendy name of the week courses in the
last 5-10 years since an "IT career" has looked like guarenteed money
without the high entry requirements of medicine or law don't really
trust young programmers either.)

Convincing management that the problem they've asked you to solve is
difficult is *really hard*. Some common anecdotes:

 - management has already signed some godawful contract guarenteeing
   delivery of a working product within a week or no payment.
   
   Large firms that don't have their entire business staked on its first
   two months of existence tend to have more ponderous and quality
   controlled development cycles, but people who've been hired by
   startups know this one. It's particularly common in companies that
   are too cheap to hire experienced software engineers or project
   leads, and have hired a bunch of grads or something who are kind of
   OK programmers but have no experience working in teams, or
   negiotatiating with management.

 - your prototype kind of mostly works, so management ships it, or wants
   to, and *also* get exceedingly angry whenever they discover a bug in
   your "final product".

 - your manager wants to see the work you've done every day, and
   designs, and especially refactoring, testing and bug fixing, simply
   do not look like progress to your manager.

Many people I know (tending to the "young grad with little industry
experience" model) have gotten trapped in situations where the boss has
promised someone such and such by Tuesday, the whole company is working
100 weeks to get this done, the boss isn't paying him/herself a salary
so he/she can pay you bonuses and has dark circles around his/her eyes
because his/her business is going to collapse on Tuesday.

So you resign or you do it. As Robert pointed out, there is no real
alternative presented to the individual programmer.

-Mary


More information about the Programming mailing list