Blognone

เมื่อต้นปีที่ผ่านมา Blognone มีโครงการรับสมัครนักศึกษาฝึกงานหลังจากเงียบๆ ไปพักใหญ่ๆ โดยไม่มีใครสมัครเข้ามาเลย (ทราบความทีหลังว่าคนสนใจเยอะพอสมควร แต่ไม่กล้าสมัครกัน) ก็มีณัฐวุฒิ เพ็ชรมาก หรือ neizod ส่งข้อเสนอโครงการเข้ามาเป็นโครงการปรับปรุง syntax ของสมการให้ง่ายต่อการเขียนยิ่งขึ้นในชื่อว่า EzMath หลังจากพิจารณาแล้วว่าโครงการมีความยากพอสมควร ผมและ mk ก็อนุมัติให้โครงการนี้เป็นโครงการสำหรับการฝึกงานกับ Blognone และวันนี้เราจะมาสัมภาษณ์นักศึกษาฝึกงานของ Blognone คนนี้กันครับ

คุณณัฐวุฒิเป็นนักศึกษาภาควิชาคณิตศาสตร์ จากมหาวิทยาลัยเชียงใหม่ที่สนใจคอมพิวเตอร์ไม่แพ้เด็กที่เรียนตรงสายคอมพิวเตอร์คนไหนๆ นอกจากความสนใจส่วนตัวแล้วยังเลือกลงวิชารองเป็นคอมพิวเตอร์อีกหลายวิชาทำให้ความรู้ไม่ด้อยไปกว่านักศึกษาที่เรียนคอมพิวเตอร์โดยตรงเลย ช่วงเวลาที่ฝึกงานกับ Blognone ผมให้คำแนะนำไปไม่มากนัก โดยหลักๆ คือการชี้ว่าควรใช้เครื่องมือใดบ้าง เช่นระบบการแปลง syntax ที่ใช้ flex และ bison (lex และ yacc รุ่นของ GNU) หรือการเชื่อมต่อระหว่างตัวแปลงภาษาที่ใช้ pipe ผ่านทาง popen เพียงคำแนะนำกว้างๆ เหล่านี้และการตอบคำถามนานๆ ครั้ง ณัฐวุฒิก็สามารถทำโครงการที่เสนอมาจนใช้งานได้จริง (ดูหน้าสาธิตใน Jusci)

โครงการ EzMath ที่ได้จากโครงการฝึกงานนี้ สามารถนำไปใช้งานได้ทั้งแบบ command line และโมดูลของ Drupal (ล่าสุดยังมีปัญหากับโมดูลอื่นๆ ในรุ่นใหม่อยู่กำลังติดต่อกับโครงการอื่นๆ เพื่อแก้ปัญหา) อย่างไรก็ดีหากใครสนใจใช้งาน จริงๆ แล้วโครงการนี้โดยหลักคือการแปลง syntax ของสมการ EzMath ซึ่งน่าจะง่ายกว่าไปยัง LaTeX สำหรับคนที่ต้องตีพิมพ์งานวิจัยในรูปแบบของ LaTex การใช้ตัวแปลงจากโครงการนี้ก็อาจจะมีประโยชน์ในแง่ของความสะดวกที่จะไม่ต้องนั่งอ่านคู่มือ LaTex กันทุกครั้งที่เขียนสมการอีกต่อไปแล้วก็เป็นได้

ว่าแล้วก็เริ่มบทสัมภาษณ์กันเลยครับ

ตอนนี้เรียนอยู่ที่ไหนหรือครับ

ตอนนี้เป็นนักศึกษาปีที่ 4 ครับ เรียนที่มหาวิทยาลัยเชียงใหม่ คณะวิทยาศาสตร์ สาขาคณิตศาสตร์

เรียนคณิตศาสตร์แล้วทำไมมาสนใจเรืองสายคอมพิวเตอร์หรือครับ

สนุกดีครับ

เคยเขียนโปรแกรมมานานรึยัง

