สิ่งที่ได้รับจากการเรียนวิศวกรรมคอมพิวเตอร์ปริญญาโท


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

สิ่งที่ได้จากการเรียนโท

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

ทักษะวิจัย

ผมเรียนแบบแผน ก2 ก็คือ มีเรียน lecture ด้วยประมาณ 4-5 วิชา แล้วก็มีวิทยานิพนธ์ด้วย

ทักษะวิจัย เป็นอะไรที่ไม่เคยเข้าใจเลยไม่ว่าจะผ่านการทำโครงงานหรือโปรเจ็คต่างๆมา พอสมควร จนกระทั่งเรียนโทนี่แหละ และเป็นอะไรที่อธิบายได้ยากครับว่ามันเป็นยังไง อารมณ์เหมือนว่าเราต้องเข้าใจถึงโจทย์หรือปัญหา ภาษาทางวิจัยเค้าเรียกว่า problem statement ว่าอะไรคือประเด็นปัญหา แล้วประเด็นปัญหาที่ว่านั่นเป็นปัญหาทางวิศวกรรมคอมพิวเตอร์หรือไม่ ( เกี่ยวข้องกับสาขาที่เรียน ) แล้วเราจะแก้ปัญหาอย่างไร เสนอแนวทางการแก้ปัญหาอย่างไร แล้ววัดผลอะไรบ้าง มีปัจจัยอะไรบ้างที่จะวิเคราะห์ สรุปผลการทดลอง แล้วอะไรคือ contribution สิ่งที่จะเป็นประโยชน์หรือองค์ความรู้ที่เกิดขึ้นมาใหม่ ซึ่งล้อกับวัตถุประสงค์ที่เราตั้งไว้

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

โจทย์ของผม

นอกจากปริญญาบัตรและทักษะวิจัย สิ่งที่ผมคาดหวังว่าจะได้จากเรียนคือทักษะที่เกี่ยวข้องกับวิชาชีพ …

  1. ปริญญาบัตร
  2. เทคโนโลยีที่ใช้ต้องทันสมัย
  3. และสุดท้ายเรื่องที่ทำต้องทันสมัยด้วย

สิ่งที่ผมทำ

ก่อนอื่นเลยต้องอธิบายภาพรวมก่อน คือ ผมปรับปรุงประสิทธิภาพฐานข้อมูล opentsdb ให้สามารถ query เร็วกว่าเดิมโดยใช้ cache ของ memcached และตรงกับเงื่อนไขของผมพอดี

รวมสิ่งที่ได้จากการเรียน

จะเขียนสิ่งที่ได้จากการเรียนโท ออกเป็นบล็อกย่อยๆ ตามหัวข้อข้างล่าง

  1. การวาดกราฟจากข้อมูลจำนวนมากด้วย Numpy (Plot graph with numpy )
  2. automate test ด้วย python ซึ่งไปรัน docker อีกทีนึง
  3. เขียนโปรแกรม linux บน Windows (MacOS ก็ได้ คอนเซ็ปเดียวกัน) แบบ Seamless คือทำ two-way sync โดยใช้ docker, unison, intellji + script นิดหน่อย
  4. Opentsdb
    1. Intro & architecture
    2. Opentsdb internal
    3. Asynchorous programming using deferred object ( async Hbase )
  5. memcached & internal

Supported Stuffs and tools

  1. Dotfiles : vim , zsh, tmux
  2. docker & docker compose
  3. Tdd. & unit test with python & java
  4. Project pywatch4test
  5. Ci by Jenkins & Travis ci using mildronize.com as a case study
  6. Vim cheat sheet thai
  7. PSU Latex template


Comment