A professional code of ethics for computing professionals serves several functions, including symbolizing professionalism, defining standards for client relations, protecting the profession's interests, and providing guidance in complex situations. Such a code is important because software can enable harm if misused, and computing professionals want recognition and respect for their work. Characteristics of an effective code include expressing fundamental principles rather than rules, and requiring judgment in spirit over blind allegiance. The IEEE-CS/ACM code outlines eight principles including public interest, client/employer responsibilities, product quality, and professional conduct.