เขียน HTML ครั้งแรกตอนป.4 ครับ ช่วงนั้นคอมพิวเตอร์กำลังเป็นที่แพร่หลายในเมืองไทย พอได้มาเล่นเกมไปไม่นานก็เบื่อ พอได้รู้จักกับพวก HTML เลยลองเขียนดูครับ ส่วนการเขียนโปรแกรมที่เป็น logic มี I/O จริงๆก็เริ่มตอน ม.2 ครับ ตามหลักสูตร Visual Basic

แล้วทำไมถึงเลือกเรียนคณิตศาสตร์?

คือตอนม.ปลาย หลักสูตรคอมพิวเตอร์ไม่มีอะไรน่าสนใจเลย แล้วพอมองดูวิชาที่รู้จักๆ แล้วพบว่าคณิตศาสตร์น่าสนใจที่สุดครับ เลยอยากเรียนรู้ด้านคณิตศาสตร์ต่อ ประกอบกับคะแนนสอบออกมาดีมากด้วย เลยมาตกลงปลงใจกับคณิตศาสตร์ครับ

อย่างนี้เรียนสายคณิตศาสตร์ นี่มีวิชาสายคอมพิวเตอร์มากน้อยแค่ไหน

มีหลักๆ 1 วิชาครับ คือสอนวิธีใช้โปรแกรมทางคณิศาสตร์ พวก MATLAB, Mathematica, Maple, LaTeX

ไม่มีวิชาโปรแกรมมิ่งโดยตรงเลยหรือ?

มี Numerical Method ที่อาจารย์ทดสอบความรู้ด้านการไล่ logic ของโปรแกรมบ้าง แต่นอกจากนี้แล้วก็ไม่มีครับ

อย่างนี้แล้วตอนมาเขียนโปรแกรม คิดว่าลำบากหรือเสียเปรียบมากไหมครับ สามารถนำความรู้ด้านคณิตศาสตร์มาปรับได้ไหม?

ตอนเขียนรู้สึกไม่ลำบากเท่าไหร่ครับ เพราะถึงแม้ว่าจะไม่ได้นำความรู้จาก math มาช่วยอย่างเต็มร้อย แต่เวลาว่างก็ชอบเขียนโปรแกรมเล่นอยู่แล้ว เลยไม่ค่อยรู้สึกว่าเสียเปรียบเท่าไหร่

แสดงว่านับจากม. 2 เป็นต้นมา ก็เขียนโปรแกรมเรื่อยมาเลย?

เขียนเรื่อยๆ ครับ จนได้ลงเรียนคอมพิวเตอร์เป็น minor ตอนปี 2 ก็เขียนหนักขึ้นครับ

ปรกติเขียนโปรแกรมเพื่ออะไรหรือครับ หรือเขียนเล่นอย่างเดียว?

ส่วนมากเขียนเล่นครับ เอาโจทย์ของเพื่อนๆ CPE มาลองเล่น มีบ้างที่เขียนเพื่อแก้ไขปัญหาในชีวิตประจำวันครับ

เขียนภาษาอะไรบ้างครับ ตอนนี้

หลักๆ เลยก็ Python ครับ แล้วก็ HTML+JavaScript

ทั้งหมดนี้คืออ่านเอง?

หาความรู้เองครับ

อ่าน Blognone มานานแค่ไหนแล้วครับ

