The Telepat North Ethical, Professional and Personal Code for Extraordinary Coders
This Code is honored & maintained by members of Telepat North, but is open to anyone who wishes to commit to its content. Contributions and forks are welcome.
https://github.com/telepat-io/code
1. Ethical Principles
1.1 Make the world better.
Use your skills for the benefit of society, its members, and the environment.
Promote fundamental human rights.
Minimize the negative consequences of technology, including threats to health, safety, personal security, and privacy.
Give attention and priority to the needs of those less advantaged.
Actively contribute to society.
Promote environmental sustainability both locally and globally.
1.2 Avoid harm.
In this document, "harm" means negative consequences, especially when those consequences are significant and unjust. Examples of harm include unjustified physical or mental injury, unjustified destruction or disclosure of information, and unjustified damage to property, reputation, and the environment. This list is not exhaustive.
Ensure that all harm is minimized.
Carefully consider consequences on all those affected by your decisions.
When the harm is unintended, those responsible are obliged to undo or mitigate the harm as much as possible.
When harm is an intentional part of the system, those responsible are obligated to ensure that the harm is ethically justified.
Report and address any signs of system risks that might result in harm.
1.3 Be trustworthy.
Provide full disclosure of all pertinent system capabilities, limitations, and potential problems to the appropriate parties.
Don’t offer or accept bribes.
Be honest about qualifications and limitations in competence.
Be forthright about any possible conflicts of interest or situations that might undermine the independence of your judgment.
Honor commitments.
Don’t misrepresent an organization's policies or procedures, don’t speak on behalf of an organization unless authorized to do so.
1.4 Be fair.
Value equality, tolerance, respect for others, and justice.
Foster fair participation of all people.
Harassment, including sexual harassment, bullying, and other abuses of power and authority, is a form of discrimination and is not tolerated.
Make technologies and practices as inclusive and accessible as possible.
Don’t create systems or technologies that disenfranchise or oppress people.
1.5 Respect the work of others.
Credit the creators of ideas, inventions, patterns, frameworks or any work you incorporate.
Respect copyrights, patents, trade secrets, license agreements, and other methods of protecting authors' works.
Don’t unduly oppose reasonable uses of your intellectual works.
Contribute to free and open-source software and put your work into the public domain.
Don’t claim private ownership of work that others have shared as public resources.
1.6 Respect privacy.
Put people before data.
Only use PII for legitimate ends and without violating the rights of individuals and groups.
Understand the rights and responsibilities associated with the collection and use of PII.
Establish transparent policies and procedures that allow individuals to be in total control of their PII.
Only collect the minimum amount of PII necessary.
The retention and disposal periods for PII should be clearly defined, enforced, and communicated to data subjects.
PII gathered for a specific purpose should not be used for other purposes without the person's consent.
Protect confidentiality except in cases where it is evidence of the violation of the law, of organizational regulations, or the Code.
1.7 Respond to illegal or unethical situations.
Work with colleagues and leaders to correct illegal or unethical situations.
If you cannot stop these practices, exercise your rights and responsibilities to speak out publicly and engage in responsible whistleblowing without endangering users.
If you have the authority to do so, use all available legal defenses to stop these practices. If you do not have such authority, and your organizations force you to engage in such misuse, resign from your positions rather than comply.
2. Professional Principles
2.1 Elevate standards for work processes and products.
Expect and support high-quality work from yourself and colleagues.
Let the code that you produce always be your best work.
Be aware of all the negative consequences that may result from poor quality work.
Be diligent and take pride in your work. Take your work seriously, not yourself.
Make frequent, small, releases so that you do not impede the progress of others.
Fearlessly and relentlessly improve your creations at every opportunity.
Benchmark your code quality against industry standards and implement best practices. Enforce code style.
Demonstrate consistently strong performance so colleagues can rely upon you.
Accomplish amazing amounts of important work.
2.2 Elevate standards for competence, conduct, and ethical practice.
Take personal responsibility for acquiring and maintaining professional competence.
Upgrading skills is an ongoing process and includes independent study, attending conferences or seminars, and other informal or formal education.
Ask for help. Don’t be ashamed to say "I don't know".
Provide constructive, critical reviews of others' work.
Be humble. Recognize that everyone will make mistakes.
Do all that you can to keep the productivity of yourself, and others, as high as possible.
Continuously ensure that others can cover for you and that you can cover for them.
Understand, mitigate and communicate the presence of bias in algorithms.
2.3 Know the rules.
"Rules" here include local, regional, national, and international laws and regulations, as well as any policies and procedures of the organizations to which the professional belongs.
Abide by these rules unless there is a compelling ethical justification to do otherwise.
Rules that are judged unethical should be challenged. A rule may be unethical when it has an inadequate moral basis or causes recognizable harm. Consider challenging the rule through existing channels before violating the rule. When violating a rule, consider potential consequences and accept responsibility for that action.
2.4 Give proper evaluations.
Produce objective, credible estimates that are honest both in magnitude and precision.
Strive to be perceptive, thorough, and objective when evaluating, recommending, and presenting descriptions and alternatives.
Reassess risk as often as necessary. Make all stakeholders aware of updates.
Any issues that might result in risk must be reported to appropriate parties.
If at any point you identify a lack of necessary personal expertise, disclose this to the employer or client.
2.5 Design and implement systems that are robustly and usably secure.
Make security a permanent consideration since day zero.
Secure resources against accidental and intentional misuse, modification, and denial of service.
Integrate mitigation techniques and policies, such as monitoring, patching, and vulnerability reporting.
Ensure parties affected by data breaches are notified in a timely and clear manner, providing appropriate guidance and remediation.
Security features should be designed to be as intuitive and easy to use as possible.
When misuse or harm are predictable or unavoidable, the best option may be to not implement the system.
Advocate for security and privacy practices within your organizations.
2.6 Secure your workspace.
Activate hard-disk encryption on your devices.
Leverage VPNs and encrypt your DNS.
Use anti-virus software.
Use strong passwords (https://xkcd.com/936/).
Always enable MFA if available.
Use biometrics, or have a password/pin set to unlock your devices.
2.7 Do the hard work in research, documentation and writing requirements.
Do the research, read the docs and become an expert in matters related to your task.
Identify root causes, and get beyond treating symptoms.
Track and document all of your work, noting any details that might be relevant to another developer in the future. Write detailed documentation and comments for your code and tickets.
Be actively involved in creating and improving specifications. Don’t blindly implement a poor requirement.
Challenge prevailing assumptions, and suggest better approaches.
Re-conceptualize issues to discover solutions to hard problems.
2.8 Adequately and efficiently communicate.
Be concise and articulate in speech and writing.
Approach discussions intentionally and think through all angles.
Share information openly and proactively. Make time to help colleagues.
Listen first and then listen more: seeking first to understand, then to be understood.
Adapt your communication style to work well with people from around the world who may not share your native language.
3. Personal Principles
3.1 Make your health a priority.
Exercise regularly. Spend time outside. Balance your diet.
Get the amount of sleep you need to be productive daily, in the long run.
Get regular health checks.
Discuss workplace precautions for health and wellbeing with your organizations.
Have friends and family evaluate your burnout level.
Practice a hobby or stress-reducing activities.
Take holidays and use the time off to pursue your passions, disconnect, find perspective, spend time with loved ones and recharge. Be fully engaged in your work and activities, and fully disconnected when you’re not working.
3.2 Become a better you.
Give first.
Be self-motivated and persistent in pursuing your education and professional advancement.
Hold yourself accountable – not just for meeting your obligations, but for fulfilling your true potential.
Have a higher expectation of yourself and your work than others have of you.
Act like the person you want to become.
Seek balance by taking into account multiple perspectives and listening deeply.
Refrain from blaming other people for your circumstances.
Don’t run from your fears. Challenge yourself and routinely step outside your comfort zone.
Each day, strive to accomplish the one thing that will move the needle most.
Pause to celebrate your achievements, give yourself credit and show gratitude for your circumstances.