สรุปผลการพัฒนาตัวเองในปี 2012

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

  1. Go analog.
    ถือว่าผ่าน เพราะได้มีการออกไปวิ่ง ออกไปปั่นจักรยาน ดูหลักฐานได้ที่ MapMyRun กับ Endomondo ช่วงต้นปีใช้ MapMyRun แต่หลังๆ เปลี่ยนไปใช้ Endomondo แหละ รู้สึกเหมือนจะมีอะไรให้เล่นมากกว่า 🙂
  2. Stay healthy.
    ข้อนี้ต้องปรับปรุง น้ำหนักลดลงไปได้เล็กน้อย และไม่เคยไปตรวจสุขภาพเลย ถึงแม้ว่าจะไม่ค่อยป่วยก็เถอะ ถือว่าไม่ผ่าน
  3. Embrace the uncomfortable.
    ถือว่าผ่าน หยุดใช้เม้าส์ไป 1 เดือนเต็มๆ ช่วงแรกๆ มีปัญหาบ้าง แต่พอผ่านไปสัก 1 อาทิตย์จะเริ่มชิน ผลที่ได้จากการทำแบบนี้รู้สึกได้ว่าจะมีเม้าส์หรือไม่มีเม้าส์ก็ไม่เป็นปัญหาในการทำงานอีกต่อไป
  4. Learn a new programming language.
    ตามที่คิดไว้ว่าจะเรียน Python และก็ทำได้จริงๆ แม้ว่าจะไม่ลึกซึ้งมากก็ตาม มีหลักฐานแปะมาให้ดูด้วย
    Udacity Certificate on WAEรูปข้างบนเป็น Certificate จาก Udacity วิชา Web Application Engineering ใช้ Python เขียนCoursera Certificate on LTPและรูปข้างบนเป็น Certificate จาก Coursera วิชา Learn to Program: The Fundamentals ใช้ Python เขียนอีกเช่นกัน
  5. Automate.
    อันนี้ทำเป็นประจำอยู่แล้ว ใช้ Perl เขียน สบาย
  6. Learn more mathematics.
    กลับไปอ่าน Discrete mathematics ได้หน่อย อ่านพวก Bayesian inference เพิ่มเติม แม้ข้อนี้จะทำได้ไม่เต็มที่ แต่ก็ถือว่าผ่านนะ
  7. Focus on security.
    ใช้รหัสไม่ค่อยซ้ำกันแล้ว และเก็บไฟล์รหัสไว้ในเครื่อง Local ก็ถือว่าปลอดภัยในระดับหนึ่ง มีการใช้โปรแกรมล็อกโฟลเดอร์ ล็อกไฟล์บ้าง แต่ยังไม่ถึงกับใช้เป็นประจำ ข้อนี้ผ่าน
  8. Back up your data.
    ใช้ทั้ง svn และ git ในการสำรองข้อมูลและโค้ดต่างๆ ใช้ Dropbox เก็บไฟล์และแชร์ไฟล์ระหว่างเครื่อง อีกทั้งยังใช้ rsync สำรองข้อมูลพวกไฟล์หรือวีดีโอไว้ในฮาร์ดดิสสำรอง ทำให้ข้อนี้ผ่านฉลุย
  9. Learn more theory.
    ไม่ได้เรียนรู้ทฤษฎีอะไรใหม่เลย.. ข้อนี้ไม่ผ่าน
  10. Engage the arts and humanities.
    นิยายก็ซื้อมาอ่านบ้างไม่อ่านบ้าง เพลงก็ลองฟังแนวใหม่ๆ ดู ก็โอเคนะ ถือว่าทำ
  11. Learn new software.
    ข้อนี้ถือว่าไม่ผ่านก็แล้วกัน เพราะไม่ได้ลองโปรแกรมที่แปลกใหม่จริงๆ สำหรับตัวเอง
  12. Complete a personal project.
    เนื่องจากลงเรียนวิชา Web Development ของ Udacity ไป ทำให้ได้โปรเจคง่ายๆ ที่เป็นส่วนตัวจริงๆ มา นั่นก็คือ MISCmarks ซึ่งเป็นที่ๆ ผมเอาไว้เก็บลิงค์ไปยังเว็บหรือบทความที่ชอบ ใช้ Python เขียน แล้วก็โฮสต์ไว้บน Google App Engine ส่วนโค้ดก็อยู่ที่ GitHub

