อ่านบทความเรื่อง The Full Stack Overflow Developer จาก Sitepoint
พบว่า มันโดนใจ ชัดเจน และ เป็นรูปธรรมอย่างมาก
ดังนั้น
ลองมาดูกันว่า มันคืออะไร ?
มีรูปแบบอย่างไร ?
รวมทั้งมันก่อให้เกิดปัญหาอะไรบ้าง ?
ก่อนอื่นลองถามเราเองสิว่า
“เราเป็น Full Stack Overflow Developer หรือไม่ ?”
เริ่มด้วยความหมายของ Full Stack Overflow Developer ?
Full Stack Overflow developers work almost entirely by copying and pasting code from Stack Overflow instead of understanding what they are doing. Instead of researching a topic, they go there first to ask a question hoping people will just give them the result.
แปลง่าย ๆ คือ
Developer ที่ชอบค้นหา และ copy-and-paste code จาก Stack Overflow มาใช้
โดยไม่ได้ทำความเข้าใจเลยว่า code เหล่านั้นมันทำงานอย่างไร
แค่มันทำงานได้ตามที่ต้องการก็พอแล้ว
ยังไม่พอนะ
Developer ที่ไม่ชอบค้นหาด้วยตัวเองก่อน
แต่กลับชอบตั้งคำถามที่ Stack Overflow
แล้วหวังว่าจะมีคนมาตอบ
แล้วก่อนจะมี Stack Overflow เหล่า developer เขาทำงานกันอย่างไรล่ะ ?
เคยรู้สึกไหมว่า
งานที่เราเคยทำผ่านไปนั้น มันเสร็จได้อย่างไร
แถมเมื่อกลับไปอ่าน code แล้ว ยิ่งไม่เข้าใจอีกด้วย
แหล่ง resource ของ developer แต่ก่อน คือ web รวม script ต่าง ๆ นั่นเอง
เราสามารถ copy มาใช้งาน โดยไม่ต้องคิดอะไรกันเลย !!
ผมมั่นใจว่า developer ทุกคนเคยทำมาแล้ว
ผมก็เช่นกัน !!
แต่บางคนยังคงทำกันอยู่ … มันน่ากลัวมากเลยนะ
มาดูสาเหตุของการ copy-and-patse กันหน่อยสิ มีอะไรบ้าง ?
- เราต้องการสร้างอะไรที่มันสนุก ๆ ขึ้นมา มากกว่าที่จะไปอ่าน code ว่ามันทำอะไรบ้าง ได้ผลลัพธ์ออกมาก็แจ่มล่ะ
- เสพติดความเร็ว ทั้ง ๆ ที่ไม่รู้ว่าทำไมมันทำงานได้ โดยไม่สนใจการ maintain หลังจากนั้น
- ยิ่งงานพัฒนา software ในปัจจุบันต้องการความเร็ว พัฒนาให้เร็วที่สุด มากกว่า ให้ code มันสะอาด และ อ่านง่าย
ทำไม Stack Overflow ถึงได้รับความนิยมล่ะ
- เมื่อถามไป ก็ได้คำตอบ และ วิธีการแก้ไขเลยไงล่ะ แถมเอาไปใช้งานได้เลย
- ผู้ตอบมีความรู้
- เมื่อคำตอบได้รับการ vote สูง ก็ทำให้มีกำลังใจในการตอบไปอีก ระบบมันดีมาก ๆ
ข้อมูลที่น่าสนใจ คือ
Developer ที่ถาม และ ตอบ มีอายุอยู่ในช่วงไหนบ้างนะ ?
คุณเห็นอะไรจากรูปด้านล่างนี้บ้าง ?
แล้ว Full Stack Overflow Developer มันก่อให้เกิดปัญหาอย่างไรล่ะ ?
เมื่อทุกอย่างมันรีบเร่ง และต้องการปล่อย product สู่ตลาดให้เร็วที่สุด
คำว่าคุณภาพมันจึงหาย หรือ ด้อยค่าลงไป
เรามักจะได้ยินคำว่า ช่วย ๆ กันทำให้มันเสร็จ ๆ สู้ ๆ …
และอีกหลายคำมากมาย …
สุดท้ายผลลัพธ์มันก็กลับมาทำร้ายทั้งคุณ ทั้ง product และ บริษัท !!
เรามักละเลยพื้นฐานของการพัฒนา software/product
นั่นคือ การเรียนรู้ (Learning)
ยิ่งระบบที่ซับซ้อน มีหลายส่วนที่เราไม่เคยรู้เลย (Blackbox system)
หรือ library ต่าง ๆ ที่นำมาใช้งาน
โดยส่วนต่าง ๆ เหล่านี้มันพร้อมที่จะกลับมาทำร้ายเราอยู่อย่างเสมอ
แถมมักเกิดขึ้นประจำ และ มีค่าใช้จ่ายที่สูงด้วย
แต่เราก็ไม่เคยเรียนรู้ ไม่เคยจำ และ ไม่เคยปรับปรุง
ดังนั้น จึงทำกันต่อไป !!
เส้นทางของเหล่า The Full Stack Overflow Developer
ซึ่งมันน่ากลัวต่อระบบงานของคุณอย่างมาก
- ค้นหาข้อมูลผ่าน Google
- ผลการค้นหาในหน้าแรก แน่นอนว่าไปที่ Stack Overflow
- ทำอย่างไรดีล่ะ Copy-and-Paste code สิครับ
- ถ้า code มันไม่ work ไปที่ step 2 แต่ถ้า work ไปหาเรื่องอื่น ๆ ที่ step 1 !!
ดังนั้น ลด ละ เลิก กันเถอะนะครับ
ไม่ใช่เลิกใช้นะ แต่กำลังจะบอกว่า
ก่อนที่จะนำอะไรมาใช้งาน
ทำการเรียนรู้ และ เข้าใจมันก่อนดีไหม ?
สุดท้ายลองถามเราเองอีกครั้งสิว่า
“เราเป็น Full Stack Overflow Developer หรือไม่ ?”
Reference Websites
http://www.sitepoint.com/full-stack-overflow-developer/
http://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html
http://coding-and-more.blogspot.ie/2011/06/its-official-developers-get-better-with.html