5 คะแนน โดย spilist2 2021-12-04 | 7 ความคิดเห็น | แชร์ทาง WhatsApp

ช่วงนี้พอคิดเรื่องการเรียนรู้ การเติบโต และประสิทธิภาพการทำงานอยู่บ่อย ๆ ก็เลยเริ่มสงสัยหัวข้อนี้ขึ้นมาครับ

ยิ่งไปกว่านั้น คุณคิดว่านักพัฒนาที่ดี กับนักพัฒนาที่ยอดเยี่ยม ต่างกันอย่างไรบ้าง?

ถ้าจะตอบโดยเปลี่ยนคำว่า 'นักพัฒนา' เป็นบทบาท/สายงานอื่นที่คุณอยู่ในนั้นหรือรู้จักดี ก็จะขอบคุณมากครับ (เช่น เทครีด, CTO, CEO, ผู้ก่อตั้ง, ดีไซเนอร์, PM, ...)

ผมคิดว่าจุดร่วมของนักพัฒนาที่ยอดเยี่ยมมีอยู่ใหญ่ ๆ สามข้อดังนี้

  • การมองเห็นปัญหา: มองเห็นสิ่งที่คนอื่นยังไม่ทันตระหนักด้วยซ้ำว่าเป็นปัญหา และค้นหาโอกาสในการปรับปรุง

  • การนิยามปัญหา: มองสถานการณ์และสาเหตุของปัญหาในหลายระดับและจากหลากหลายมุมมองอย่างมาก แล้วนำประสบการณ์ที่ผ่านมาไปทำให้เป็นรูปแบบ จนลดทอนปัญหาให้กลายเป็นปัญหาที่ง่ายกว่า (หรือมีประสิทธิภาพกว่า หรือแก้ได้ถึงรากมากกว่า)

  • การแก้ปัญหา: นึกทางเลือกของโซลูชันที่เป็นไปได้หลายแบบได้ เข้าใจ trade-off ของแต่ละโซลูชัน และเลือกโซลูชันให้เหมาะกับสถานการณ์ขององค์กรในปัจจุบัน รู้ด้วยว่าควรดูสัญญาณอะไรและในจังหวะไหนเพื่อปรับเปลี่ยนการตัดสินใจนั้น และนำวิธีแก้ไปใช้ในหน่วยเล็ก ๆ ที่รับฟีดแบ็กได้รวดเร็ว

7 ความคิดเห็น

 
benjamin 2021-12-17

รสนิยมด้านแฟชั่นติดลบ

ถ้าจะบอกว่ามีจุดร่วม ก็นึกออกแค่นี้เลยครับ

พูดเล่นครึ่งจริงครึ่งนะครับ.....haha

 
xguru 2021-12-04

โดยพื้นฐานแล้วผมก็คิดว่านักพัฒนาคือคนที่แก้ปัญหา

แต่ผมคิดว่าไม่จำเป็นต้องจำกัดว่าเฉพาะนักพัฒนาเท่านั้น สำหรับผม ลักษณะเด่นของคนที่ยอดเยี่ยมคือ "การเชื่อมโยง"

มีทั้งความรู้ ประสบการณ์ ไอเดีย และอีกมากมายอยู่ในหัว และผมคิดว่าสิ่งสำคัญคือคนคนนั้นเชื่อมโยงสิ่งเหล่านั้นได้ดีแค่ไหน

เมื่อพบปัญหาแล้วนึกถึงวิธีแก้ได้ นั่นคือการเชื่อมโยงขั้นแรก

แต่การเชื่อมโยงปัญหากับปัญหาเพื่อมองเห็นสถานการณ์ที่ซับซ้อนและหาวิธีแก้อื่น ๆ ก็เป็นการเชื่อมโยงเช่นกัน

และการเชื่อมโยงวิธีแก้กับไอเดียหลาย ๆ อย่างเข้าด้วยกันเพื่อสร้างวิธีแก้ที่ง่ายกว่า ยืดหยุ่นกว่า และยอดเยี่ยมกว่า ก็เป็นการเชื่อมโยงเช่นกัน

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

 
spilist2 2021-12-04

ผมเคยไปถามใน Facebook เหมือนกัน แล้วคุณคิมชังจุนก็คอมเมนต์ว่าให้ลองอ้างอิงงานวิจัยดู รู้สึกเลยว่าทำไมตัวเองถึงนึกเรื่องนี้ไม่ออกนะ

เห็นว่างานวิจัยปี 2015 ชื่อ “What Makes a Great Software Engineer?” ถูกอ้างอิงไป 150 ครั้ง เลยว่าจะลองอ่านดูครับ

https://ieeexplore.ieee.org/abstract/document/7194618

 
guswns1659 2021-12-15

spilist2 สวัสดีครับ! เหมือนผมจะเคยเห็นว่าคุณโพสต์คำถามนี้ใน Facebook ด้วย :) ผมก็เป็นเรื่องที่กังวลอยู่เสมอเหมือนกัน ไม่ทราบว่าในส่วนของเนื้อหาในงานวิจัย มีอะไรที่พอจะแนะนำเป็นพิเศษไหมครับ?

 
spilist2 2021-12-15

