กว่าจะเขียนโปรแกรมได้ ชีวิตต้องเจออะไรบ้าง (ตอนที่ 1)

Arif Waram
2 min readFeb 8, 2017

--

What every beginner absolutely needs to know about the journey ahead
สิ่งที่มือใหม่โคตรจำเป็นต้องรู้ เกี่ยวกับสิ่งที่รอพวกเอ็งอยู่ข้างหน้า

ประโยคนี้ดึงดูดผมให้เข้าไปอ่าน บทความของ Erik Trautman ผู้ก่อตั้ง vikingcodeschool ในหัวข้อ Why Learning to Code is So Damn Hard อ่านแล้วรู้สึกว่าเป็นประโยชน์ และอยากแปลมาให้เพื่อนๆได้อ่านกัน เพราะมันมีประโยชน์จริงๆ

Source: Unsplash.com by Sai Kiran Anagani

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

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

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

  1. The Hand Holding Honeymoon ช่วงเริ่มเรียนรู้ เป็นเวลาที่มุ๊งมิ้งที่สุดแล้ว ตามชื่อเลยครับ เพราะมีคนคอยสอนทุกอย่าง เราได้เรียนรู้ตั้งแต่เรื่อง Syntax พื้นฐาน ได้แก้โจทย์ง่ายๆ ให้นึกภาพตอนเราปั่นจักรยานครั้งแรกๆ ที่มีพ่อแม่คอยดูอยู่ใกล้ๆ ไม่พอ มีล้อประคองกันล้มให้อีก ที่ต้องการในช่วงนี้ก็แค่ เราต้องออกแรงปั่น ช่วงนี้หลายคนความมั่นใจจะพุ่งพรวดๆเลยหละครับ อารมณ์ประมาณว่า “เห้ย ตูก็เจ๋งไม่เบานิหว่า”
  2. The Cliff of Confusion ช่วงนี้เป็นช่วงเจ็บจริงละครับ เป็นช่วงที่เริ่มสูญเสียความมั่นใจ เปรียบกับการฝึกปั่นจักรยานอีกก็คงเป็นช่วงแรกที่โดนถอดล้อประคองให้ปั่นเองนั่นแหละครับ ทีนี้เราเริ่มพบว่าเห้ย มันไม่ได้ง่ายอย่างที่คิดว่ะ ไหนจะต้องประคองแฮนด์บังคับทิศทาง ไหนจะต้องทรงตัวไม่ให้ล้ม ต้องทำทุกอย่างด้วยตัวเอง ครับ ช่วงนี้จะมีอะไรใหม่ๆที่กระหน่ำเข้ามาให้เราต้องแก้ ทั้งที่ยังทำไม่เป็น หรือแทบจะนึกไม่ออกด้วยซ้ำว่าต้องทำยังไง นี่แหละครับ เรากำลังเผชิญอยู่กับหน้าผาแห่งความสับสน.
  3. The Desert of Despair เอาหละครับ ช่วงแห่งความเคว้งคว้างมาเยือนแล้ว เป็นช่วงที่เริ่มสับสนกับชีวิต เริ่มท้อ ทั้งที่รู้สึกว่าที่ทำๆมันก็น่าจะเวิร์ค แต่ก็พบว่าตัวเองไม่ไปไหนซะที วนอยู่กับปัญหาเดิม พวกคู่มือ หรือ How to ที่ช่วยชีวิตไว้ในช่วงแรกๆก็เริ่มช่วยไม่ค่อยได้ หันไปทางไหนก็รู้สึกมืดแปดด้าน เหมือนถูกปล่อยให้อยู่ท่ามกลางทะเลทรายที่มีแต่ความว่างเปล่า สิ้นหวัง, ซึ่งสิ่งที่ต้องระวังคือ อย่าปล่อยให้ตัวเองจมอยู่กับความรู้สึกนี้ เพราะมันอาจทำให้เราท้อ ตนถึงขั้นถอดใจได้เลย
  4. The Upswing of Awesome คือช่วงเวลาที่คุณเริ่มพบทางออก คือเริ่มจับคอนเซปได้ และเริ่มเข้าใจแล้วว่าจะเขียนแอพฯจริงๆ ขึ้นมาต้องทำยังไง. แต่สกิล
    ด้านการโค้ดดิ้งก็ยังกากอยู่มาก. ถึงกระนั้นก็ยังดีที่ความมั่นใจที่หายไปตั้งแต่พ้นช่วงฮันนีมูนก็เริ่มกู้กลับมาได้บ้าง เพราะแอพฯที่เขียนเริ่มทำงานได้, เราเริ่มรู้จักวิธีการพัฒนา, demo พื้นๆให้คนอื่นดูงานของเราก็พอไหว แต่ลึกๆก็ยังไม่กล้าแงะดูเนื้องานจริงๆของตัวเองเท่าไร (รู้ตัวดีว่าวางยาไว้เยอะเลย ฮ่าๆ), แถมช่วงนี้ก็ยังนึกไม่ออกอยู่ดี ว่าจะเขียนโค้ดให้มันเป็นงานที่เอาไปขายจริงยังไง, อีกไกลแค่ไหนกว่าจะเป็นโปรแกรมเมอร์ได้

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

ปล.เพิ่งหัดเขียนบล็อกจริงจังครั้งแรกๆ ถ้าผิดพลาดตรงไหน รบกวนขอคำแนะนำด้วยครับ

--

--