การเป็น developer ที่ดี นั้นไม่ใช่แค่ทำให้ software/program/app ทำงานได้ตามที่ user ต้องการ แต่ควรจะมีสิ่งที่มากกว่านั้น
แล้วสิ่งๆนั้นคืออะไรล่ะ?
Working Software นั้นอาจจะเพียงพอที่จะทำให้ปิดโปรเจคหรือส่งมอบให้ user ไปใช้งานได้ แต่ข้างในระบบนั้นอาจจะเต็มไปด้วย shortcut, hack, debt ต่างๆเต็มไปหมด ซึ่งเป็นสิ่งที่ไม่ควรสำหรับ Craftsmanship developer
ถ้าเราต้องการก้าวผ่านระดับ good developer ไปสู่ Craftsmanship developer สิ่งแรกที่ควรคิดถึงเลยคือ
well-crafted software – ก็คือ software ที่ออกแบบอย่างปราณีต, code design สวยงาม เป็นระบบระเบี่ยบ อ่านง่ายและง่ายต่อการเข้าใจ
การจะสร้าง well-crafted software ได้นั้น ก็ต้องใช้ประสบการณ์และความทุ่มเท มากขึ้นแน่นอน
ผมว่าเราเริ่มจากแนวคิดง่ายๆก่อนเลยนะ
- สมมุติว่าเราทำ implement จบไป 1 feature
- ลองใช้เวลากับ code ที่เรา implement ไปซักพักนึง แล้วถามตั้งคำถามว่า …. “เราจะทำให้มันดีขึ้นยังไง”?
- แล้วลองใช้เวลาอีกซักพักเพื่อแก้ไขสิ่งที่เรา implement ไป
- ถ้าไม่พอใจก็ถามคำถามเดิมกับตัวเอง ว่า “มันน่าจะดีขึ้นได้อีกนะ?”
- ผมเชื่อว่าการทำแบบนี้สม่ำเสมอจะทำให้ไปถึงจุดที่เรา implement สิ่งที่เรียกว่า well-crafted software ได้ในซักวันหนึ่ง
more info: http://manifesto.softwarecraftsmanship.org/