of tremendous power that the people whom we serve do not well understand; and that we hardly understand any better. With great power comes great responsibility. We, as programmers, should recognize that responsibility and determine to be conscientious servants of our society. We should set the limits and standards of our behavior. We programmers, not our employers, not our governments, should decide what it means to accept the responsibility of the power that has been placed in our hands. - Robert C. Martin
knowingly build software that will fail do not harm the structure of software and architecture do not make code hard to understand & hard to change remember you don’t code for computers, but for people stand firm against any req. that exploits or harms people I will not produce harmful code [1]
mistakes No one is perfect, as you, your colleagues, your managers, your customers, and the output you produce, like your code, your documents, even your understanding. [3]
mistakes respect the previous developer do not be ashamed to say "I don't know” ask for help when you are stuck respect the lessons learned by those who came before me listen to others carefully and with respect [3]
act according to my conscience Have a responsibility to consider the potential for my software to violate people’s rights before I start to implement it. [2]
act according to my conscience consider the possible consequences of code and actions do not make people do things that you didn't mean to reject projects which facilitate the abuse of human rights do not develop software violating human rights & liberties have open communication with users if violation happens share post-mortems transparently [2]
work write your best code in that time be diligent and take pride in my work feel you have done your best job afterwards do not knowingly allow code that is defective do not allow broken windows do not deceive people about your work do not hide known defects deliver feedback for getting the best from your team [1]
repeatable proof that every element of the code works as it should You should always test your code and make sure it is reliable, repeatable, and as idempotent as possible. [1]
repeatable proof that every element of the code works as it should provide examples to show that code is working do not skip testing features before deploying to live do not cheat on tests, create fake tests test in multiple levels of abstraction for the system [1]
not impede the progress of others shorten development cycle time shorten feedback loops avoid staying at branched too long build continuous delivery steps with care [1]
opportunity leave things better than you found them never make the code worse agree on team standards and conventions have multiple feedback loops to inspect and adapt [1]
productivity of myself, and others, as high as possible You will do your best to keep the productivity of you and your team high and will not do anything to sabotage that. [1]
productivity of myself, and others, as high as possible the only way to go fast, is to go slow and well keep quality high to keep productivity high retrospect with team to inspect productivity issues [1]
and that I can cover for them do pair and mob programming share your knowledge with your teammates help people before you ask for it never blame people for defects and bad code [1]
and precision do not make promises you believe in do not deceive people about the progress share your concerns with courage say no if you do not believe in the promise [1]
should own your career, worth it the more you are better, your work becomes better do not fall into mediocrity trap feel good about your work, but never satisfy [1]