The Programmer’s Oath by Robert C. Martin (Clean Coder Blog, 2015-11-18)
In order to defend and preserve the honor of the profession of computer programmers,
I Promise that, to the best of my ability and judgement:
I will not produce harmful code. The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should. I will make frequent, small, releases so that I do not impede the progress of others. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them. I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity. I will continuously ensure that others can cover for me, and that I can cover for them. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty. I will never stop learning and improving my craft.
It’s shameful to admit it, but I have known that these are the ethics I should live by, but I often let deadlines, expectations, and laziness come in the way. I hope to work in the next few months to uphold this oath. The hardest part is my tendency to people-please, and my low threshold for the “boring” parts of software development — writing tests, and peer reviews.
I know that logically there are no shortcuts; writing bad code to get a product out ASAP ultimately causes more frustrations and time wasted by myself and others. It is hard for me to fully digest that I will have to slow down in order to save time, but I have seen it happen, literally every day on the job, that fixing a problem in hastily developed code ultimately takes much longer than getting it right the first time.
Just got to remember to breathe every now and then.