เมื่อต้นปีที่ผ่านมา 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 มาช่วยอย่างเต็มร้อย แต่เวลาว่างก็ชอบเขียนโปรแกรมเล่นอยู่แล้ว เลยไม่ค่อยรู้สึกว่าเสียเปรียบเท่าไหร่
เขียนเรื่อยๆ ครับ จนได้ลงเรียนคอมพิวเตอร์เป็น minor ตอนปี 2 ก็เขียนหนักขึ้นครับ
ส่วนมากเขียนเล่นครับ เอาโจทย์ของเพื่อนๆ CPE มาลองเล่น มีบ้างที่เขียนเพื่อแก้ไขปัญหาในชีวิตประจำวันครับ
หลักๆ เลยก็ Python ครับ แล้วก็ HTML+JavaScript
หาความรู้เองครับ
(จำไม่ได้ครับ >///<) จำได้ว่าครั้งแรกหลงเข้ามาครับ เป็นเว็บแปลกๆ อ่านไม่เข้าใจแต่ก็พยายามอ่าน
งงกับระบบ thread ของ comment ครับ ตอนนั้นยังไม่แยกไฮไลท์สีขาวสลับกับเทาเลย
หลงเข้ามาครั้งแรก แล้วหลงออกไปครับ แต่พอหาข้อมูลเทคโนโลยีบางอย่าง ก็มาลงเอยที่ Blognone ตลอดครับ
ช่วงที่ประกาศฝึกงานนั้น อ่านเป็นประจำแล้วครับ อ่านเป็นประจำมาได้ประมาณปีนึงแล้วครับ
คิดว่าจะสมัครทันทีเลยครับ แต่ตอนนั้นไม่มี project อยู่ในหัวเลย จริงๆ ตัดใจไปแล้วครับ เพราะว่าหมดเวลาสมัครไปหลายวันแล้ว แล้วอยู่ๆ มันก็คิดออกเองเลยครับ แอบถามคุณ mk ไปก่อนว่ายังทันมั้ย พอรู้ว่าทันก็จัดการทุกอย่างในวันนั้นเลยครับ
ด้านเทคนิคการเขียนโปรแกรมแล้ว ไม่มีเลยครับ
ไม่กลัวครับ เพราะว่ามีพี่ lew กับพี่ mk คอยดูแลอยู่ครับ แล้วก็มีเพื่อนๆ CPE ให้ไปปรึกษาได้
ส่วนลง coding จริงๆ คือไม่ยากเท่าไหร่ครับ แต่ที่ยากมากๆ เลยจะเป็นส่วนที่ต้องลงไปทำความเข้าใจกับเทคนิคต่างๆ และวิธีใช้งานเครื่องมือใหม่ๆ อย่างเช่น ภาษา C กว่าจะจัดการกับ String ได้ก็ใช้เวลาไปไม่น้อยเหมือนกัน
สมัยที่ยังไม่เขียน python เคยพยายามทำความรู้จักกับ C++ แต่ไม่รอดครับ เลยไม่ได้วกกลับไปลองเขียน C จนกระทั่งได้มาฝึกงานครับ
นอกจาก C แล้วก็ Flex & Bison ครับ ส่วนนี้ ตัว syntax ภาษาไม่ยากเท่าไหร่ แต่ที่งมอยู่พักนึงเลยคือ logic ของการแปลครับ
EzMatch ป็น project ที่แปลงภาษาคณิตศาสตร์แบบง่าย ให้เป็นรูปภาพสมการทางคณิตศาสตร์อย่างสมบูรณ์บนเว็บครับ เหมาะสำหรับผู้ที่ประสบปัญหากับการใช้ LaTeX โดยโค้ดส่วน PHP ตรวจสอบส่วนที่เป็น syntax ทางคณิตศาสตร์ ต่อมาก็ส่งงานให้ Flex แบ่งคำเป็น token เพื่อที่จะส่ง token ต่อให้ Bison ทำความเข้าใจ แล้วแปลออกมาเป็น LaTeX ครับ เรียบร้อยก็ส่ง LaTeX ที่แปลสำเร็จแล้วกลับมาให้ PHP วางไว้แทนที่ content เดิมแล้วให้ MathJax มาช่วยแปลผลให้ LaTeX กลายเป็นรูปสมการคณิตศาสตร์ครับ
หลักการทำความเข้าใจ "ภาษา" ของคอมพิวเตอร์ครับ ค่อนข้างแตกต่างไปจากการที่มนุษย์เราเข้าใจมากทีเดียว แล้วก็เทคนิคการเขียนโปรแกรมภาษาอื่นๆ ที่ไม่คุ้นเคยอย่าง C, PHP นอกจากนี้ก็วิธีการควบคุมโปรเจคโดยใช้ version control ครับ
สนุกดีครับ แล้วก็ได้นำความรู้ด้าน version control ไปทำงานอื่นต่อด้วย
แรกสุดเลย ก็อยากให้สำรวจตัวเองก่อน ว่าชอบงานแบบไหน แล้วก็อยากให้เลือกภาษาในใจซัก 1 ภาษา ถ้าเห็นว่าภาษาแบบ static อย่าง C, Java มันดูยุ่งยากไป เรามาเริ่มจากภาษากลุ่ม dynamic อย่าง Python, Javascript ก็ได้ พอเลือกภาษาในดวงใจได้แล้ว ก็ฝึกเขียนโปรแกรมทุกวัน จนเมื่อเขียนได้คล่องๆ คราวนี้การทำความเข้าใจกับภาษาแปลกๆ หรือแนวที่ไม่ถนัดก็จะง่ายขึ้นมากแล้ว ที่สำคัญคือ logic ของโปรแกรม อันนี้ต้องเป๊ะ พยายามเรียนรู้เทคนิคต่างๆ stackoverflow คือเพื่อนซี้เลยครับ
แล้วก็สุดท้าย ไม่มีคำว่าสาย ถ้าตั้งใจจริงครับ
ก็ขอขอบคุณพี่ lew และพี่ mk ทีทำให้โครงการนี้เกิดขึ้น ขอบคุณคุณ pittaya, wiennat, sukoom2001 และคุณ saknarak สำหรับคำแนะนำโปรเจค คุณ mr_tawan, AlninlA, javaboom และทุกๆ ท่านสำหรับกำลังใจ และที่ขาดไม่ได้ ก็ขอบคุณอลงกต ประกอบกิจที่ช่วยให้คำแนะนำโปรเจคเยอะแยะเลยครับ
Comments
เก่งครับ :)
เยี่ยมจริง ๆ ๆ
ถือว่าเก่งมากเลยครับ ยิ่งไม่ได้เรียนด้านคอมมาโดยตรงด้วย
แรกๆ ก็มึนกับ comment แบบนี้เหมือนกัน เพราะสมัยนั้นจะชินกับรูปแบบการตอบกระทู้แบบต่อท้ายลงไปด้านล่างเรื่อยๆ ^^
~ HudchewMan's Station & @HudchewMan~
เยี่ยมเลยท่าน
ผมเองก็ไม่ได้เรียนสายคอม เพราะทางบ้านไม่ให้เรียน ได้เรียนสายเกษตรแต่ใจก็ไม่เคยทิ้งความสนใจด้านคอมพิวเตอร์
อดทนเข้มแข็ง มีพลัง กล้าแกร่ง .. ^^
my blog
ดีจังครับ เลือกเรียนคณิตศาสตร์ เพราะ alumni ของภาคคอมพิวเตอร์ไม่น่าสนใจ
ส่วนเพื่อนๆผม(รวมผมด้วย) ได้คะแนนเท่าไหร่ก็ไปเลือกคณะสูงสุดเท่าที่ทำได้
เก่งมากครับ เดี๋ยวหาโอกาสไปเยี่ยมที่เชียงใหม่นะครับ
My Blog
ยินดีต้อนรับเสมอครับ ^^
สุดยอดครับ
ปล รู้สึกว่าจะต้องได้ badge trainee ด้วยนิ ยังไม่เห็นเลยอ่ะครับ จะได้ตอนไหนรึ
หาคนทำให้อยู่ครับ :)
lewcpe.com, @wasonliw
เอางี้เลย :P
Jusci - Google Plus - Twitter
เชิญเลือกเลยครับ =D
Blog | Twitter
คิดว่าสีน้ำตาลเหมาะกว่าครับ
ขอบคุณครับ ^^
/me จริงๆ อยากได้สีเหลือง อิอิ
ว่างๆ ทำให้นะครับ ^^
Blog | Twitter
เก่งเกิ๊นนนนนนนนน
โครงการนี้เจ๋งไปเลยครับ ผลงานก็ออกมาเยี่ยมมากครับ
เยี่ยมมากครับ
จะว่าไปผมว่าคุณคิดถูกแล้วหละที่เลือกเรียนเอกคณิตศาสตร์ เพราะทุกวันนี้ผมยังต้องเรียนสถิติเพื่อหาสูตรมาเขียนระบบพยากรณ์โน่นนี่นั่นอยู่เลย (เช่น คาดการณ์ยอดขายรายเดือน/ปี, คาดการณ์การใช้งานของระบบ)
ขอถามหน่อยนะครับ ตามความเห็นส่วนตัวพื้นฐานทางคณิตศาสตร์มีความจำเป็นกับงานคอมมากไหม? คือส่วนตัวผมคิดว่าพื้นฐานคณิตตัวเองค่อนข้างแน่น เลยทำให้เข้าใจคอมได้ง่ายขึ้น
ปล.ผมถนัดตรรกศาสตร์ ความน่าจะเป็น แต่ไม่ถนัดแนวแคล
May the Force Close be with you. || @nuttyi
ส่วนตัวผมคิดว่าคณิตศาสตร์กับคอมพิวเตอร์ไม่ได้ต่างกันครับ เป็นการพูดถึงสิ่งๆ เดียวกันด้วยภาษาที่ต่างกันและไวยกรณ์คนละระบบกันเท่านั้นเองครับ
แต่ถ้าถามว่าพื้นฐานคณิตฯ (เข้าใจว่าคงมากกว่าบวกลบคูณหารแน่ๆ) มีความจำเป็นกับงานสายคอมฯ มากมั้ย ผมว่ามันไม่ค่อยจำเป็นเท่าไหร่นะ
เพียงแต่ว่าการรู้ 2 ภาษา มันก็ได้เปรียบกว่าไม่ใช่หรือครับ?
โอ๊ววว
โอ้... เก่งจริงๆ ขนาดผมยังไม่รู้เรื่องเลย
สมัยเปิดเว็บเป็น tech qa เห็นคุณneizod มาแจมด้วย
ไม่นึกว่าเก่งขนาดนี้ ชื่นชมครับ :)
โอ๊ะ มีชื่อผมด้วย คาดไม่ถึง ขอบคุณครับที่นึกถึงกัน ^^
ช่าย กอล์ฟ ที่จบ PRC รุ่น associate04 ป่าวเอ่ย ไม่แน่ใจครับ จำชื่อได้คุ้นๆ
รุ่นนี้มีหลายกอล์ฟอยู่น้าาาา ;P
จำ เอ็ม ภาณุมาศ ได้ป่าว เราเองหนะ
เปลี่ยนชื่อซะเกือบจำไม่ได้นะเรา ^^
เอ็ม เราปิตินะ จำได้ป่าว ตอนนี้เป็น Java Programmer อยู่
จำ เอ็ม ภาณุมาศ ได้ป่าว เราเองหนะ
ต้องตามฮันนี่ มาอ่าน //อิอิ
^________^
เก่งๆๆ
คุณ ณัฐวุฒิ เพ็ชรมาก เยี่ยมมากเลยครับ
ผมก็ชอบคณิตศาสตร์มากเลยครับ
แต่สุดท้ายก็คิดว่าคณิตศาสตร์น่าจะหางานสนุกๆ ทำยากครับ
ก็เลยมาลงเอยที่สายคอมครับ
ปัจจุบันก็เขียนเวป java ใช้ wicket framework
และกำลังพัฒนาความรู้ด้าน android อยู่ครับ
เมื่อเขียน android เริ่มแรกยังไม่ค่อยเข้าใจรูปแบบเลยทำให้ยากต่อการเขียนล้มเลิกไป 1 ครั้ง (ดูตามตัวอย่างและใช้ xml layout ซึ่งทำให้ compile ค่อนข้างช้า เพราะมันจะ sync เวลาเขียนโค้ดไปด้วย)
ต่อมาก็กลับมาศึกษาอีกรอบ หาวิธีเขียนในแบบที่ตัวเองถนัด(pure java code) แล้วก็รุ่งครับ ตอนนี้เขียนได้ค่อนข้างคล่องแล้วครับ
สรุป ไม่ว่าจะเขียนภาษาอะไรก็ตามให้หารูปแบบการเขียนที่ตัวเองถนัดแล้วก็จะสามารถศึกษาสิ่งใหม่ ๆ ได้เร็วขึ้นครับ
ปล. ผมชื่นชมในความพยายามของ คุณ ณัฐวุฒิ เพ็ชรมาก มากครับ ขอให้พยายามพัฒนาตัวเองต่อไปนะครับ
เจ๋งค่ะ
เก่งๆๆๆๆ สุดยอดไปเลย..
น่าจะ capture หน้าผลงานมาโชว์ด้วยนะครับ ตามไปดูใน gcode แล้วงงๆ เล็กน้อย
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
ผมก็สนใจนะครับ แต่เหมือนเวลาจะไม่พอให้ผ่าน เพราะมหาลัยต้องการเวลาเยอะกว่าที่ได้ฝึก
ขอชมเชยครับ
เก่งๆมากครับ
ดีใจที่เห็นรุ่นน้องเมเจอร์เก่งๆครับ ขอชื่นชม ทุกวันนี้พี่ก็เป็น Software Engineer อยู่เชียงใหม่ครับ เรียน Math แล้วทำสาย Sofware development ผมว่าไม่ค่อยแปลกนะ มันไปด้วยกันได้เป็นอย่างดีเลย สำหรับน้องๆที่คิดว่าจบ Math มาแล้วต้องเป็นอาจารย์ เปลี่ยนความคิดได้เลยครับ
เก่งจังครับ
Standard Web Programmer.
สุดยอดอ่ะเข้าไปดูแล้ว
เก่งมากเลยครับ ผมเรียนสายคอมพ์ฯ มาตรงๆ มานั่งดูการทดสอบยังแอบงง (ไม่เก่งคณิตร์) - -'