(จำไม่ได้ครับ >///<) จำได้ว่าครั้งแรกหลงเข้ามาครับ เป็นเว็บแปลกๆ อ่านไม่เข้าใจแต่ก็พยายามอ่าน

แสดงว่าแรกๆ อ่านไม่ค่อยรู้เรื่อง?

งงกับระบบ thread ของ comment ครับ ตอนนั้นยังไม่แยกไฮไลท์สีขาวสลับกับเทาเลย

หลงเข้ามาครั้งแรกก็อ่านมาเรื่อยๆ เลย?

หลงเข้ามาครั้งแรก แล้วหลงออกไปครับ แต่พอหาข้อมูลเทคโนโลยีบางอย่าง ก็มาลงเอยที่ Blognone ตลอดครับ

ช่วงนี้ Blognone ประกาศรับฝึกงานนี่อ่านเป็นประจำอยู่รึเปล่าครับ?

ช่วงที่ประกาศฝึกงานนั้น อ่านเป็นประจำแล้วครับ อ่านเป็นประจำมาได้ประมาณปีนึงแล้วครับ

เห็นประกาศแล้วคิดว่าจะสมัครทันทีเลยรึเปล่าครับ

คิดว่าจะสมัครทันทีเลยครับ แต่ตอนนั้นไม่มี project อยู่ในหัวเลย จริงๆ ตัดใจไปแล้วครับ เพราะว่าหมดเวลาสมัครไปหลายวันแล้ว แล้วอยู่ๆ มันก็คิดออกเองเลยครับ แอบถามคุณ mk ไปก่อนว่ายังทันมั้ย พอรู้ว่าทันก็จัดการทุกอย่างในวันนั้นเลยครับ

ตอนเสนอโครงการนี่ มีไอเดียไว้ก่อนรึเปล่าครับ ว่าจะทำยังไง?

ด้านเทคนิคการเขียนโปรแกรมแล้ว ไม่มีเลยครับ

แล้วไม่กลัวทำไม่ได้หรือครับ

ไม่กลัวครับ เพราะว่ามีพี่ lew กับพี่ mk คอยดูแลอยู่ครับ แล้วก็มีเพื่อนๆ CPE ให้ไปปรึกษาได้

พอโปรเจคผ่านแล้วทำจริงๆ ยากไหม

ส่วนลง coding จริงๆ คือไม่ยากเท่าไหร่ครับ แต่ที่ยากมากๆ เลยจะเป็นส่วนที่ต้องลงไปทำความเข้าใจกับเทคนิคต่างๆ และวิธีใช้งานเครื่องมือใหม่ๆ อย่างเช่น ภาษา C กว่าจะจัดการกับ String ได้ก็ใช้เวลาไปไม่น้อยเหมือนกัน

ไม่เคยเขียน C มาก่อนเลย?

สมัยที่ยังไม่เขียน python เคยพยายามทำความรู้จักกับ C++ แต่ไม่รอดครับ เลยไม่ได้วกกลับไปลองเขียน C จนกระทั่งได้มาฝึกงานครับ

ต้องเรียนอะไรเพิ่มมั่งนอกจาก C ครับ

นอกจาก C แล้วก็ Flex & Bison ครับ ส่วนนี้ ตัว syntax ภาษาไม่ยากเท่าไหร่ แต่ที่งมอยู่พักนึงเลยคือ logic ของการแปลครับ

แนะนำการทำงานของ EzMath คร่าวๆ สักหน่อย

EzMatch ป็น project ที่แปลงภาษาคณิตศาสตร์แบบง่าย ให้เป็นรูปภาพสมการทางคณิตศาสตร์อย่างสมบูรณ์บนเว็บครับ เหมาะสำหรับผู้ที่ประสบปัญหากับการใช้ LaTeX โดยโค้ดส่วน PHP ตรวจสอบส่วนที่เป็น syntax ทางคณิตศาสตร์ ต่อมาก็ส่งงานให้ Flex แบ่งคำเป็น token เพื่อที่จะส่ง token ต่อให้ Bison ทำความเข้าใจ แล้วแปลออกมาเป็น LaTeX ครับ เรียบร้อยก็ส่ง LaTeX ที่แปลสำเร็จแล้วกลับมาให้ PHP วางไว้แทนที่ content เดิมแล้วให้ MathJax มาช่วยแปลผลให้ LaTeX กลายเป็นรูปสมการคณิตศาสตร์ครับ

หลังจากทำโครงการนี้แล้ว คิดว่าได้ความรู้อะไรเพิ่มเติมบ้างครับ

หลักการทำความเข้าใจ "ภาษา" ของคอมพิวเตอร์ครับ ค่อนข้างแตกต่างไปจากการที่มนุษย์เราเข้าใจมากทีเดียว แล้วก็เทคนิคการเขียนโปรแกรมภาษาอื่นๆ ที่ไม่คุ้นเคยอย่าง C, PHP นอกจากนี้ก็วิธีการควบคุมโปรเจคโดยใช้ version control ครับ

รู้สึกยังไงกับเรื่องที่ต้องเรียนรู้เพิ่มเติมเหล่านี้ครับ?

สนุกดีครับ แล้วก็ได้นำความรู้ด้าน version control ไปทำงานอื่นต่อด้วย

เข้าใจว่ามีคนที่ไม่ได้เรียนสายคอม อยู่ใน Blognone เยอะพอสมควร และจำนวนมากอยากทำงานด้านคอม มีอะไรจะฝากถึงคนเหล่านั้นสักหน่อยไหมครับ

แรกสุดเลย ก็อยากให้สำรวจตัวเองก่อน ว่าชอบงานแบบไหน แล้วก็อยากให้เลือกภาษาในใจซัก 1 ภาษา ถ้าเห็นว่าภาษาแบบ static อย่าง C, Java มันดูยุ่งยากไป เรามาเริ่มจากภาษากลุ่ม dynamic อย่าง Python, Javascript ก็ได้ พอเลือกภาษาในดวงใจได้แล้ว ก็ฝึกเขียนโปรแกรมทุกวัน จนเมื่อเขียนได้คล่องๆ คราวนี้การทำความเข้าใจกับภาษาแปลกๆ หรือแนวที่ไม่ถนัดก็จะง่ายขึ้นมากแล้ว ที่สำคัญคือ logic ของโปรแกรม อันนี้ต้องเป๊ะ พยายามเรียนรู้เทคนิคต่างๆ stackoverflow คือเพื่อนซี้เลยครับ

แล้วก็สุดท้าย ไม่มีคำว่าสาย ถ้าตั้งใจจริงครับ

อยากจะบอกอะไรเพิ่มเติมอีกไหม?

ก็ขอขอบคุณพี่ lew และพี่ mk ทีทำให้โครงการนี้เกิดขึ้น ขอบคุณคุณ pittaya, wiennat, sukoom2001 และคุณ saknarak สำหรับคำแนะนำโปรเจค คุณ mr_tawan, AlninlA, javaboom และทุกๆ ท่านสำหรับกำลังใจ และที่ขาดไม่ได้ ก็ขอบคุณอลงกต ประกอบกิจที่ช่วยให้คำแนะนำโปรเจคเยอะแยะเลยครับ

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

งงกับระบบ thread ของ comment ครับ ตอนนั้นยังไม่แยกไฮไลท์สีขาวสลับกับเทาเลย

แรกๆ ก็มึนกับ comment แบบนี้เหมือนกัน เพราะสมัยนั้นจะชินกับรูปแบบการตอบกระทู้แบบต่อท้ายลงไปด้านล่างเรื่อยๆ ^^

เยี่ยมเลยท่าน

ผมเองก็ไม่ได้เรียนสายคอม เพราะทางบ้านไม่ให้เรียน ได้เรียนสายเกษตรแต่ใจก็ไม่เคยทิ้งความสนใจด้านคอมพิวเตอร์

ico Sun, 14/08/2011 - 11:11

ดีจังครับ เลือกเรียนคณิตศาสตร์ เพราะ alumni ของภาคคอมพิวเตอร์ไม่น่าสนใจ

ส่วนเพื่อนๆผม(รวมผมด้วย) ได้คะแนนเท่าไหร่ก็ไปเลือกคณะสูงสุดเท่าที่ทำได้

เยี่ยมมากครับ

จะว่าไปผมว่าคุณคิดถูกแล้วหละที่เลือกเรียนเอกคณิตศาสตร์ เพราะทุกวันนี้ผมยังต้องเรียนสถิติเพื่อหาสูตรมาเขียนระบบพยากรณ์โน่นนี่นั่นอยู่เลย (เช่น คาดการณ์ยอดขายรายเดือน/ปี, คาดการณ์การใช้งานของระบบ)

ขอถามหน่อยนะครับ ตามความเห็นส่วนตัวพื้นฐานทางคณิตศาสตร์มีความจำเป็นกับงานคอมมากไหม? คือส่วนตัวผมคิดว่าพื้นฐานคณิตตัวเองค่อนข้างแน่น เลยทำให้เข้าใจคอมได้ง่ายขึ้น

ปล.ผมถนัดตรรกศาสตร์ ความน่าจะเป็น แต่ไม่ถนัดแนวแคล

ส่วนตัวผมคิดว่าคณิตศาสตร์กับคอมพิวเตอร์ไม่ได้ต่างกันครับ เป็นการพูดถึงสิ่งๆ เดียวกันด้วยภาษาที่ต่างกันและไวยกรณ์คนละระบบกันเท่านั้นเองครับ

แต่ถ้าถามว่าพื้นฐานคณิตฯ (เข้าใจว่าคงมากกว่าบวกลบคูณหารแน่ๆ) มีความจำเป็นกับงานสายคอมฯ มากมั้ย ผมว่ามันไม่ค่อยจำเป็นเท่าไหร่นะ

เพียงแต่ว่าการรู้ 2 ภาษา มันก็ได้เปรียบกว่าไม่ใช่หรือครับ?

โอ้... เก่งจริงๆ ขนาดผมยังไม่รู้เรื่องเลย
สมัยเปิดเว็บเป็น tech qa เห็นคุณneizod มาแจมด้วย
ไม่นึกว่าเก่งขนาดนี้ ชื่นชมครับ :)

