DUTIES CONCERNING THE INTEGRITY OF PROGRAMS AND CODE OF A PROGRAMMER
With regards to all programs and programming code a programmer creates,
markets, installs, maintains or is otherwise involved with, he/she shall:
(a) never create, implement or support any code that is knowingly
malicious, harmful, detrimental or directly contrary to the effect
and actions that the programmer’s services are being called upon
(b) in particular, shall never create, implement or support any programs
or sections of code that are of a parasitic, self replicating
nature, of which computer viruses or Trojan horses are vivid and
(c) shall not knowingly create code in such a manner as to make it
virtually impossible to understand and maintain in situations in
which the client or employer is allowed to retain source code. In
addition, documentation shall not knowingly be written in a
deliberately confusing or erroneous manner that is contrary to the
actual code for which it is written.
(d) avoid and refuse to use code that was:
– created by another programmer and not released by the original
author for public use
– released with the stipulation that remuneration to the original
author must be paid and such due remuneration has not been paid.
(e) not use code or programming techniques that are knowingly obsolete
unless the party requesting such work is first informed and still
requests such work to be done. If so, no malicious intent must be
implied or enacted.
(f) not knowingly alter or corrupt data with malicious intent.
DUTIES OF A PROFESSIONAL PROGRAMMER TO THE PUBLIC
A Professional programmer shall:
(a) abide by the laws and statutes of the country in which the
programmer’s services are rendered. If there is a conflict between
the statutes and Code of Ethics, the programmer shall abide by the
laws of the country and report such conflicts to the Guild Master.
(b) have high regard for his/her duty to public welfare.
(c) endeavour at all time to enhance the public regard for his/her
profession by extending the public knowledge thereof and
discouraging untrue, unfair or exaggerated statements with respect
to professional programming.
(d) not give opinions or make statements on professional programming
projects that are inspired or paid for by private interests unless
he/she clearly discloses on whose behalf he is giving the opinions
or making the statements.
(e) not express publicly, or while he/she is serving as a witness before
a court, commission or other tribunal, opinions on professional
programming matters that are not founded on adequate knowledge and
honest conviction and integrity.
(f) make effective provisions in creating or maintaining programs to
ensure health and safety of life and avoid financial loss.
(g) act to correct or report any situation which could cause losses,
whether humanly injurious or financially damaging.
(h) make effective provisions and strive to meet lawful standards,
rules, or regulations in connection with any work being undertaken
by him/her or under his/her responsibility.
(i) give final approval only on code, plans, specifications and reports
actually made by him/her or under his/her personal supervision and
DUTIES OF A PROFESSIONAL PROGRAMMER TO AN EMPLOYER
A professional programmer shall:
(a) act in professional programming matters for each employer as a
faithful agent or trustee.
(b) regard as confidential any information obtained by him/her as to the
business affairs, technical methods or processes of an employer
unless released by the employer in writing or with explicit verbal
(c) avoid or disclose any conflict of interest which might influence
his/her actions or judgement.
(d) present clearly to his/her employers the consequences to be expected
from any deviations proposed in the work if his/her professional
planning and/or analytical judgement is overruled by non-technical
authority in cases where he/she is responsible for the technical
adequacy of professional programming.
(e) have no financial interest, direct or indirect, in any materials,
supplies, equipment, hardware or commercial software used by his/her
employer or in any persons or firms receiving contracts from his/her
employer unless he informs his/her employer in advance of the
nature of the interest.
(f) not tender on competitive work upon which he/she may be acting as a
professional programmer unless he/she first advises his/her
(g) not accept compensation, financial or otherwise, for a particular
service, from more than one person except with the full knowledge
of all interested parties.
DUTIES OF A PROFESSIONAL PROGRAMMER IN INDEPENDENT PRACTICE TO A CLIENT
A professional programmer in private practice, in addition to all other
(a) disclose immediately any interest, direct or indirect, which might
in any way be construed as prejudicial to his/her professional
judgement in rendering service to his client.
(b) if said programmer is contracting in his/her own name to perform
professional programming for other than his/her employer,
provide the client with a written statement of the nature of his
status as an employee and the attendant limitations on his services
to the client. In addition,the programmer shall satisfy
himself/herself that such work will not conflict with the programmer’s duty to
(c) carry out work in accordance with applicable statutes, regulations,
standards, codes, and by-laws.
(d) co-operate as necessary in working with such other professionals as
may be engaged in the project.
DUTIES OF A PROFESSIONAL PROGRAMMER TO OTHER PROFESSIONAL PROGRAMMERS
A professional programmer shall:
(a) conduct himself towards other professional programmers with courtesy
and good faith and without malicious intent.
(b) not accept any engagement to review the work of another professional
programmer for the same employer except:
– with the knowledge of that programmer, or
– except where the connection of that programmer with the work has
(c) not maliciously injure the reputation or business of another
(d) not attempt to gain an advantage over other members of his
profession by paying or accepting a commission in securing work
relating to professional programming.
(e) not advertise or represent his/her services in a misleading manner
or in a manner injurious to the dignity and integrity of the
profession of programming. The professional programmer shall seek
to use the media of advertising with a level of integrity that will
permit establishing a well merited reputation for personal
(f) give proper credit for programming work done by another person.
(g) uphold the principle of adequate compensation for programming work.
(h) promote opportunity for professional development and advancement
of his/her associates and subordinates and provide opportunities
for this to happen where and when it is reasonable.
(i) assist in extending the effectiveness of the profession through
the interchange of programming information and experience except
where sharing of information or data would contravene
(j) not copy programs (source code, object code or documentation) unless
it is clear that the author and owners to the rights of the software
(including corporate owners if applicable) would not object to this
copying and all licensing requirements are met.
(k) abide by all licensing requirements accompanying the software that
he/she shall use.
DUTIES OF A PROFESSIONAL PROGRAMMER TO HIMSELF/HERSELF
A professional programmer shall:
(a) maintain the honour and integrity of his/her profession. A
professional programmer shall report without fear of reprisal,
unprofessional or dishonest conduct by any other members of the
profession to the employer.
(b) undertake only such work as he/she is competent to perform by
virtue of his/her training and experience except where the
programmer has explained his/her current knowledge with
understanding that the needed knowledge to be competent for the
work to be done will be acquired with on-job training and research.
(c) where advisable, retain and co-operate with other professional
programmers or specialists.
(d) endeavour to constantly keep updated on the most recent technology
and methods in programming and the hardware on which it must run.
This is not the complete list. The complete list is available at;