Programmer Interview by สมาคมโปรแกรมเมอร์ไทย ตอนที่ 7 –ดร.กานต์ อุ่ยวิรัช
ช่วยกรุณาแนะนำตัวคร่าวๆให้พวกเรารู้จักด้วยครับ (ชื่อ คร […]
1. ช่วยกรุณาแนะนำตัวคร่าวๆให้พวกเรารู้จักด้วยครับ (ชื่อ ครอบครัว การศึกษา การทำงาน)
สวัสดีครับ ผมชื่อ วัชรินทร์ เหลืองวัฒนากิจ จบการศึกษาจากคณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย แล้วไปต่อโท และเอกทางด้าน Software Engineering ที่ University of Tokyo ครับ ปัจจุบันเป็น Senior Quantitative Researcher อยู่ใน hedge fund แห่งหนึ่งครับ
2. ทำไมถึงมีความชอบทางด้านโปรแกรมมิ่ง อะไรเป็นจุดเริ่มต้นหรือแรงบันดาลใจ
จุดเริ่มต้นคงเริ่มจากตอนเรียนวิชาคอมพิวเตอร์ที่โรงเรียนเตรียมอุดมฯ ตอนนั้นมีสอนเขียน HTML แบบพื้นๆ เลยในห้องเรียน ซึ่งจริงๆ ก็ไม่ใช่การ programming หรอก แต่มันให้ความรู้สึกว่าการเขียน code ลงไปไม่กี่บรรทัด มันสามารถสร้างผลลัพธ์ออกมาได้มากกว่าที่คิด ถัดๆ มาก็ได้เรียนการเขียนโปรแกรมขั้นพื้นฐานจากโรงเรียนนี่แหละครับ ที่ยิ่งทำให้ความรู้สึกว่า code ไม่กี่ตัวอักษร มันนำไปสู่ความเป็นไปได้มากมาย และก็ทำให้เราค้นพบตัวเองว่า เราเหมาะกับงานสายนี้
3. คุณมีหลักการในการพัฒนาตนเองอย่างไรถึงได้ประสบความสำเร็จในสายงานนี้
ผมคิดว่าในสายงานนี้ สิ่งที่ท้าทายเรามากที่สุดอย่างนึงคือ การเปลี่ยนแปลงที่รวดเร็ว และความหลากหลายของเทคโนโลยี ความรู้ในวงการนี้มันมีเยอะมาก มากจนเราไม่มีทางเรียนรู้หมด หลักคิดของผมคือว่า เราควรจะเลือกเรียนรู้เทคโนโลยีที่น่าจะมีอายุขัยค่อนข้างยาว มีขนาด community ที่ใหญ่พอสมควร ซึ่งจะทำให้เรามีคนช่วย support เยอะ เวลามีปัญหา และจะทำให้เราเรียนรู้ได้เร็วขึ้นด้วย แต่ทั้งนี้ก็ไม่ได้หมายความว่าเราจะไม่เรียนรู้อย่างอื่นเลย ถ้ามีเวลาว่างอาจจะลอง framework หรือ library อะไรที่มีคนพูดถึงบ่อยในตอนนั้นดูบ้าง การรู้กว้าง ไม่ใช่เรื่องเสียหาย เพราะเราสามารถนำ pattern หรือแนวคิดบางอย่างมาใช้ในงานหลักของเราได้เหมือนกัน
4. ในช่วงเดือนสองเดือนที่ผ่าน เล่นเทคโนโลยี หรือ library อะไรอยู่ ช่วยแนะนำคร่าวๆให้ชาวโปรแกรมเมอร์ได้มั้ยครับ
ที่ผ่านมาเร็วๆ นี้ ก็ศึกษา GSL เป็น library ทางสถิติของ C++ ครับ เนื่องจากงานที่ทำปัจจุบัน ใช้สถิติค่อนข้างมาก จึงคิดว่าควรจะเรียนรู้ไว้ จะได้เป็นประโยชน์
5. ช่วยแชร์ประสบการณ์ทำงานโปรเจคต่างๆหน่อยครับ โปรเจคที่ยากที่สุดที่เคยทำมาคืออะไร และยากที่จุดไหน
Project ยากที่สุดคงเป็นตอนที่ทำวิทยานิพนธ์ปริญญาเอก ตอนนั้นทำ tool ที่ใช้สำหรับ verify networked application แบบอัตโนมัติ ความยากก็คงเหมือนกับการเรียนปริญญาเอกในสายวิทยาศาสตร์ทั่วไป คือไม่มีใครรู้ว่าทำยังไงถึงจะดี เพราะไม่มีใครเคยทำ การทำงานจึงต้องมีการทดลอง approach แบบต่างๆ ต้องล้ม project ทิ้ง แล้วเริ่มเขียนใหม่หลายครั้ง กว่าจะได้ผลลัพธ์ที่น่าพอใจ
6. โปรเจคที่ภูมิใจที่สุดที่เคยทำมาคืออะไร และเพราะอะไรถึงภูมิใจที่สุด
ที่ภูมิใจที่สุด เป็นงานกลุ่มทำกับเพื่อนอีก 2 คน งานนี้ได้รับรางวัลชนะเลิศ NSC สมัยที่เรียนอยู่ที่คณะวิศวะ จุฬาฯ เป็นการนำกล้องเว็บแคม มาจับภาพของ pattern ลายตารางหมากรุก แล้วคำนวณหา ระยะห่าง และ orientation ของตารางเมื่อเทียบกับกล้อง application อย่างนึงที่เราเอามาโชว์ คือเราใช้กระดานหมากรุกแทนรีโมทไร้สาย แล้วบังคับเกมได้ คล้ายๆ กับ Wii แต่ตอนนั้นยังไม่มี Wii ตอนที่ออกบูทก็มีเด็กนักเรียนมาต่อแถวเล่นกัน คนที่เดินผ่านไปมา ก็สนใจเข้ามาสอบถามว่าเราทำแบบนี้ได้ยังไง ถือเป็นอะไรที่รู้สึกดีมาก สำหรับโปรแกรมเมอร์คนนึง
7. คุณมีโปรแกรมเมอร์ที่เป็นไอดอลในใจมั้ยครับ ถ้ามีคือใคร และเพราอะไร
ถ้าจะมี ก็คงเป็น Richard Stallman ครับ เขาเป็นคนที่เขียน GCC แล้ว release ออกมาให้ใช้ฟรีเป็นคนแรก software มากมายนับไม่ถ้วนก็ถูก compile ด้วย GCC นี่แหละครับ ทุกวันนี้ผมก็ยังใช้ GCC อยู่ทุกวัน การเป็นคนที่เขียน compiler ที่ใช้อย่างแพร่หลายขนาดนี้จึงเป็นอะไรที่เท่มาก
8. มาถึงเรื่องการทำงานในองค์กรกันบ้าง วัฒนธรรมองค์กรในฝันของคุณเป็นอย่างไร
ผมคิดว่าองค์กรที่อยู่ได้อย่างยั่งยืน มักจะมีองค์ประกอบสำคัญคือ การดูแล และพัฒนาคนที่ดี การดูแล หมายความว่าให้ค่าตอบแทน และสวัสดิการอย่างเหมาะสม การพัฒนา คือการส่งเสริมให้คนที่อยู่มีทักษะ และความรู้ในการทำงานมากขึ้น ซึ่งจะทำไปสู่ productivity ที่สูงขึ้นขององค์กรนั้น อีกอย่างที่ผมอยากจะเสริมคือ องค์กรควรสร้างสิ่งแวดล้อมที่ส่งเสริมให้พนักงานแสดงความคิดเห็น ได้อย่างอิสระ
9. ช่วยให้คำแนะนำสำหรับ novice ที่ไม่เคยเขียนโปรแกรมมาก่อนและสนใจจะเข้ามาในวงนี้หน่อยครับ ว่าจะต้องวางตัวอย่างไร คุณสมบัติอะไรที่ควรมี ถึงจะทำให้ประสบความสำเร็จในวงการนี้ได้
ถ้าคนที่ไม่เคยเขียนโปรแกรมเลย ผมอยากให้ลองเช็คตัวเองดูก่อนว่ามีลักษณะนิสัยที่ชอบคิดแก้ปัญหาอย่างเป็นระบบหรือเปล่า เพราะนั่นคือสิ่งที่โปรแกรมเมอร์ที่ดีทำอยู่เป็นประจำ อีกอย่างคือเป็นคนที่ชอบเรียนรู้สิ่งใหม่ๆ หรือเปล่า อย่างที่บอกไปก่อนหน้านี้ว่า โปรแกรมเมอร์ต้องเรียนอะไรใหม่ๆ อยู่เสมอ การที่เราเป็นคนชอบเรียนรู้สิ่งใหม่ มีส่วนทำให้ชีวิตการเป็นโปรแกรมเมอร์มีความสุขครับ
10. และอีกกลุ่มนึงครับสำหรับกลุ่มโปรแกรมเมอร์ที่พอมีพื้นฐานแล้วอยากจะ raise the bar ของตัวเองไปอีกควรจะต้องทำตัวอย่างไร
ผมคิดว่าการจะยกระดับความสามารถตัวเองนั้น ไม่พ้นการที่จะต้องพยายามทำสิ่ง challenge กว่าที่เคยเป็น ถ้าคุณนั่งวิเคราะห์ project ที่คุณกำลังจะทำ แล้วเห็นทุก step ชัดเจนว่าต้องทำอย่างไรบ้าง ผมคิดว่านั่นเป็นสัญญาณว่า project นั้นอาจจะไม่ได้ทำให้คุณเก่งขึ้นอีกซักเท่าไหร่ ผมแนะนำว่าพยายามทำ project แนวที่ตัวเองชอบ แล้วใน project นั้นมี feature อะไรบางอย่างที่ challenge ตัวคุณเอง คุณน่าจะเก่งขึ้น และได้ประสบการณ์หลังจากทำ project นั้นเสร็จครับ อีกวิธีในการพัฒนาตัวเองคือ คุณควรจะมองหาคนที่คุณคิดว่าเค้าเก่งมาเป็น advisor ให้ การพูดคุยแลกเปลี่ยนความคิดเห็น กับคนที่มีประสบการณ์จะทำให้เราพัฒนาทักษะได้เร็วขึ้นมาก
11. สำหรับเรื่องการพัฒนาตนเอง พอจะแนะนำหนังสือทางด้านโปรแกรมมิ่งที่คิดว่าเป็นประโยชน์ และควรต้องอ่านให้แก่ชาวโปรแกรมเมอร์ได้มั้ยครับ
ปกติจะแล้วแต่ว่าใครใช้เทคโนโลยีอะไรอยู่ ก็จะไปหาหนังสือของเรื่องนั้นๆ ไป ถ้าให้ผมแนะนำผมคิดว่าน่าจะอ่านหนังสือที่เป็นแนวสอน practice การเขียนไว้บ้างเช่นตระกูล Effective ทั้งหลาย (Effective Java, Effective Python, …) หรือ Design Patterns ข้อดีของหนังสือแนวนี้คือคุณจะได้เรียนรู้ pattern การเขียน program ที่ดี และความรู้ไม่ล้าหลังง่ายๆ เมื่อ technology หรือภาษามีการเปลี่ยน version
13. คำถามนี้ขำๆนะครับ หากไม่เขียนโปรแกรมจะไปประกอบอาชีพอะไร
จริงๆ ก็นึกไม่ออกเหมือนกันนะครับ เพราะคิดว่าตัวเองรู้ตัวเร็วว่าเหมาะกับงานสายนี้ เลยไม่เคยคิดว่าจะไปทำงานแนวอื่น ถ้าให้เดาก็อาจจะเป็นนักบัญชีมั้งครับ เพราะจำได้ว่าตอนเรียนม.ต้น แบบทดสอบในคาบแนะแนวมักจะบอกให้ผมไปทำอาชีพนี้บ่อยๆ
14. อยากให้วงการโปรแกรมเมอร์ไทยเป็นอย่างไรในตอนนี้และในอนาคต
ผมคิดว่าโปรแกรมเมอร์เป็นอาชีพที่เป็นได้ง่าย แต่เก่งได้ยาก ในยุคสมัยนี้แทบไม่มี barrier อะไรมาเป็นอุปสรรคกับคนที่ต้องการเรียนเขียนโปรแกรมเลย เรียกว่าต้นทุนการเข้าถึงต่ำมาก เพียงแต่ว่ากว่าที่คนๆ นึงจะเป็นโปรแกรมเมอร์ที่เก่งได้ จะต้องทำงานหนัก และผ่านประสบการณ์การทำงานมามาก ผมจึงอยากให้โปรแกรมเมอร์ไทยนั้นพัฒนาตัวเองอยู่เสมอ มีความกระตือรือร้นที่จะสร้างงานที่คุณภาพสูงขึ้นอยู่ตลอดเวลา การหาความรู้ทางด้าน IT นั้นเป็นหนึ่งในไม่กี่อย่างที่เราแทบจะไม่เสียเปรียบประเทศพัฒนาแล้วเลย ผมจึงคิดว่าคนในวงการนี้เป็นตัวขับเคลื่อนที่สำคัญของประเทศไทยเลย
15. และคำถามสุดท้ายครับ อยากจะฝากอะไรส่งท้ายแก่ผู้อ่านครับ
อยากฝากให้โปรแกรมเมอร์ไทยทุกคนพัฒนาตัวเองอยู่เรื่อยๆ อย่าหยุด เพราะเทคโนโลยีเปลี่ยนเร็วมาก คู่แข่งของประเทศเราก็ทำงานหนัก และพัฒนาตัวเองอยู่ตลอดเวลาเช่นกันครับ