จบคอมพิวเตอร์มา ทำไมเขียนโปรแกรมไม่ได้

เขียนโค้ดไม่ได้

สืบเนื่องมาจากกระทู้ใน pantip ที่มีหลายๆคนในวงการแชร์กันกระหน่ำมากๆคือ http://pantip.com/topic/34170340 และ http://pantip.com/topic/23063088 เลยคิดว่าจะมาเขียนอธิบายไว้และก็บอกความจริงหลายๆด้านให้ผู้อ่านลองคิดดูกันครับ

จบตรงสายแต่เขียนไม่ได้ ทำไม ?

หลายๆสาเหตุที่คนจบด้านวิทยาการ คอมพิวเตอร์หรือด้านวิศวะคอม เขียนโปรแกรมไม่ได้เนี้ยอยากให้มองสองฝั่ง คือ

  • ฝั่งคนเรียน
  • ฝั่งคนจ้างหรือคนทั่วๆไปที่มองคนเรียนอีกที

ฝั่งคนเรียน

  1. เรียนสายนี้แต่ไม่ใช่ด้านเขียนโปรแกรม คนที่เรียนบางครั้งไม่ได้ชอบด้านนี้แต่อยากเรียนอย่างอื่นในสายทางนี้ เช่น อาจจะไม่ได้ชอบเขียนโปรแกรม แต่ชอบด้าน network หรืออาจจะชอบออกแบบฐานข้อมูล ซึ่งข้อนี้จะไปตรงกับมุมมองของคนภายนอกที่คิดเองเออเองว่า สายนี้มันเรียนเขียนโปรแกรมอย่างเดียวเท่านั้น
  2. คะแนนถึงเลยมาเรียน เพื่อนผมตอนสมัยเรียนหลายคนนั้นคะแนนถึงคณะนี้เลยมาเรียนเพราะคิดว่าน่าจะจบมามีงานทำแน่นอน เพราะใครๆก็ต้องมีคอมพิวเตอร์ สุดท้ายเจอเขียนโปรแกรมเข้าไปทีเงิบ ถ้าไม่ออกก่อนก็จบมาแบบรอดตาย
  3. ไม่สนใจพื้นฐาน ( fundamental ) บางคนเขียนได้นิดหน่อย ปรับจากโค้ดที่ copy มาจาก internet ไม่เข้าใจพื้นฐานเลยว่าทำไมต้องเขียนอย่างนี้ หรือ เราจะปรับปรุงโค้ดนี้ให้ดีขึ้นได้อย่างไร เอาแต่ copy แล้วส่งอาจารย์ หรือ ทำให้เสร็จๆไป พอไม่เข้าใจพื้นฐานมันจะเป็นผลกระทบหลายๆเรื่องเลยเช่น ถ้าให้ขึ้น project ใหม่จะไม่รู้เลยว่าเขียนยังไง คือ ทำแต่ปรับๆโค้ดไงก็เลยไม่เข้าใจว่าตั้งแต่แรกเขาต้องเขียนอะไรยังไง
  4. เขียนคนละภาษา คือ ภาษาที่ใช้ติดต่อคอมพิวเตอร์เนี้ยมันมีหลากหลายมากๆครับ บางคนชอบเขียนโปรแกรมสำหรับใช้งานใน window อย่างเดียว แล้วมีลูกค้ามาติดต่อให้ทำเว็บมันคือ คนละสายเลย

ฝั่งคนจ้างหรือคนทั่วไป

  1. ไม่รู้จริงๆว่าสายนี้มีอย่างอื่นให้เรียน อันนี้สอดคล้องกับข้อแรกของคนเรียนคือ คนนอกไม่รู้คิดว่ามีให้เขียนโปรแกรมอย่างเดียวพอมาเจอคนไม่ได้เขียนเลยคิดว่า ทำไมถึงเขียนไม่ได้คิดว่าทุกคนต้องเรียน
  2. จบเกี่ยวกับคอมต้องรู้ทุกอย่างที่มีปลั๊ก หลายๆคนคงเคยเจอ ให้ซ่อมทุกอย่างที่มีปลั๊กจริงๆเพราะคิดเอง ( อีกแล้ว ) ว่าคนเรียนจบคอมมาคือทำทุกอย่างเป็น ไม่ก็ทุกโปรแกรม เช่น ทำไมใช้ word , excel ไม่เป็นล่ะ ? ซึ่งจริงๆอยากบอกว่าที่บางคนใช้เป็นเพราะเขาศึกษาเองไม่ได้เป็นกันทุกคนครับ
  3. ทำไมเขียนเว็บไม่ได้หรือทำไมเขียน app ไม่ได้ คือปัญหานี้จะคล้ายกับข้อสี่ คือ ภาษาที่ใช้เขียนบางคนเรียนมาด้านเขียน app ไม่เคยเขียนเว็บ แต่ผู้จ้างหรือคนนอกวงการจะมองว่ามันคือ การเขียนโปรแกรมเหมือนกันอันนี้อาจจะเป็นความเข้าใจผิดกัน

