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
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