Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • by Juerd (1796) on 2006.03.09 17:11 (#46535) Homepage
    Of course, the paycheck (or in my case, having clients pay my invoices) is incredibly important.

    However, the world is not black and white, and there's much gray in between. The gradient isn't linear either, and in fact, many shades of gray turn out to have a very different hue.

    While the customer (boss or client) is the one you're serving directly, you're also serving other people. People who do not pay you, or will ever know that you worked on that particular part of code. They are all the people that are involved with your customer, but also people who have nothing to do with it.

    To illustrate, an extremely simple example: your customer wants you to send out e-mail automatically. For some reason, you're in a hurry and have no budget and no time to care for proper code. You ignore the RFC and skip sanity checks. The project is finished in time and you get your paycheck. End of the story? Of course not. There's this nice open e-mail gateway, that spammers can abuse.

    It's our moral obligation to deliver quality even if our customers specifically state that they do not need it. If they refuse to pay for it, then it is our responsibility to say "no". Even if that does mean you need to find someone else to write out paychecks.

    Now, there are as many levels of quality as there are shades of the rainbow coloured gray. Of course , there is lots of purity that isn't needed. But we should always strive for more purity, because in the end, the universe will benefit from perfection much more than from rushed code written by people who write code only because of the paycheck promise.

    Lots of things we do is hated by many people, who think the limitations we put in software and information systems are silly. Many of them don't know that these limitations protect their privacy , equipment, time, and sanity.

    We need to find a balance. When finding the balance, think of more than your personal situation. Take the global society into consideration, too. And of course, paycheck and purity usually *are* combined without too much trouble.
    • It's our moral obligation to deliver quality even if our customers specifically state that they do not need it. If they refuse to pay for it, then it is our responsibility to say "no".

      Really? Define "quality" in such an unambiguous way that everyone will agree on it.

      When I'm asked about this in interviews, the thing I make clear is that if I'm told to make a button pink and have it purr like a kitten when clicked, I'll do it (even though I might ask 'em why). However, if I'm told to do something illeg