Another one of those days where I don't have the
wherewithal to get anything
done. So I look up at my cube wall and see the little IEEE Code of
Ethics that
I put up there. Just about every serious profession has a code of
ethics, and
software engineering is no exception. Although the old code that I have
on my
wall is rather generic, it was a good stab at what software engineers
should
think about.
The first four of the ten points are a list of qualities for a
"responsible"
engineer. "Accept responsiblity in making decisions consistent with the
safety,
health and welfare of the public", "avoid real or perceived conflicts
of
interest", "be honest and realistic in stating claims or estimates
based on
available data", "reject bribery in all its forms".
The first one can be ambiguous if you're not writing the kind of
software that
could endanger the public. Software in general will at least
inconvenience
people and waste their time if it's buggy. Conflicts of interest are
easy to
avoid for me, cause I don't have any. Honest and realistic in making
estimates
is something that I tried to do at first, but have backslid a bit over
the
last year. There's a constant pressure to be optimistic rather than
pessimistic.
People want accurate estimates, but if you're going to be wrong, err on
the
optimistic side seems to be the mantra. Reject bribery is also
relatively
easy, although what you'd consider bribery can be debated.
The next three points are sort of "for the improvement of the
profession"
sort of goals. Improve the understanding, application, and consequences
of
technology; "maintain and improve our technical competence"; "seek,
accept,
and offer honest criticism of technical work". They basically want you
to
contribute to the active growth of the profession. Learn more, discuss
more,
teach more.
|
I can honestly say that I only do the second one. I try
to keep up and learn
more about Java and our company standards. Not formal classes, but
self-
improvement. I don't think I do much to make programming more
understandable
to other people. About the closest will be what I can teach my brother
before
he starts classes. I don't like getting critiqued, and few people do
really.
It's not a nice feeling to know that you've been doing all these things
wrong,
and the natural inclination is to defend our actions and deny any
shortcomings.
Conversely, I don't like critiquing other people's work, since I
imagine they'd
the same way I do. Stay out unless they ask for help, then try to be
diplomatic.
We now come to the last three points, which I think are the "be nice"
parts of
the code of ethics. "Treat fairly all persons regardless of race,
religion,
sex," etc. "Avoid injuring others, their property, reputation, or
employment
by false or malicious action." "Assist colleagues and co-workers in
their
professional development and support them in following this code of
ethics."
Here's where I have a few questions about the code. The rest of the
points I
can see as being specific to my profession and what software engineers
should
do. These last three seem to me to be more about right-thinking and
political
correctness than something about software engineering. Sure, people
should not
discriminate or be malicious, but do we need our profession to tell us
these
things? Do we want an engineering society (or any other group) telling
us what
to do in areas that are outside their scope?
Anyway, that's the general code of ethics for the IEEE. Each society
has its
own more specific code of ethics. A new one specifically for software
engineers
was finished a few months ago. I think it has eight main points, with
each
point having a dozen subpoints to clarify. Not a bad format, you can
remember
the main points and look up the subpoints when you come to a situation
that's
a bit blurry. And I can see the need for a Code. They're trying to make
the
profession well respected, by having licensed engineers, a code of
ethics, and
a defined body of knowledge. Frankly, software engineering is not taken
that
seriously by other engineers, and until we can establish the same
professional
standards and codes and such, we don't deserve to be taken as anything
but a
bunch of kids playing at being grownups.
|