Programmer oath

เมื่ออาทิตย์ก่อนได้ของที่ระลึกจากงาน Hacktoberfest ซึ่งก็จะมีเสื้อและ sticker ต่างๆ แต่เราไปสะดุดกับแผ่นกระดาษที่มี Programmer’s oath ของ Uncle Bob อยู่ แน่นอนว่าไม่ถึงกับต้องสาบานก่อนเขียน code ฮ่าๆๆ แต่ก็ควรค่าต่อการจดบันทึกไว้เตือนความจำกันหน่อย

ด้วยเกียรติแด่วิชาชีพของ programmer ข้าพเจ้าของสาบานว่า…

  1. I will not produce harmful code: ข้าพเจ้าจะไม่เขียน code ที่ทำให้เกิดความเสียหายต่อผู้อื่นโดยที่ไม่ได้รับอนุญาตจากผู้อื่น เช่น malware randomware เป็นต้น
  2. 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.: ข้าพเจ้าจะเขียน code ให้ดีที่สุดเท่าที่ได้ ข้พเข้าจะไม่ปล่อยผ่าน code ที่มีข้อบกพร่อง ทั้งด้านการทำงานและโครงสร้าง
  3. I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.: ข้าพเจ้าจะพิสูจน์ในทุก release ว่า code ทุกส่วนจะทำงานได้อย่างถูกต้อง อย่างรวดเร็ว ด้วยความมั่นใจ และทำซ้ำได้
  4. I will make frequent, small, releases so that I do not impede the progress of others.: ข้าพเจ้าจะ release ทีละนิด บ่อยๆ จะได้ไม่ไปขวางการทำงานของคนอื่น (แนวคิด Continuous delivery นี่เอง)
  5. I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.: ข้าพเจ้าจะพัฒนาตัวเองในทุกโอกาสอย่างต่อเนื่อง ไม่มีหยุดและหย่อน
  6. 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.: ข้าพเจ้าจะทำทุกอย่างที่จะรักษา productivity ต่อตนเองและต่อผู้อื่น ให้ได้มากที่สุด ข้าพเจ้าจะไม่ทำอะไรก็ตามที่ลด productivity ลง
  7. I will continuously ensure that others can cover for me, and that I can cover for them.: ข้าพเจ้าจะทำให้มั่นใจว่าตนเองและผู้อื่นสามารถปกป้องช่วยเหลือซึ่งกันและกันได้อย่างสม่ำเสมอ
  8. I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.: ข้าพเจ้าจะให้ estimate อย่างตรงไปตรงมา ทั้งขนาดและความแม่นยำ
  9. I will never stop learning and improving my craft.: ข้าพเจ้าจะไม่หยุดพัฒนาทักษะการพัฒนา software ของตนเอง

เรามั่นใจเลยว่า ถ้าสามารถทำตามคำปฏิญาณได้ทุกข้อ เมื่อเรามองย้อนกลับมาหาตนเองจากอนาคต เราจะไม่รู้สึกเสียดายสิ่งที่ตนเองทำเลย เพราะเราได้ทำดีที่สุดแล้ว เมื่อเราผิดพลาด ก็ไม่ลืมที่จะเรียนรู้ ปรับปรุงและพัฒนากันต่อไปในทุกๆ วัน