เราใช้คุ๊กกี้บนเว็บไซต์ของเรา กรุณาอ่านและยอมรับ นโยบายความเป็นส่วนตัว เพื่อใช้บริการเว็บไซต์ ไม่ยอมรับ
THE NERD OF MICROSOFTSALMONBOOKS
/ 01 / :_Square One . . .
  • ถึงแม้การเป็นเกมโปรแกรมเมอร์จะเป็นความฝัน แต่โอกาสในการจะได้ทำงานสายโปรแกรมเมอร์เขียนโค้ดเกมสำหรับเด็กต่างบ้านต่างเมืองอย่างผมนั้นน้อยพอๆ กับโอกาสที่ทีมฟุตบอลไทยได้จูบถ้วยแชมป์ฟุตบอลโลก

    ทำไมน่ะเหรอครับ ผมจะเล่าให้ฟัง

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

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

    ด้วยเหตุนี้หลายคนจึงท้อแท้ เพื่อนหลายคนที่เรียนมาด้วยกันร่วงหล่นไปกลางทาง เปลี่ยนสายเรียนกันไปเลยก็มี

    แต่เพื่อความฝันของการเขียนโค้ดเกม ผมจึงกัดฟันสู้ ต่อไป จนเมื่อเรียนปีสองที่ North Seattle Community College ไปได้ครึ่งทาง อาจารย์ที่สอนวิชา Computer Science ก็เรียกผมเข้าไปคุยเพราะเห็นว่าผลงานในชั้นเรียนเข้าตา ตอนนั้นเองที่อาจารย์ได้ชี้ทางสว่าง (หรือว่าเตะขัดขาผมเองก็ไม่แน่ใจ) บอกว่าอาชีพในฝันของผมน่ะ มีข้อเสียหลายอย่าง ไม่ว่าจะเงินเดือนน้อย (“That’s ok.” ผมตอบ อย่างน้อยทำงานที่รักก็ดีกว่างานที่เกลียด) ต้องทำงานหามรุ่งหามค่ำแทบไม่ได้หยุด
  • (“It’s alright.” ผมย้ำ สบายมากเพราะเตรียมใจมาแล้ว) แต่ที่สำคัญคือ เขาไม่รับนักเรียนต่างชาติ เกือบจะร้อยเปอร์เซ็นต์ (อ้าว...เชี่ยละไง)

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

    ผมฝันสลาย

    แต่อาจารย์ก็ยื่นทางออกให้ บอกให้ผมเรียนเป็นซอฟต์แวร์โปรแกรมเมอร์ไปเลยสิ นอกจากเงินดีแล้วยังเป็นที่ต้องการของตลาดด้วย

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

    โปรแกรมเมอร์จะแยกย่อยได้ง่ายๆ สองสายพันธุ์ใหญ่ๆ คือ ซอฟต์แวร์ กับฮาร์ดแวร์

    ซอฟต์แวร์จะผลิตงานตรงตามชื่อ ให้ลองคิดถึงพวกเว็บไซต์ โปรแกรมคิดเงินร้านสะดวกซื้อ แอพพลิเคชั่นมือถือ เกม แคนดี้ครัช คุกกี้รัน ฯลฯ พูดง่ายๆ ว่าเป็นสารพัดสิ่งที่มนุษย์ปุถุชนคนธรรมดาใช้งานในชีวิตประจำวันนั่นแหละครับ
  • ส่วนฮาร์ดแวร์จะฮาร์ดคอร์กว่านิดหนึ่ง ด้วยพวกนี้จะขลุกและสนทนาอยู่กับชิ้นส่วนอิเล็กทรอนิกส์ด้วยภาษา Binary (ภาษาแมชชีนที่เต็มไปด้วยเลข 0 และ 1) มากกว่ามนุษย์ด้วยกันเอง พวกเขาจะเป็นคนออกแบบชิ้นส่วนอิเล็กทรอนิกส์ต่างๆ นึกภาพพวกชิ้นส่วนไอโฟน หรือพวกหน้าจอคอมพิวเตอร์ เมาส์ คีย์บอร์ด สิ่งเหล่านี้แหละครับคืองานของสายฮาร์ดแวร์

    แต่ต่อให้ทั้งสองสายพันธ์ุจะแตกต่างกันขนาดไหน สุดท้ายก็ต้องพึ่งพาอาศัยกันอยู่ดี เพราะซอฟต์แวร์ก็ต้องรันบนฮาร์ดแวร์ ส่วนฮาร์ดแวร์ก็ต้องมีซอฟต์แวร์เพื่อใช้ทำงาน

    กลับมาที่การตัดสินใจในครั้งนั้น ต้องยอมรับว่ามันลำบากไม่ใช่น้อย ฝันมาตั้งหลายปี อยู่ดีๆ มาโดนดับฝันเสียดื้อๆ 

    แต่ในเมื่อไม่มีทางอื่นแล้ว ผมก็สมยอมตามอาจารย์ และเดินหน้าต่อไปในทางนั้น

    การเรียนที่ North Seattle Community College เปรียบไปแล้วก็คล้ายกับการเรียน ปวส. บ้านเรา คือใช้ระยะเวลาในการเรียนประมาณสองปี จากนั้นจะสมัครเข้ามหาวิทยาลัยเพื่อเรียนต่อปีสาม หรือจะหางานทำเลยก็ได้

    ผมตัดสินใจเลือกเรียนต่อมหา’ลัย ตั้งหน้าตั้งตาเรียนเขียนโปรแกรมอย่างหนัก จนในที่สุดผลแห่งความเพียรก็สุกงอม เมื่อผมผ่านการคัดเลือกเข้าคณะ Computer Science ที่มีชื่อเสียง ติดอันดับหนึ่งในห้าของสหรัฐฯ ที่ University of Washington ได้สวยงามยิ่งกว่ารุ้งกินน้ำ

    แต่ถึงจะฟังดูน่าชื่นใจ ถนนสายนี้ก็ไม่ได้โรยด้วยกลีบกุหลาบหรอกครับ

    บางทีอาจเป็นเพราะผมยังไม่ยอมวิ่งบนถนนก็ได้

  • / PLUS /

    ซอฟต์แวร์โปรแกรมเมอร์ยังแยกย่อยออกไปได้อีก เช่น Game Programmer, Web Developer, Application Programmer, System Programmer, Windows Developer, Mobile Developer

    เอาง่ายๆ คือทุกอย่างที่เกี่ยวกับการเขียนโปรแกรมด้านซอฟต์แวร์ครอบคลุมอยู่ในนี้หมด

    ลักษณะเด่นของโปรแกรมเมอร์ส่วนนี้คือการคิดแบบเป็นขั้นเป็นตอน สามารถแก้ไขปัญหาเฉพาะหน้าได้เป็นอย่างดี

    ส่วนฮาร์ดแวร์โปรแกรมเมอร์ สายนี้จะเขียนโปรแกรมที่เอาไว้ใช้พัฒนาพวกฮาร์ดแวร์ต่างๆ เช่น Hardware Engineer (ดีไซน์ฮาร์ดแวร์พวก Processor Circuit Board หรือแผงวงจรอเล็กทรอนิกส์), AI (Artificial Intelligent), Robotic (เกี่ยวกับพวกสมองกล ถ้าเกิดวันไหนหุ่นยนต์ลุกฮือขึ้นมาล้างโลก โทษพวกนี้ได้เลย)

    ลักษณะเด่นของพวกเขาที่ผมจำได้มีอย่างเดียวคือเป็นกลุ่มเนิร์ดซูเปอร์ไซย่า เป็นพวกที่อีกนิดเดียวจะสั่งข้าวกะเพราเป็นภาษา Binary แล้ว ใช้ศัพท์เทคนิคตลอดเวลา และที่สำคัญคือมันคิดว่าเราจะเข้าใจมัน (เพื่อนคนหนึ่งเป็น Hardware Engineer ทุกครั้งที่คุยงานกันผมต้องจัดยาแก้ปวดรอไว้เลยสองเม็ด เพราะอาการปวดหัวต้องตามมาแน่นอน)

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


Views

เข้าสู่ระบบเพื่อแสดงความคิดเห็น

Log in