เขียนโปรแกรมได้ vs เขียนโปรแกรมเป็น

นอกจากเรื่องความเข้าใจผิดๆอย่างที่กล่าวมาแล้ว ยังมีเรื่องที่ว่าคนที่เขียนโปรแกรมได้เฉยๆ กับการเขียนโปรแกรมให้ทำงานได้ดี ซึ่งยากมากหาได้ในไทยน้อยจริงๆ เพราะความรู้ใน internet ด้านเขียนให้ดีมันค่อนข้างยากและถ่ายทอดกันน้อย หลายๆคนฝึกเขียนจาก internet เอาจริงๆการเรียนรู้จาก internet ไม่ผิดแต่หลายๆครั้งที่ผมพบเจอคือ เนื้อหาในเน็ตนั้นไม่ได้เรียงลำดับสิ่งที่คุณควรจะรู้ คือ บางครั้งจะเป็นคำตอบมาเลยเราต้องไปทำความเข้าใจเองว่า อะไรยังไงต่อ แต่หลายคนก็ไม่ได้คิดอย่างนั้นได้คำตอบก็เอาไปตอบคำถามแล้วก็รับเงิน อันนี้บ้านเราเป็นกันเยอะ ไม่สงสัยทำไมเขียนอย่างนี้เลยด้วยซ้ำ

การจะเขียนโปรแกรมที่ดีได้มันไม่ใช่เขียนให้จบเพราะการทำโปรแกรมให้คนอื่นใช้ เขาอาจจะต้องใช้มันไปอีกเป็นหลักปีเลยนะ ถ้าเราเขียนไม่ดี ไอ้โปรแกรมที่เราสร้างเนี้ยแหละจะมาแทงเราไม่ก็คนอื่นต่ออีก แต่ผมก็เข้าใจว่าการจะก้าวผ่านการเขียนให้ดีมันยากระดับต้องฝึกๆไปเรื่อยๆไม่ใช่เขียนได้แล้วจบ

ทางแก้ไข

สำหรับนักพัฒนามือใหม่

คอร์สออนไลน์ หากอยากเริ่มเขียนโปรแกรมผมแนะนำให้ไปลงทุนกับพวกคอร์สสอน online เลยโดยการไปดูตามเว็บต่างๆ ทดลองฟังภาษาคนพูดหน่อย ของไทยก็มีหลายคนสอนแต่ผมบอกไม่ได้ว่าเจ้าไหนดี ต้องลองๆไปอ่านรีวิวคนอื่นในเว็บ พยายามดูหรือติดตามคอร์ส online บางครั้งมันลดราคาไม่ได้แพงอย่างที่คิดเช่น 5$ , 10$ ซึ่งมันไม่ได้มากมายเลยสำหรับนักพัฒนา

ซื้อหนังสือ มาอ่านและทำตามอันนี้เป็นสมัยตอนผมเริ่มหัดเขียนใหม่ๆ โดยเอาหนังสือสอนเล่มหนาๆอ่ะนะ ลองอ่านๆดูไม่ก็ซื้อมาเหอะ เกือบทุกเล่มมันจะมี workshop ข้างในว่า webboard เขียนยังไง ระบบ login เขาทำแบบไหนมาก่อน เพื่อให้เกิดไอเดียว่า คนสมัยก่อนทำแบบไหนมา แล้วสมัยใหม่เขาแก้ไขยังไง ถ้าไม่เข้าใจมีกลุ่มใน Facebook เกี่ยวภาษาที่คุณเรียนอยู่แน่ๆเข้าไปทำความรู้จักและฝึกถามเขา

