ช่วงต้นปีใน facebook มีคำถามที่น่าสนใจมาก ๆ คือ
มาเป็น programmer ได้อย่างไร ?
ก็เลยนำมาตอบด้วยการเขียน blog สักหน่อย
ว่าตัวผมเองมาเป็น programmer ได้อย่างไร ?
มาเริ่มกันเลย

เริ่มจากสมัยมัธยมปลายเรียนที่โรงเรียนราชสีมาวิทยาลัย ที่โคราช

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

เรื่องของ internet ไม่ต้องพูดถึง ไม่รู้จักแน่นอน
ฟังเพลง online ไม่มีแน่นอน
เพราะว่ายังซื้อเทปเป็นตลับฟังกันอยู่เลย
อ่านหนังสือการ์ตูนกันอยู่เลย
พวก C-KID, Boom อะไรทำนองนั้น
กับแกะ sticker กับเพื่อน ๆ
รวมทั้งเตะบอลพลาสติกกับเพื่อน ๆ

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

ดังนั้นสมัยมัธยมความรู้เรื่อง computer น่าจะเท่ากับศูนย์
ส่วนคำว่า programmer คืออะไรไม่รู้จัก !!

มาถึงตรงนี้ไม่น่าจะมาเป็น programmer ได้เลย
ผมก็งงเช่นกันว่ามาเป็นได้อย่างไร !!

ช่วงที่สอง สอบติดโควต้า Computer Science ที่มหาวิทยาลัยอุบลราชธานี

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

ความหลังครั้งก่อนคือ เกรดวิชาชีวิทยาตอนมัธยมของผมคือ 0 นะ
เป็นเกรด 0 แห่งความทรงจำ น่าจะตัวเดียวเลยก็ว่าได้

ดังนั้นมันจึงเป็นตัวเลือกหลัก ๆ ของการเลือกมหาวิทยาลัยเรียนต่อเลย
โดยที่ไม่ได้คิดเลยว่า ต้องไปเรียน computer หรือไปเขียน code อะไร !!

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

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

ช่วงที่สามครั้งแรกกับการเข้า Lab วิชา Programming 1

วิชาอื่น ๆ ที่เรียนผมคิดว่า ไม่ใช่ปัญหาเท่าไร
เพราะว่าตั้งใจอ่าน ตั้งใจทำก็ได้แล้วมั้ง !!
แต่มีวิชา Programming 1 นี่แหละที่มันคือจุดเปลี่ยนในชีวิต

วันแรกของการเข้า Lab จำได้ขึ้นใจ
อาจารย์บอกว่านักศึกษา Computer Science ไม่ให้ลงวิชา Computer เบื้องต้นนะ
แต่ในครั้งแรกจะสอน computer เบื้องต้นให้ก่อน ต่อจากนั้นจะเขียน program ล้วน ๆ
มาครั้งแรกให้เข้า cmd หรือ DOS mode นั่นเอง
นั่งจับคู่กัน ช่วยกันทำ
เป็นสิ่งที่จำไม่เคยลืมคือ ทำอะไรไม่ได้เลย งงไปหมด !!!
ทั้ง ๆ ที่มันคือการ
สร้างไฟล์
สร้าง folder
ย้าย folder
copy ไฟล์
เพียงเท่านี้ผมยังนั่งงง ทำไม่ได้เลย
ยังไม่พอ
เปิดและปิดเครื่อง computer ไม่เป็น
มันเป็นวันแรกที่ลืมไม่ลงจริง ๆ

วันแรกของการเขียน code
จากนั้นสิ่งที่ต้องเรียนและเขียนคือ ภาษา C โดยใช้ Turbo C
เป็นสิ่งที่สนุกมาก ๆ เพราะว่า เขียนไม่เป็น
พิมพ์ช้าอีก
ช้าไม่พอ ดันพิมพ์ดังอีก เพราะว่าติดจากการพิมพ์ด้วยพิมพ์ดีด
ดังนั้นสิ่งที่บอกกับตัวเองคือ
เอาไงดีหว่า ?
มันต้องฝึกแล้วมั้ง ?
ดังนั้นหลังจากนั้นพยายามเข้าห้อง Lab ฝึกตลอดเลย
แต่ห้อง Lab มี computer ไม่เยอะอีก
ดังนั้นต้องแย่งหรือเข้าคิวนะครับ

ยังไม่พอช่วงแรก ๆ ยัง copy code เพื่อน ๆ ส่งกันอยู่เลย !!
สมัยนั้นส่งด้วย floppy disk 3.5 1.44mb นะครับ
พออาจารย์ส่งแผ่นกลับมา
มันมักจะมาเป็นกอง แต่ละกองก็มาจากต้นฉบับเดียวกัน !!

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

ช่วงที่สี่ เริ่มหาทางของตัวเอง

พอผ่านช่วงปีแรกแห่งการเปลี่ยนแปลงมากมายมาได้
เริ่มปีสองด้วยการเรียนวิชาเฉพาะทางมากขึ้น
ทำให้การเรียนเข้มข้นมากขึ้น
เริ่มเข้าใจมากขึ้น
แต่ก็ได้ใส่ใจและพยายามมากขึ้น
รวมทั้งได้เรียนวิชา Data Structure and Algorithm
ทำให้เข้าใจโลกของการคิดแบบเป้นขั้นตอนวิธีมากขึ้น
ทำให้การเขียน program ดีขึ้นมา

รวมทั้งเป็นครั้งแรกที่ได้เขียน program ภาษา Java
อาจารย์ผู้สอนโหดร้ายมาก ๆ
เพราะว่า ทำการ print code ภาษา Java มาให้
จากนั้นให้ทุก ๆ คนพิมพ์ตาม
จากนั้นให้ขั้นตอนการ compile และ run มาให้
เพียงเท่านี้เอง ใช้เวลาเป็นสัปดาห์ในการทำ
จากนั้นก็ต้องใช้ภาษานี้ตลอดมา
โดยที่มหาวิทยาลัยไม่มีการสอน Java เลย (รุ่นผมไม่มีนะ แต่รุ่นน้องมี)

จากนั้นก็ได้เขียน program ภาษาอื่น ๆ อีกแบบงู ๆ ปลา ๆ เช่น

  • Assembly
  • Perl
  • Pascal
  • Delphi
  • ASP
  • Visual Basic

จำได้ว่าทำ project จบด้วยภาษา Java และ J2EE (ปัจจุบันคือ JavaEE)

ปล. เหมือนคนแก่มานึกถึงความหลังกันเลย

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

ที่สำคัญอาจารย์ที่ปรึกษาบอกว่า
ถ้าคุณอยากรู้ว่าสิ่งที่เรียนมาเอาไปใช้อย่างไร
แนะนำให้คุณไปทำงานก่อน จากนั้นค่อยว่ากันว่าชอบหรือไม่
น่าจะเป็นคำแนะนำที่ทำให้ผมเข้าสู่การเป็น programmer นั่นเอง