Linus Torvalds - ตอนนี้ผมไม่เขียนโค้ดแล้ว
(linux.slashdot.org)ถอดความบทสนทนาล่าสุดจากคีย์โน้ตในงาน Open Source Summit
คิดว่าเป็นข้อความที่ดีสำหรับนักพัฒนา
Q: ช่วงนี้คุณทำอะไรอยู่?
A: ผมอ่านอีเมล เขียนอีเมล และตอนนี้ก็ไม่ได้เขียนโค้ดแล้ว
โค้ดส่วนใหญ่ที่ผมเขียนทุกวันนี้เขียนอยู่ในโปรแกรมอ่านอีเมล เวลามีคนส่ง patch หรือ PR มาให้ ผมก็จะตอบกลับว่า "ไม่ อันนี้โอเค แต่ว่า.." แล้วก็ส่ง pseudocode กลับไปบ้าง ผมไม่ได้คอมไพล์ patch ไม่ได้ทดสอบมัน เพราะผมเขียนมันในโปรแกรมอ่านอีเมลแบบตรงตัวเลย ดังนั้นหน้าที่ของผมคือพูดว่า 'ผมคิดว่ามันควรจะเป็นแบบนี้' ตอนนี้ผมไม่ใช่โปรแกรมเมอร์อีกต่อไปแล้ว
ผมอ่านอีเมลมากกว่าการเขียนอีเมลเสียอีก ดังนั้นสุดท้ายงานของผมก็คือการพูดว่า "No"
ต้องมีใครสักคนที่สามารถปฏิเสธผู้คนด้วยคำว่า "No" ได้
ผมหวังว่านักพัฒนาคนอื่นจะระมัดระวังมากขึ้น เพราะพวกเขารู้ว่าถ้าทำอะไรผิด ผมจะพูดว่า "No"
การจะพูดว่า No ได้ คุณต้องรู้ภูมิหลังของเรื่องนั้น ไม่อย่างนั้นผมก็ทำงานของตัวเองไม่ได้ เพราะแบบนั้นผมจึงใช้เวลาทั้งหมดไปกับการอ่านอีเมลเพื่อให้รู้ว่าผู้คนกำลังทำอะไรกันอยู่ มันเป็นงานที่น่าสนใจ แต่ผมใช้เวลาส่วนใหญ่ไปกับการอ่านอีเมล
สิ่งที่ผมอยากเห็นจากนักพัฒนาคือ ไม่ใช่แค่สร้างโค้ดที่ดี แต่เขียนคำอธิบายโค้ดที่ดีด้วย
ดังนั้นสำหรับผม commit message จึงสำคัญพอ ๆ กับการเปลี่ยนแปลงโค้ด
บางครั้งการเปลี่ยนแปลงโค้ดก็ชัดเจนมากจนไม่ต้องมีข้อความประกอบ แต่กรณีแบบนั้นหาได้ยากมาก ๆ
ดังนั้นสิ่งหนึ่งที่ผมอยากให้นักพัฒนาคิดถึงก็คือ คนที่เขียนโค้ดจริง ๆ ควรอธิบายไม่ใช่แค่ตัวโค้ดเอง แต่รวมถึงเหตุผลว่าทำไมโค้ดนั้นถึงทำสิ่งนั้น และทำไมการเปลี่ยนแปลงนั้นจึงจำเป็น เพราะถ้าคุณอธิบายโค้ดให้ผมเข้าใจได้ ผมก็จะเชื่อถือโค้ดนั้นได้
โอเพนซอร์สส่วนใหญ่ขับเคลื่อนด้วยการสื่อสาร ส่วนหนึ่งคือ commit message และอีกส่วนหนึ่งคืออีเมลที่โต้ตอบกันไปมา การอธิบายว่าทำไมคุณถึงทำสิ่งนั้น หรือทำไมมันถึงใช้ไม่ได้ผลสำหรับคุณ เป็นเรื่องสำคัญอย่างยิ่ง
2 ความคิดเห็น
การพูดว่า No กับความคิด ไอเดีย หรือผลงานของใครสักคนเป็นเรื่องที่ยากมากจริงๆ
ผมเห็นด้วยอย่างยิ่งกับคำพูดที่ว่า การจะพูดว่า No ได้นั้นต้องเข้าใจภูมิหลังของมันก่อน
ถ้าระดับนั้น แค่พูดว่า 'No' ก็น่าจะทำให้อีกฝ่ายกลับไปวิจารณ์ตัวเองเองแล้วมั้ง.. แต่ก็ยังใจดีนะครับ.. 555