จาก 12 ข้อ ทำไปได้ 9 ข้อ คิดเป็น 75% เกินครึ่ง ปีหน้าจะตั้งใหม่อีก 12 ข้อ แล้วก็จะพยายามทำให้ได้ครบทุกข้อ 🙂

เป้าหมายพัฒนาตัวเองในปี 2012 นี้

ได้ไปอ่าน 12 resolutions for programmers ของท่าน Matthew Might (@mattmight) มา แล้วก็รู้สึกว่าปีที่ผ่านๆ มาไม่ได้พัฒนาตัวเองเท่าไหร่ในการเป็นโปรแกรมเมอร์สักเท่าไหร่ ปีนี้เลยต้องเอาสักหน่อย ขอทำตามปณิธาน 12 ข้อนั้นเลยละกัน 🙂

  1. Go analog.
    นอกเหนือจากนั่งอยู่หน้าคอมแล้ว ก็ให้ไปลองทำกิจกรรมอย่างอื่นดูบ้าง เช่น ทำอาหาร หรือวิ่งออกกำลังกาย
  2. Stay healthy.
    ลองไปตรวจตรวจพวกความดัน คอเลสเตอรอล น้ำตาลในเลือด ฝึกตัวเองให้นั่งในท่าที่ถูกสุขลักษณะ และลดน้ำหนัก!
  3. Embrace the uncomfortable.
    ชีวิตเราสุขสบายเกินไป ก็ให้ลองทำสิ่งที่ไม่สบายดู เป็นการฝึกอย่างหนึ่ง เช่น หยุดการใช้เม้าส์ หรืองดการใช้อินเตอร์เนทสักหนึ่งวันในหนึ่งอาทิตย์
  4. Learn a new programming language.
    เรียนรู้ภาษาโปรแกรมใหม่ๆ สัก 1 เดือน กำลังคิดอยู่ว่าจะลองภาษาอะไรดี ระหว่าง Python Haskell และ Scala ตอนนี้มี Python อยู่ในใจ
  5. Automate.
    เขียน shell script สำหรับสิ่งที่ต้องทำอยู่เป็นประจำ
  6. Learn more mathematics.
    "At its heart, computer science is a mathematical discipline." เห็นด้วยทุกประการครับ ว่าจะกลับไปทบทวนใหม่ คงเริ่มจาก Discrete mathematics  🙂
  7. Focus on security.
    ลองทำชีวิตให้ปลอดภัย (ทางด้านข้อมูลมากขึ้น) เช่น จัดการรหัสผ่านให้ดีกว่านี้ (ตอนนี้ยอมรับเลยว่าค่อนข้างแย่ เพราะใช้รหัสผ่านซ้ำๆ กันเกือบทุกเว็บ) และการเข้ารหัสไดร์ฟหรือโฟลเดอร์ไว้
  8. Back up your data.
    ใช้ version control หรือพวก cloud-based backup services ตอนนี้ผมใช้พวก Subversion ของภาค กับ Github สำหรับ version control และใช้ Dropbox สำหรับสำรองข้อมูล
  9. Learn more theory.
    ที่ผมอยากเรียนรู้มากขึ้นคือพวก Formal methods กับ Semantics
  10. Engage the arts and humanities.
    สำหรับปณิธานนี้ ผมคงหานิยายดีๆ หรืออัตชีวประวัติมาอ่าน แล้วก็คงลองฟังเพลงแนวใหม่ๆ
  11. Learn new software.
    ลองโปรแกรมใหม่ๆ ผมว่าจะลองพวก Augmented Reality 🙂
  12. Complete a personal project.
    ใช้เวลาสัก 1 เดือนทำ open source โปรเจคขึ้นมาสัก 1 โปรเจค แน่นอนผมคงนำ OpenCV มาใช้ด้วย

จริงๆ แล้วในแต่ละปณิธานมีหลายอย่างให้เลือกทำ อ. ท่านนี้ได้เสนอไว้ในบทความด้วย ลองติดตามไปอ่านกันดูนะครับ มีทั้งหมด 12 ข้อ ว่าจะเน้นหัวข้อนั้นๆ ในแต่ละเดือนไปจนครบ เพราะบางข้อสามารถทำร่วมกันได้

ก่อนจบบล็อกนี้ ผมขอแนะนำบทความดีๆ อีกเรื่องคือ What every computer science major should know สำหรับคนที่เรียนด้านคอมพิวเตอร์ครับ ควรอ่านกันทุกคน