ทักษะประจำกาย Developer #6 – Craftsmanship Developer นักพัฒนายอดฝีมือ

การเป็น 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/

ทักษะประจำกาย Developer #5 – ไม่มีใครขายงานของเรา ได้ดีเท่าตัวเรา

เนื่องจากนิสัยโดยทั่วไปของ Developer ชอบคุยกับคอมพ์มากกว่ากับคน ทำให้ขาดทักษะในการพูดและการ Present

แต่ผมคิดว่า Present ให้เป็นนี่ล่ะ เป็นอีกหนึ่งจุดที่ทำให้เราก้าวผ่านขีดจำกัดของ Developer โดยทั่วไป

ผมดูทีวีแล้วก็ได้ยินประโยคนี้ “ไม่มีใครขายสิ่งที่เราทำ ได้ดีเท่าตัวเรา” ซึ่งผมก็เห็นด้วย 100% เพราะคนที่ทำควรจะต้องรู้จากข้อดีและจุดขายของสิ่งที่ทำไป แต่การที่จะนำเสนอสิ่งนี้ หรือพูดให้คนอื่นเข้าใจหรืออินตาม จะทำได้ยังไง นี่เป็นความท้าทายมาก

Developer โดยทั่วไปเวลาทำการขายของ(Present งาน) จะชอบการพูดถึง technology ที่ใช้ logic ที่เขียน และการเรียงลำดับขั้นตอนที่ไปๆมาๆ แล้วก็วนมาว่าเขียน Code อะไรไปบ้าง

คนฟังที่ไม่ได้อยู่ในพื้นฐานหรือทำงานด้วยกันมาอาจจะไม่เข้าใจและเกิดอาการหลุด..

ดังนั้นการขายของหรือการ Present งานสำหรับ Developer เราควรจะต้องรู้ว่ากำลังขายให้ใคร
เช่น การ Present งานให้กับ Stake Holders หรือว่า คนที่ไม่ใช่ technical เราควรจะเน้นที่ประโยชน์มากกว่ารายละเอียดการ Implement

ท้ายที่สุดจงจำไว้ว่า งานของเรา เราคือคนขายที่ดีที่สุด!!!

Classical Music – Air on the G String

ผมเป็นคนชอบฟังเพลง….หนึ่งในแนวเพลงที่ชอบก็คือ เพลงคลาสสิค
ถ้าพูดถึงเพลงที่คลาสสิคที่ฟังแล้วหวานๆ แน่นอนเราก็คือถึงแต่เพลง Canon

แต่ในที่สุดผมก็เจออีกหนึ่งเพลงที่คิดว่าฟังแล้วหวานกว่า Canon ซะอีก (สำหรับผมนะ)

ผมไม่มีพื้นฐานด้านการตีความเพลงคลาสสิค แต่หลังจากได้ฟังเพลงนี้ สื่งที่ผมนึกถึงคือ….ความโรแมนติก ซึ่งต้องพูดว่าเสียงไวโอลินมันเพราะบาดหูจริงๆ 😉