อย่าใช้ MP เกินครึ่งหลอด

อย่าใช้ MP เกินครึ่งหลอด
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it? — Brian Kernighan

วันก่อนผมมีโอกาสได้สอน concept เรื่อง dependency injection ให้ทีม มีสมาชิกคนหนึ่งตื่นเต้นกับเรื่องราวใหม่นี้ หาโค้ดตัวอย่างที่เคยเห็นๆมา เอามากางให้ผมดู เพื่อถามและทำความเข้าใจเพิ่มเติมอย่างกระตือรือร้น (คนแบบนี้สอนสนุกจริงๆ :D) แล้วน้องเค้าก็พูดมาคำหนึ่งว่า

ผมจะพยายามหาที่ที่เล่นท่านี้ดูนะ

แวบนั้นสัญญาณนิรภัยในหัวผมก็ดังขึ้นมา แล้วก็โพล่งไปก่อนว่า “อย่า” ผมเล่าต่อว่า สมัยก่อน บ่อยครั้งที่ผมมักจะตื่นเต้นกับท่าใหม่ๆที่ได้เรียนมา แล้วก็หาทางเอาไปใช้ในงาน ผลลัพธ์เป็นเอกฉันท์ทุกครั้งไป คือโดนท่านั้นกลับมาแว้งกัดตัวเอง ตอนแรกผมไม่แน่ใจว่าผมเป็นแค่โปรแกรมเมอร์ดวงซวย หรือการใช้ท่ายากมันจะต้องโดนแว้งกัดเสมอไปนะ? จนกระทั่งมาเจอ quote ของ Brian Kernighan (จริงป่าวไม่รู้ แต่ wikipedia บอกว่าเค้าเป็นคนพูด) ว่า การ debug เนี่ย มันยากกว่าเขียนโด้ดตอนแรกตั้งเท่าตัว เพราะฉะนั้น ถ้าใช้ท่าที่ยากเกินครึ่งนึงของความสามารถเราเขียนมันขึ้นมา by definition เลยแปลว่า เราจะไม่มีปัญญา debug มันตอนมีปัญหา


เรื่องนี้สอนให้รู้ว่า ผม โชคชัย by definition ไม่มีทางดวงซวย #ไม่เห็นจะเกี่ยว #จบๆ กลับไปทำงานกัน

ref: https://en.wikiquote.org/wiki/Brian_Kernighan

credit:

  • ป้อ ที่เป็นแรงบันดาลใจให้เขียน blog นี้
  • โจ้ ที่เป็นต้นเหตุให้เกิด blog นี้

Read more

Long lived team

Long lived team

ทุกวันนี้สกรัมเป็นที่นิยมมากในทีมพัฒนาซอฟต์แวร์ จากประสบการณ์ที่ผมพบเจอทีมหลากหลาย มีน้อยทีมนักที่จะทราบว่า สกรัมออกแบบมาให้ทีมอยู่กันเป็น long lived team และน้อยคนยิ่งกว่านั้นที่จะเข้าใจทั้งความหมายของคำว่า long lived และคำว่าทีม Team ทีมไม่ใช่

By Chokchai
เสน่ห์ของ ScrumMaster

เสน่ห์ของ ScrumMaster

บางครั้งผมจะได้ยินคำถามเวลาไปงานแลกเปลี่ยนความรู้กับวง ScrumMaster ว่า ทำไงดี ทีมไม่เปิดใจให้ เข้าถึงทีมยาก ตอนผมนั่งในวงนั้น ผมก็ไม่รู้จะตอบยังไง เพราะผมไม่มีปัญหานี้ วันก่อน มีเพื่อนร่วมงานให้ feedback ผมว่า ผมมีพลังพิเศษ ทำให้คนไว้ใจ อยากเข้ามาปรึ

By Chokchai
ความหมายของที่ซ่อนอยู่ใน Just In Time

ความหมายของที่ซ่อนอยู่ใน Just In Time

วันหนึ่ง มีเด็กน้อยคนหนึ่ง กำลังจะขึ้นเครื่องบิน เด็กน้อยร้องไห้กระจองอแง อยู่ตรง security check เพราะว่าปลาทองที่เค้าจับมาได้ 2 ตัวนั้น ไม่สามารถเอาขึ้นเครื่องได้ เพราะมีน้ำอยู่ ยิ่งเด็กร้องนาน พ่อแม่ก็ยิ่งเครียด แล้วก็

By Chokchai
Boring tasks -> Purpose

Boring tasks -> Purpose

วันก่อน มีเพื่อน ScrumMaster โทรมาให้ช่วยคิดท่า retro สำหรับเติมไฟให้กับทีม (ใครอยากรู้บ้างยกมือขึ้น ^-^/) ก็เลยแชร์ที่นึกออกเร็ว ๆ ไปสองท่า หนึ่งในนั้นคือการโยงจาก boring tasks ไป purpose เริ่มจากให้สมาชิกแต่ละคนเอากระดาษ A4 แนวนอนมาแผ่นนึ

By Chokchai