Ethics In Computer Consulting
"This is not an uncommon occurrence. Other consultancy firms seem to regularly help customers make decisions that are in the best interest of the consultancy and not of the client. If a sales person manages to convince a company that their product is the latest and greatest and it turns out to be useless software that crashes regularly then that is the sign of either a good salesman or a bad manager. Caveat Emptor.
Consultants are are supposed to provide a service, not sell a product. I know that the consultant is the product and there may be other products that the consultant uses that are beneficial to the client but that are not what the consultants purpose. The consultant (and this includes contractors) is hired by the company on the assumption that they will perform their duties to the benefit of the company as would any other staff member.
Is it ethically correct for me as a consultant to knowingly make decisions for the company that will increase the length or value of my contract even though I know it is not in their best interests? Obviously the answer is no.
I would hate to think that I am the exception to the rule but people in consulting with ethics appear to be few and far between. Where is the code of ethics for computing consultants and contractors? I have my own skeleton code of ethics but feel that it is time to put together a real one that could be used by consultants and contractors around the world. We are supposedly professionals and other professionals such as doctors and lawyers have one. Why not us?"
In a related question, E TiE asks: "What are good books for computer ethics and history?" Would anyone out there like to pass him a few ISBNs?
Dear RMS,
I sent you two mails back in Autumn and you still haven't replied, I guess there was a problem with the mail serverTruly yours,
Your biggest Fan,
This is Steve.
Dear RMS,
I wrote you an email a while back and you still haven't replied or chatted to me on IRC - I ain't mad, I just think it's fucked up that you don't answer fans. You could have at least chatted to my hacker friend from Australia man - you're his idol man, he's only 6 years old, he likes you even more than I do - he waited for you on a MUD for 6 hours on 33.6 connection, man. You know, my dog gets jealous when I talk about you 24/7Sincerely yours,
This is Steve
PS - We should be together, too!
Dear RMS,
I know you got my last two emails!! I wrote the addresses perfect and the mails didn't bounce!! So this is the WAV file I'm uploading to your FTP server!!!! I'm doing 90 on the highway....hear that in the background? That's my laptop man! I'm driving fast and the HDD is getting scratched...but that's OK...I can buy another one....you really messed up RMS...we could have been together....but now we won't....I hope you have bad dreams about it and wake up and scream about it!! Oh shit, how am I supposed to FTP this damn file, I left my cellular phone at home! Ahhhhh...I'm falling off the bridge, man....Dear Steve,
I got your emails, sorry, I was too busy pondering the latest GPL to reply. It is very important that you release everything that you think about under the new GPL thinking license. It will be beneficial to society if you do, and it will ruin society if you don't, Steve. Remember, it's not about the technical quality, only about the social implications, Steve. What's all this about us being together? That's the kind of stuff that only a BSD license user would say. That's the kind of stuff that'll make me not want us to meet. I saw a really terrible thing on the newsgroups the other day....a guy was driving alongRMS.
http://www.stallman.org
I get almost all of my new business from referrals. Being honest with my clients pays off directly in the form of new business
Besides, happy clients will utilize my services over and over.
That said, I have faced the temptation to do things not in the clients best interest - usually they'll ask for something they read about in a magazine and I'll have to explain why it isn't right for them. Of course, I now get called to help evaluate new technologies, so even this leads to new business
Treat your clients right and you'll never want for business again. Screw them and you'll always be struggling.
-Loopy
I have seen good consultants, I have seen bad consultants. I have seen good and bad people in all walks of life. Unlike many other jobs out there, computer programming and computer science is one where ethics are treated with importance during the learning process. I know that every computer science class I have taken has talked at one time or another about the ethics of managing systems, of writing programs, of handling information. I know there are plenty of college ethics classes available at most colleges that teach computer-related fields. The information and discussion is out there, and I would hope that any computer anything worth his or her salt would have taken a few of them.
Perhaps we need a certifying organization like many other industries out there? Not Microsoft-certified, not being called a Realtor (tm), and certainly nothing like TRUSTe, but maybe some kind of board that would allow people to be certified members in good standing, and then based on complaints about them and recommendations and positive comments made, they could keep or lose their membership. It would be an online system, of course, with a small fee, and then potential employers would be able to check feedback profiles.
Just an idea, it would probably take a lot more thought to work out all the details.
But as a result of many horror stories from my own experience and that of my friends, I decided to stop dealing with them and I explain why publicly in Important Note to Recruiters and Contract Agencies.
To make it easier for other consultants to not have to deal with recruiters, I wrote Market Yourself - Tips for High-Tech Consultants.
To directly address the question, though, I think ethics are of the highest importance in the work of a consultant, and are probably the most important guide for you to follow, more important than writing good code. You at least have the hope of debugging bad code.
The question goes both ways though, clients are occassionally unethical and many clients who wouldn't think of screwing you if you were a full-time employee would be happy to short you for weeks of pay earned as a consultant.
You have to protect yourself, start early by finding a good attorney before taking on work - certainly before trouble starts - and have your attorney review all your contracts before you sign them.
Also trust in your feelings and don't do business with someone you feel is not ethical. It's just not worth the heartache.
Michael D. Crawford
GoingWare Inc
-- Could you use my software consulting serv
This touches on matters both of ethics and of engineering judgement.
You say, I should just write it to spec, but in practice I often don't have that detailed of a spec. In my work I write software on contract (rather than install systems or set up networks), usually for software publishers and sometimes for websites.
I frequently do ports or complete rewrites to a new OS, and it is common for my spec to consist of nothing more than a working Windows version of a program and a request to make it work "just like it" on the Mac.
The problem is things are done differently on the Mac than on Windows, both internally in the code we write and what the user expects. I feel it is important to give a client a product that will make their Mac users happy, even when the client is a Windows user/developer, and either doesn't understand the Mac or doesn't agree with it.
A more serious question is when the client is asking for shoddy work. I make it clear to my clients that I do high quality work, and they shouldn't come to me if they want crappy, cheap software. But sometimes that's exactly what they want, in part because they want to cut development costs and also because they believe (I feel mistakenly) that they will reduce their time to market by sacrificing sound engineering principles.
One thing I have started to do is to redesign my website to emphasize my ideals of quality work, as opposed to the spam I get that advertised offshore software development for $25/hour or less. Yes, this likely scares off some potential clients but they're probably the ones that would give me a pain in the backside anyway.
I do try to involve the client in the decisions. The problem is that they are often not technically competent to help me make the judgement, and their arguments make this resoundingly clear. So very often I just go off and do what I think is in my client's best interests even if I know they disagree with it.
Michael D. Crawford
GoingWare Inc
-- Could you use my software consulting serv
Once upon a time there was a shepherd tending his sheep at the edge of a country road. A brand new Jeep Grand Cherokee screeches to a halt next to him. The driver, a young man dressed in a Brioni suit, Cerrutti shoes, Ray-Ban glasses, and Jovial Swiss wrist watch, gets out and asks the shepherd: "If I guess how many sheep you have, will you give me one of them?" The shepherd looks at the young man, then looks at the sprawling field of sheep and says: "Okay." The young man parks the SUV, connects his notebook and wireless modem, enters a NASA site, scans the ground using his GPS, opens a database and 60 Excel tables filled with algorithms, then prints a 150 page report on his high tech mini printer. He then turns to the shepherd and says: "You have exactly 1,586 sheep here." The shepherd answers: "That's correct, you can have your sheep." The young man takes one of the animals and puts it in the back of his vehicle. The shepherd looks at him and asks: "Now, if I guess your profession, will you pay me back in kind?" The young man answers: "Sure." The shepherd says: "You are a consultant." "Exactly! How did you know," asks the young man? Very simple, answers the shepherd. "First, you came here without being called. Second, you charged me a fee to tell me something I already knew. Third, you do not understand anything about my business and I'd really like to have my dog back."
"Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far