คุณ ณัฐวุฒิ เพ็ชรมาก เยี่ยมมากเลยครับ
ผมก็ชอบคณิตศาสตร์มากเลยครับ
แต่สุดท้ายก็คิดว่าคณิตศาสตร์น่าจะหางานสนุกๆ ทำยากครับ
ก็เลยมาลงเอยที่สายคอมครับ

ปัจจุบันก็เขียนเวป java ใช้ wicket framework
และกำลังพัฒนาความรู้ด้าน android อยู่ครับ

เมื่อเขียน android เริ่มแรกยังไม่ค่อยเข้าใจรูปแบบเลยทำให้ยากต่อการเขียนล้มเลิกไป 1 ครั้ง (ดูตามตัวอย่างและใช้ xml layout ซึ่งทำให้ compile ค่อนข้างช้า เพราะมันจะ sync เวลาเขียนโค้ดไปด้วย)

ต่อมาก็กลับมาศึกษาอีกรอบ หาวิธีเขียนในแบบที่ตัวเองถนัด(pure java code) แล้วก็รุ่งครับ ตอนนี้เขียนได้ค่อนข้างคล่องแล้วครับ

สรุป ไม่ว่าจะเขียนภาษาอะไรก็ตามให้หารูปแบบการเขียนที่ตัวเองถนัดแล้วก็จะสามารถศึกษาสิ่งใหม่ ๆ ได้เร็วขึ้นครับ

ปล. ผมชื่นชมในความพยายามของ คุณ ณัฐวุฒิ เพ็ชรมาก มากครับ ขอให้พยายามพัฒนาตัวเองต่อไปนะครับ

khajochi Mon, 15/08/2011 - 14:24

น่าจะ capture หน้าผลงานมาโชว์ด้วยนะครับ ตามไปดูใน gcode แล้วงงๆ เล็กน้อย

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

ดีใจที่เห็นรุ่นน้องเมเจอร์เก่งๆครับ ขอชื่นชม ทุกวันนี้พี่ก็เป็น Software Engineer อยู่เชียงใหม่ครับ เรียน Math แล้วทำสาย Sofware development ผมว่าไม่ค่อยแปลกนะ มันไปด้วยกันได้เป็นอย่างดีเลย สำหรับน้องๆที่คิดว่าจบ Math มาแล้วต้องเป็นอาจารย์ เปลี่ยนความคิดได้เลยครับ

เก่งมากเลยครับ ผมเรียนสายคอมพ์ฯ มาตรงๆ มานั่งดูการทดสอบยังแอบงง (ไม่เก่งคณิตร์) - -'