Adhering to a code of conduct will help you avoid the various ethical pitfalls you'll encounter on the job.
Applying a set of rules or ethics to business matters can protect you as well as your clients. In times of trouble or doubt, they help you determine right from wrong. You could just apply the big rule of rules: Treat your clients as you want to be treated. But in business, you often need specific guidance. I hope the following rules will serve you as well as they do me.
1: Be honest
You could lie about your strengths, your background, your expertise, and even the hours you spend on a project. It might be the largest temptation you face because there are so few auditing features in place. The client has to take a leap of faith when hiring you. Don't violate that trust for any reason, especially not to keep the job — which brings us to #2.
2: Say no when necessary
Clients hire you for your opinions, your experience, and your knowledge. Giving them anything less violates their trust and will eventually bite you back, hard. The client might not act on your advice. A disagreement might even lead to a parting of the ways, so it's difficult to speak up when you disagree, but you must.
3: Wait when necessary
Knowing when to wait is the flip side of #2. It's unethical to push your point of view beyond discovery. In other words, it's your job to present what you've learned and make your best recommendation. It's not your job to force your recommendation.
4: Concentrate on the client at hand
When charging a client, you belong to that client. Don't troubleshoot another client's problem; don't even think about another client's project. If you must take a call from one client while at another client's facility, be discreet. Never say, "I've got to take this call" and turn your back on a client in their own facility! If possible, turn your cellphone off during these conversations. "Give me a minute to turn off my cellphone so we're not disturbed," goes a long way.
5: Lock the backdoor on your way out
Developers like to code a backdoor that no one else knows about. It's a failsafe method for gaining access when all normal routes fail. When you leave a project, provide documentation for locking or even destroying your backdoor. You have no ethical reason for maintaining it. (I'll get hate mail for this one.)
6: Maintain confidentiality
Due to specialization, some consultants have multiple clients in the same field. There's nothing inherently unethical about it. There are lots of IT projects that aren't competitive, so providing those skills to competitors won't put them at risk. Two firms fighting to be the first to market a specialized phone app won't both hire you as a developer. But both might hire you to update their disaster preparedness plan.
To protect yourself and your clients, provide full disclosure when working for competitors. In addition, be extremely careful when contracting proprietary details — there's a fine line between tying your hands and protecting each client's interests.
7: Respect management's confidence
Just as you shouldn't violate confidentiality between clients, you shouldn't spread confidential information through layers of the same company. When the client shares confidential information with you as part of the discovery process, don't share that information with others in the company. For instance, if you learn from the CEO that the company is preparing to outsource its customer service department, you can't warn your best friend, who works in customer service.
8: Don't stir the pot
Every company has its own drama. Stay out of it. The only views your client is paying you for are those that support your IT position. Keep to your consulting views and leave all the personnel drama to the folks in Human Resources.
9: Report unethical behavior
If, during the discovery process, you learn that the manager in charge of your project is doing something unethical or illegal (related to the company), you have an obligation to report your findings (not your suspicions) to someone in a position to intercede. However, it's just as unethical (in my opinion) to exclude the manager in question from the process. Call a meeting to present your evidence but invite the manager, too. Take the high road and then find another job, because you can't survive this one.
10: Don't create a dependency
Don't covertly create a dependency just to maintain a relationship (paycheck) with a client. A project might yield a new maintenance or support contract, but it must grow from need and mutual agreement, not pretense or trickery.
Does this list cover most of the ethical issues you encounter as a consultant or contractor? What other rules do you follow to stay on the straight and narrow?