วิทยานิพนธ์นี้น่าจะเป็นวิทยานิพนธ์ระดับปริญญาเอก (dissertation) ซึ่งตาม PDF แล้วมีตั้ง 300 หน้าเลยครับ https://digital.lib.washington.edu/researchworks/bitstream/…

เพราะงั้นตอนนี้ผมเลยยังอ่านได้แค่บทที่ 2 (introduction, related works) แต่แค่นี้ก็ชอบเนื้อหามากแล้วครับ เขียนประโยคได้เข้าใจง่ายด้วย แนะนำครับ

 
guswns1659 2021-12-29

จากบทความที่คุณแชร์มา ผมรู้สึกว่าบทที่ 6 น่าจะเป็นแกนสำคัญที่สุดเลยลองอ่านดู 555 เนื้อหาดีมากนะครับ! ทำให้ผมได้กลับมาทบทวนตัวเองอีกครั้งด้วย!! 555 ขอบคุณครับ

 
spilist2 2021-12-04

ผมลองโยนคำถามนี้ออกไปแล้วค้นหาใน Google ดู ก็เจอบทความอยู่ไม่กี่ชิ้น มีคีย์เวิร์ดอย่าง 10x engineers ด้วย

https://linkedin.com/pulse/great-engineer-vs-good-marissa-fayer-mba/

  • นักพัฒนาที่ดีมีเครื่องมือพิเศษสำหรับแก้ปัญหา นักพัฒนาที่ดีเป็นคนมีระบบ มีเหตุผล มองจากทุกมุม และวิเคราะห์อินพุต/เอาต์พุตที่เป็นไปได้ทั้งหมด

  • นักพัฒนาที่ยอดเยี่ยมต่อยอดจากความสามารถทั้งหมดที่กล่าวมาข้างต้น แล้วนำไปใช้กับวิธีแก้ปัญหาที่พร้อมใช้งานได้ทันที พวกเขานำแพตเทิร์นที่เป็นที่รู้จักอยู่แล้ว (หลักการทางวิทยาศาสตร์และคณิตศาสตร์, หลักการพัฒนาแบบลีน เป็นต้น) ไปประยุกต์กับปัญหาใหม่ในชีวิตจริงอย่างสร้างสรรค์

  • นักพัฒนาที่ยอดเยี่ยมที่สุดรู้จักการรับฟัง พวกเขาฟังปัญหา ฟังผู้มีส่วนได้ส่วนเสียและสิ่งที่คนเหล่านั้นให้คุณค่า ฟังตลาด ฟังฟีดแบ็ก และฟังเสียงภายในตัวเองที่ช่วยให้คิดวิธีการอย่างสร้างสรรค์ได้

==

https://www.quora.com/How-do-you-identify-a-good-vs-great-engineer

มีคำตอบเยอะมาก... แต่ถ้าดูเฉพาะไม่กี่คำตอบที่ได้ vote สูง

  1. (ยกตัวอย่างคนที่เอาพัดลมไปไว้ข้างสายพานลำเลียง) คนขี้เกียจมักจะหาวิธีไม่ต้องทำงานเสมอ วิศวกรขี้เกียจคือวิศวกรที่ดีที่สุด

  2. วิศวกรที่ดีแก้ปัญหาที่ถูกร้องขอ บางครั้งก็ไปเรียนเพื่อพัฒนาทักษะทางเทคนิคของตัวเอง แต่วิศวกรที่ยอดเยี่ยมจะก้าวไปไกลกว่าสิ่งที่ถูกร้องขออีกขั้น

  • ถ้าใครมีคำถาม ผู้คนจะไปหาเขา

  • เรียนรู้อย่างต่อเนื่องไม่หยุด

  • แบ่งปันสิ่งที่ตัวเองรู้อย่างสม่ำเสมอ

  • ยืนหยัดในสิ่งที่คิดว่าถูกต้อง แต่ก็รู้ด้วยว่าเมื่อไรควรยอมถอย

  • ไม่กลัวที่จะลงมือทำงานจริง

  1. วิศวกรที่แย่จะเอาแต่หาข้ออ้างว่าทำไมถึงแก้บั๊กในระบบได้ยาก วิศวกรที่ดีจะแก้บั๊กโดยอาศัยความเชี่ยวชาญของตนเอง วิศวกรที่ยอดเยี่ยมจะมองหาความหมายที่ซ่อนอยู่เบื้องหลังปัญหาที่ได้รับมา
  • ตรวจดูว่าระบบอื่นทั้งหมดมีบั๊กคล้ายกันหรือไม่ (หรือมีการแก้ไปแล้วหรือยัง)

  • เสนอวิธีแก้หรือการออกแบบระยะยาวที่ช่วยหลีกเลี่ยงไม่ให้เกิดบั๊กลักษณะคล้ายกันซ้ำอีก (พร้อมแนบ cost/benefit analysis ของแต่ละทางเลือก)

  • มองเลยออกไปนอกขอบเขตความเชี่ยวชาญของตัวเอง เพื่อดูว่าทีมอื่นกำลังเจอปัญหาคล้ายกันอยู่หรือไม่ (หรือได้ติดต่อไปแล้ว)