Slide 1

Slide 1 text

PROGRAMMER’S LEMi ORHAN ERGiN co-founder, craftbase OATH in action

Slide 2

Slide 2 text

The fact remains that we programmers are in a position 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

Slide 3

Slide 3 text

https://blog.cleancoder.com/uncle-bob/2015/11/18/TheProgrammersOath.html [1]

Slide 4

Slide 4 text

https://manifesto.responsiblesoftware.org [2]

Slide 5

Slide 5 text

https://github.com/Widdershin/programmers-oath [3]

Slide 6

Slide 6 text

I will not produce harmful code Code should not be harmful to anyone or anything, including customers, users, government, companies and even other programmers. [1]

Slide 7

Slide 7 text

do not knowingly release defects that cause harm do not 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]

Slide 8

Slide 8 text

I will be humble and recognize that I will make 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]

Slide 9

Slide 9 text

I will be humble and recognize that I will make 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]

Slide 10

Slide 10 text

I am ethically responsible for my decisions and I will 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]

Slide 11

Slide 11 text

I am ethically responsible for my decisions and I will 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]

Slide 12

Slide 12 text

The code that I produce will always be my best work In the moment code is written, you write that to the best of your ability. [1]

Slide 13

Slide 13 text

The code that I produce will always be my best 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]

Slide 14

Slide 14 text

I will produce, with each release, a quick, sure, and 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]

Slide 15

Slide 15 text

I will produce, with each release, a quick, sure, and 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]

Slide 16

Slide 16 text

I will make frequent, small, releases so that I do not impede the progress of others Respond to you customers’ and other programmers’ needs fast by making frequent, well-crafted releases [1]

Slide 17

Slide 17 text

I will make frequent, small, releases so that I do 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]

Slide 18

Slide 18 text

I will fearlessly and relentlessly improve my creations at every opportunity You should always look to improve both your code, and the code you work on. [1]

Slide 19

Slide 19 text

I will fearlessly and relentlessly improve my creations at every 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]

Slide 20

Slide 20 text

I will do all that I can to keep the 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]

Slide 21

Slide 21 text

I will do all that I can to keep the 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]

Slide 22

Slide 22 text

I will continuously ensure that others can cover for me, and that I can cover for them Spread the wealth of knowledge, wisdom and experience with people around you. The more you give, the more you get. [1]

Slide 23

Slide 23 text

I will continuously ensure that others can cover for me, 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]

Slide 24

Slide 24 text

I will produce estimates that are honest both in magnitude and precision Estimate with the best of your knowledge, and never hide your concerns if you have any. [1]

Slide 25

Slide 25 text

I will produce estimates that are honest both in magnitude 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]

Slide 26

Slide 26 text

I will never stop learning and improving my craft Always look for ways to improve your craft [1]

Slide 27

Slide 27 text

I will never stop learning and improving my craft you 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]

Slide 28

Slide 28 text

defend and preserve the honor of the profession of computer programmers

Slide 29

Slide 29 text

co-founder, craftbase @lemiorhan lemiorhanergin.com /lemiorhan LEMi ORHAN ERGiN