จำเป็นมั้ยที่นักพัฒนาซอฟต์แวร์ต้องเรียนรู้วิชาความรู้อื่น?

รู้อะไรก็ให้รู้ รู้กระจ่างแต่อย่างเดียว แต่ให้เชี่ยวชาญเถิดจะเกิดผล

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

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

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

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

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

ถ้าเป็นคนที่ไม่สนิทกัน คงโดนต่อยปาก เตะผ่าหมากไปแล้ว 🙂 ดังนั้นคำถามแบบนี้จึงล่อแหลมอย่างยิ่ง

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

ทักษะของพี่ไท้

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

จะเห็นว่าแม้แต่ทักษะความรู้ของตัวเราเอง เราก็สามารถที่จะตีค่าออกมาเป็นตัวเลขแบบประมาณได้เหมือนกัน เหมือนกับที่บริษัทเกมส์ซึ่งผลิตเกมส์เตะบอล Winning Eleven สามารถที่จะตีค่าทักษะต่าง ๆ ของนักฟุตบอล แล้วเอามาบันทึกไว้ในเกมส์ เพื่อให้เราได้เล่นกันแบบนั้นนั่นแหล่ะ (ผมว่าตอนที่เขาให้คะแนนทักษะให้กับนักเตะแต่ล่ะคน ทีมงานของบริษัทเกมส์คงทะเลาะกันน่าดูเหมือนกันเน้อะ เพราะใคร ๆ ก็อยากให้นักบอลที่ตัวเองชื่นชอบมีพลังเตะ, พลังโหม่ง, พลังครองบอล สูง ๆ ทั้งนั้นแหล่ะ)

รู้เขารู้เรา รบร้อยครั้ง ชนะร้อยครั้งครับ

[tags]รู้เขารู้เรา,ทักษะ,ความรู้,นักพัฒนาซอฟต์แวร์,วิชา[/tags]

Related Posts

4 thoughts on “จำเป็นมั้ยที่นักพัฒนาซอฟต์แวร์ต้องเรียนรู้วิชาความรู้อื่น?

  1. อีกวิชาหนึ่งที่ไม่ได้บรรจุลงในหลักสูตรการเรียนรู้ คือ วิชาเดา ซึ่งมันใช้ได้ผลกับผมได้ในบางโอกาศ

  2. ว้าว…วิชาเดา น่าจะมีสอนในมหาวิทยาลัยหนะครับคุณ iDayBlog เพราะการเดาบางครั้งก็ได้ผลดีเช่นกัน เหมือนกับพวกนักสืบ ตำรวจ หน่วยราชการลับ อะไรพวกนี้ แต่คงไม่ดีแน่ครับถ้าเอามาใช้กับพวกเรามาก ๆ ฮะๆๆๆ

    ผมเห็นทีต้องไปแจกแจงเรื่องความรู้ของตนเองบ้างดีกว่า เพราะตอนนี้ก็ยังไม่ชัดเจนเหมือนกันต้องแก้ไขซะหน่อยแล้วหละ ขอบคุณพี่ไท้ที่ให้ข้อคิดนี้ครับ

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

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

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

    ผมไม่อยากเป็นคนที่ไม่รู้เรื่องรุ้ราวแบบนี้ เพราะงั้นผมถึงต้องรู้ให้มากกว่านี้ (ไม่จำเป็นต้องเจะจงว่าศาสตร์แขนงไหน)

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

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *