[Pdx-pm] Software development and The Rules

Greg Cheong gcheong at acm.org
Wed Sep 25 10:38:14 CDT 2002


> On Tuesday 24 September 2002 16:36, Joe Oppegaard wrote:
>
> > It seems like 75% of the software developers out there don't follow The
> > Rules (or know why they are breaking them), at least this would be the
> > assumption to make after reading books like The Pragmatic Programmer,
The
> > Practice of Programming, or just hearing people talk about their peers
at
> > work.
>
> > As I've never had a job as a software developer, I don't know how true
that
> > assumption is. Is it one of those wonders of society where everyone
Knows
> > they are good, yet they also Know most everyone else is sub-par? (ie.
> > driving).
>
> There does seem to be no small amount of egotism in software development.
I
> have quite a bit myself.  :)
>
> Part of the problem is that it's easy to do the wrong thing.  A computer
> program is intangible enough that you can scrape by being inappropriately
> lazy.

To this I would add that for any given problem there is usually more than
one "right" way to do something (TMTOWTDI !) and choosing the solution
involves tradeoffs. Choosing between the tradeoffs is where experience comes
in.

> Another part of the problem is that writing a program seems like magic to
> people who don't do it.  There are valid reasons to hate the "software
> development is like building a house" metaphors, but there's also a reason
we
> use "architecture" to describe the way a system hangs together.  Change
has
> costs, even if all you're doing is flipping magnetic bits.
>
> Good luck finding people who read the rule books often, too, especially
with
> languages that encourage hobbyists and don't require computer science
> degrees.  This is not to say that there aren't a lot of lazy comp sci
grads,
> or that there aren't a lot of people who read a lot of books and never
learn.
> :)

True. But there is alway the case where good developers are forced to
implement a "quick and dirty" solution because the users needed it
yesterday.  And sometimes quick and dirty is the correct choice.

> My answer?  Lots of people are lazy and ignorant, just like in any
profession.

Another reason I believe for the perception of there being so many bad
developers is the lack of mentoring in our field. You wouldn't expect a
doctor right out of med school to do open heart surgery on anybody, but
people with little more than a B.S. in comp sci and oftentimes even less are
being asked to construct systems that really require more experience under
the guidance of someone who's been there.

Unfortunately, there is the perception by managers that pairing a less
experienced programmer with a senior developer and having one mentor the
other is less efficient than the sink or swim method. I don't know if it
helps when a methodology that promotes such pairing as good labels itself as
eXtreme programming either...but then given the ego factor (Hey, we do
eXtreme programming) it's probably a good thing.


I don't know if my experience is unique, but I've been fortunate to have
worked with people who seem to know and play be the rules at each place I've
worked at. Yes, I've seen and heard some horror stories, even implemented
some but by and large it's been the exception rather than the rule.

Cheers,
Greg




More information about the Pdx-pm-list mailing list