ขี้สงสัย ทุกๆครั้งที่เจอโจทย์หรือติดปัญหาแล้ว search เจอให้สงสัยด้วยว่าทำไมเขาถึงเขียนแบบไหนเพราะอะไร เราเขียนแบบอื่นได้ไหม หรือเราเข้าใจกับโค้ดที่เขาเขียนบอกไว้หรือไม่

อย่าหยุดพัฒนา หลายๆคนมักคิดว่าเราเขียนโปรแกรมได้แล้วหากินได้แล้ว ไม่ต้องทำอะไรแล้วคือขาย code หรือทำงานแบบนี้ไปเรื่อยๆ บอกเลยว่าผิดมาก เพราะด้าน IT ได้เงินเยอะแต่ก็ต้องเอาไปลงทุนกับความรู้ด้านนี้เยอะไม่แพ้กันเลย และคุณอาจจะยังไม่เคยเจอการผลัดเปลี่ยนเทคโนโลยีอันนี้ยกตัวอย่างจากตัวผมเอง คือ สมมติว่าคุณเขียนโปรแแกรมด้วยภาษา A แต่อีก 10 ปีต่อมามีคนคิดค้นว่าเฮ้ย ภาษา B เหมาะสมกว่าเร็วกว่า รองรับการขยายได้ดีกว่า แต่ต้องเปลี่ยนการเขียนใหม่หมดจากภาษา A คุณก็ต้องพร้อมปรับเปลี่ยนครับ

ฝึกถามให้เป็น การถามเป็นศาสตร์อย่างหนึ่ง หลายๆคนอธิบายคำถามตัวเองไม่ได้ เรียกได้ว่าพอถามว่า กำลังหาอะไรอยู่ก็อธิบายแบบงงๆ ผมแนะนำให้ไปอ่านที่นี่เลย https://nuuneoi.com/blog/blog.php?read_id=806 บล็อคที่เนยเขียนไว้ได้ดีมากๆแล้วครับ

ฝึกคุยฝึกเขียน blog เพื่อตัวเองและลูกค้า คือหลายๆครั้งที่ลูกค้าหรือผู้จ้างไม่เข้าใจความเป็นคุณ เขาจะมองว่าคุณติส abstract อะไรก็ว่าไป สิ่งสำคัญคือ คุณต้องฝึกเขียนฝึกอธิบายแล้วคุณจะเข้าใจว่าสิ่งที่คนไม่รู้เราต้องอธิบายอย่างไรให้เขาเข้าใจ เมื่อเขามีความต้องการจะให้คุณสร้างโปรแกรมอะไรซักอย่าง ทำไมมันถึงมีราคาสูง หรือทำไมมันถึงทำไม่ได้ คือ ไม่ใช่การตอบว่า “ทำไม่ได้อ่ะ” หรือ “มันยากที่จะทำครับ” คือต้องบอกต่อว่าทำไมมันถึงยาก ทำไมมันทำไม่ได้ ส่วนเรื่องการตัดสินใจว่าเขาจะทำหรือไม่ทำก็อีกเรื่องหนึ่งครับ แต่สิ่งสำคัญเราต้องเป็นคนให้คำแนะนำว่าอะไรทำไม ส่วนเรื่องตัดสินใจการจ้างและสร้างโปรแกรมไหมเป็นทางเขาครับ

คำแนะนำสำหรับผู้ว่าจ้าง

ทำระบบคัดคนที่ดี คือบางครั้งถ้าไม่มีระบบการคัดกรอกคนที่เขียนเป็นแต่แรกก็ไม่ควรจะไปว่ากล่าวทางฝั่งของคนมาทำงานครับ คือไม่ได้โทษทางผู้ว่าจ้างนะครับ เป็นหัวหนึ่งที่ควรนึกถึงไม่ใช่บอก HR แล้วจบ เพราะบางครั้ง HR ไม่ได้รู้ลึกว่าคุณกำลังหาคนมาเขียน app หรือ web แล้วไม่รู้ว่าจะทดสอบอย่างไรให้เหมาะสมครับ

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

สรุป

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