Programmer Interview by สมาคมโปรแกรมเมอร์ไทย ตอนที่ 7 –ดร.กานต์ อุ่ยวิรัช
ช่วยกรุณาแนะนำตัวคร่าวๆให้พวกเรารู้จักด้วยครับ (ชื่อ คร […]
วรธนะ งามตระกูลชล (เพิร์ธ) ครับ จบปริญญาตรีที่คณะวิศวกรรมศาสตร์ สาขาออกแบบและการผลิตยานยนต์ (ADME) จุฬาลงกรณ์มหาวิทยาลัย ตอนนี้มาต่อปริญญาโท Master of Data Science ที่ Monash University ครับ
เคยทำงานเป็น Frontend Developer ที่ Salad Co., Ltd. และ Neumerlin ครับ ส่วนตอนนี้รับฟรีแลนซ์ทำเว็บไซต์ และทำเว็บส่วนตัว Designil.com กับอีกหลาย ๆ เพจที่เน้นแชร์ความรู้ตามความสนใจครับ เช่น Data Science ชิลชิล
ตอนเด็ก ๆ เลยเคยสร้างเกมด้วยโปรแกรม RPG Maker 2000 ครับ (ใครรู้จักนี่น่าจะมีอายุพอสมควร) แล้วพอมาถึงเวอร์ชั่น RPG Maker XP สามารถเขียนโค้ดภาษา Ruby เข้าไปได้ เลยทำให้เริ่มศึกษาโปรแกรมมิ่งเพราะอยากทำเกมสนุก ๆ ครับ
พอเขียนไปสักพักก็อยากทำเกมลงเว็บไซต์ เลยมาศึกษา PHP เพื่อทำเกม RPG Text-based ง่าย ๆ ลงระบบเว็บบอร์ดครับ พอทำ ๆ ไปก็มีบ.ก.สำนักพิมพ์ (ช่วงนั้นรับปรู๊ฟนิยายด้วย) มาบอกว่าลองมาทำเว็บสำนักพิมพ์เค้ามั้ย เค้าไปจ้างฟรีแลนซ์แล้วโดนเท เว็บไม่เสร็จสมบูรณ์ ก็เลยได้เริ่มทำเว็บไซต์แรกตอนนั้น อาศัยศึกษาโค้ดเก่าจากฟรีแลนซ์คนนั้น แล้วก็ถามเพื่อน ซื้อหนังสือ PHP มาเปิดอ่านเอง ลำบากมากครับตอนนั้น
จนสุดท้ายได้มาเข้าค่าย YWC (Young Webmaster Camp) ที่เปลี่ยนชีวิตไปเยอะมาก ได้รู้จักเพื่อน ๆ พี่ ๆ ในวงการเว็บไซต์ไทย รวมถึงได้โอกาสทำงานช่วงที่เรียนอยู่ด้วย เรียกว่าถ้าไม่ได้เข้าค่ายนี้ก็ไม่รู้ชีวิตจะเป็นยังไงเหมือนกัน (ค่าย YWC นี้ฟรี สำหรับเด็กมหาวิทยาลัยทุกคนนะครับ สมัครได้ช่วงปลายปีครับ)
ผมเชื่อว่ามี 2 อย่างที่ทำให้ใครก็ประสบความสำเร็จได้ครับ คือ 1. ขยัน และ 2. แชร์สิ่งที่ตัวเองรู้
สำหรับข้อ 1. นี่คิดว่าในตัวโปรแกรมเมอร์ทุกคนต้องมีอยู่ (หรือเคยมีอยู่) ไม่มากก็น้อยครับ เพราะโปรแกรมมิ่งไม่ได้มีใครเรียนมาตั้งแต่เกิด แถมเดี๋ยวนี้มีเทคโนโลยีใหม่ ๆ แปลก ๆ เกิดขึ้นมามากมาย จะรอให้ใครมานั่งสอนเราก็ตามไม่ทันแล้วครับ เพราะฉะนั้นต้องขยัน อ่านเยอะ ๆ ศึกษาโค้ดคนอื่นเยอะ ๆ
ผมเคยมีช่วงนึงที่มีคนมาจ้างเขียนระบบฉากต่อสู้ในเกม RPG ตอนนั้นเขียนไม่เป็น ก็เลยใช้วิธีปรินท์โค้ดระบบต่อสู้ของ RPG Maker ใส่กระดาษมานั่งอ่าน จดโน้ตส่วนสำคัญ และโยงระบบว่าส่วนไหนเชื่อมไปไหน จนสุดท้ายก็เขียนได้สำเร็จ ทำให้ได้รู้ว่าเป็นโปรแกรมเมอร์ต้องหัดศึกษาโค้ดคนอื่นด้วย ไม่ใช่เขียนเองอ่านเองคนเดียวครับ
ส่วนข้อ 2. เรื่องการแชร์นี่หลายคนอาจจะสงสัยว่าทำไปทำไม ผมทำเว็บไซต์ / เพจแชร์ความรู้ต่าง ๆ มาเยอะ โดยเฉพาะ Designil.com ที่เขียนแชร์ให้อ่านกันฟรี ๆ มา 5 ปีได้ ขนาดว่าเคยมีน้องมาถามว่าพี่ไม่กลัวคนอ่านเก่งกว่าพี่เหรอ ถึงเขียนบลอคขนาดนี้ เปิดให้เค้าอ่านฟรีอีก
จริง ๆ ผมพบว่าการเขียนบลอคแชร์สิ่งที่เรารู้นี่ได้ประโยชน์หลายทางมากครับ อย่างแรก ก่อนจะเขียนบลอคเราก็ต้องไปศึกษาความรู้เพิ่ม เพื่อให้แน่ใจว่าสิ่งที่จะเขียนนี่ไม่ผิด หรือถ้าเขียนไปแล้วผิด ก็จะมีคนมาคอมเม้นท์บอกเรา ทำให้เราได้พัฒนาตัวเองไปอีกครับ อย่างที่สอง พอผมเขียนบลอคไปเรื่อย ๆ ก็พบว่ามีคนติดต่องานเข้ามาครับ ทำให้มีรายได้ตั้งแต่ช่วงเรียน จนเรียนจบแล้วก็ยังมีลูกค้าใหม่เข้ามาตลอด
ช่วงนี้หลัก ๆ ศึกษาด้าน Data Science ครับ Python, R, SQL ส่วนทางสายเว็บไซต์ก็ได้มาลองเล่น React Native นิดหน่อย เพราะไปฟังในงาน React Meetup มาแล้วรู้สึกชอบ
ที่ยากที่สุดตอนนี้น่าจะเป็นโปรเจค Data Science ที่ทำอยู่ครับ เพราะความรู้ด้าน Data Science ของผมยังใหม่อยู่มาก และไม่ได้ศึกษาแค่ต้องโปรแกรมมิ่งภาษาที่เพิ่งเริ่มเขียน คือ R แต่ต้องเรียนเรื่องสถิติ และรู้จักกับ Library ต่าง ๆ ใน R ด้วยครับ อันนี้แหละจุดที่ยากที่สุด แต่ก็สนุกดีครับ
ภูมิใจทุกโปรเจคที่ได้มีส่วนร่วมและทำให้งานออกมาดีครับ
มีหลายคนครับ พี่หนูเนย, พี่ Peerapong (ที่ขาย Themeforest ได้ $1 ล้านเป็นคนแรก) ฯลฯ
องค์กรที่ตอบโจทย์เป้าหมายในชีวิตได้ก็น่าจะพอครับ อย่างของผมก็อยากดูแลพ่อแม่ ครอบครัวได้, อยากลองทำงานหลาย ๆ แบบ, อยากมี Work Life Balance ของจริง ถ้า Remote Working ได้ก็จะดีมากครับ
กลับไปข้อ 3. ครับ ยิ่งถ้าเป็นมือใหม่ก็ยิ่งต้องขยัน ๆ ครับ และต้องอย่ากลัวที่จะแชร์สิ่งที่เรารู้ครับ อย่าไปคิดว่าที่เรารู้นี่ทุกคนรู้อยู่แล้ว ทุกวงการมีคนที่รู้น้อยกว่าเราเสมอครับ (และมีคนที่รู้เยอะกว่าเราเสมอเช่นกัน) เพราะฉะนั้นแชร์ไปก่อนแล้วจะเก่งเองครับ ถ้าแชร์ผิดเดี๋ยวก็มีคนแก้ให้
หาทางของตัวเองให้เจอก่อนครับ ว่าถนัดอะไร ชอบทำอะไร แล้วก็ทุ่มเทหาความรู้สายนั้นไปยาว ๆ เลย นอกจากจะดีกับอนาคต หางานง่ายแล้ว เค้าว่ากันว่าทำสิ่งที่รักจะทำให้เราเรียนรู้ได้เร็วด้วยครับ
ส่วนถ้ายังหาไม่เจอก็จะเป็นเป็ดไปก่อนก็ได้ครับ เรียนมันให้หมดจะได้รู้ว่าชอบอะไร อย่างผมนี่ก็ยังคิดว่าตัวเองเป็นเป็ด ค้นหาตัวเองอยู่เหมือนกัน
11. สำหรับเรื่องการพัฒนาตนเอง พอจะแนะนำหนังสือทางด้านโปรแกรมมิ่งที่คิดว่าเป็นประโยชน์ และควรต้องอ่านให้แก่ชาวโปรแกรมเมอร์ได้มั้ยครับ
ไม่ค่อยได้อ่านหนังสือครับ ปกติศึกษาจากบทความในเว็บ มากกว่า ผมสมัครรับข่าวสารทางอีเมลจากเว็บต่าง ๆ และใช้ Panda (https://usepanda.com/app/)อันนี้ดีมาก เป็น Extension ที่จะแสดงบทความใหม่ ๆ ดี ๆ จากหลายสาขา ผมจะอ่านวันละอย่างน้อย 1 บทความครับ
คงไปเป็นวิศวกร ตามที่เรียนจบมาละมั้งครับ
อยากให้โปรแกรมเมอร์ไทยพัฒนาด้านภาษาอังกฤษมากขึ้นครับ ไม่ต้องเก่งขนาดพูดคล่องไฟแล่บ แค่อ่าน doc ต่างประเทศเข้าใจก็ทำให้ชีวิตการเขียนโปรแกรมง่ายขึ้นเยอะมากแล้วครับ ศัพท์ไหนงงก็เปิด dict เอา
และอยากให้ลองเปลี่ยนบทบาทจากการเป็น “ผู้ใช้” มาเป็น “ผู้สร้าง” บ้างครับ ไม่ต้องถึงกับเขียน Library มาสู้กับ React หรือ Bootstrap ด้วยตัวเอง อาจจะลองเขียนปลั๊กอิน หรือส่วนประกอบง่าย ๆ ไปใช้ร่วมกับเค้าดูก็ได้ครับ พอเปลี่ยนบทบาทแล้วเราจะได้พัฒนาฝีมืออีกเยอะเลย