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

จากที่ตั้งไว้ 5 ข้อ..

  1. Learn to be Data Scientist.
    เรียนได้ทุกคอร์สจริง แต่ว่าไม่จบสักคอร์สตามที่หวังไว้ แล้วก็ไม่ค่อยได้ตั้งใจเท่าไหร่ ไม่ผ่าน
  2. Learn Ruby more.
    ที่ว่าจะลองพัฒนา Web app ขึ้นมาก็ไม่ได้ทำ ไม่ผ่าน
  3. Stay healthy.
    ปั่นจักรยานให้ครบ 5,000 km? ปั่นไปได้แค่ 1,651.94 km วิ่งไปแค่ 35.53 km เศร้าจริง ไม่ผ่าน
  4. Read at least two text books.
    ได้อ่านหลายเล่ม แต่ก็ไม่จบสักเล่ม ไม่ผ่าน
  5. Give at least 5 public talks.
    ข้อนี้ควบคุมยากหน่อยเพราะมีปัจจัยภายนอกมาเอี่ยว แต่ก็ได้พูด 3 เรื่อง ถือว่า ผ่าน เป็นกำลังใจเนอะ 🙂
    1) Scrum at Pronto Marketing ที่ ม.เกษตร ท่าน อ.​มะนาวเชิญไป
    2) Pronto R&D Presentation ที่ ม.กรุงเทพ
    3) Achieving "Zero Downtime Deployment" with Automated Testing ที่งาน BugDay Bangkok 2014 จัดที่ Software Park แจ้งวัฒนะ

Pattern หนึ่งในการทำ Puppet Deployment

ช่วงนี้มีโอกาสได้ลองเริ่มใช้ Puppet กับงานที่บริษัทแบบจริงๆ จังๆ แล้วก็กำลังคิดถึงวิธีที่จะเอาสคริป Puppet ของเราไปวางไว้ที่ตัว Master สเต็ปที่คิดว่าจะทำคือ

  1. เขียนโค้ด รันเทสบนเครื่องให้เสร็จ
  2. Push เข้า Github
  3. ให้ CI รันเทสให้อีกที
  4. เอาสคริปสำหรับการ Deploy เข้า Puppet Master ไปวางไว้ใน CI แล้วให้ CI เป็นคนรัน

ไม่ค่อยแน่ใจว่าชาวบ้านทำกันแบบนี้หรือเปล่า เลยลองกูเกิ้ลเรื่อยๆ อยู่หลายวันก็ไม่ค่อยเจอคนบอกรายละเอียดสักเท่าไหร่ ส่วนใหญ่จะเจอแต่คำว่า Deploy แต่ไม่ค่อยเจอว่าเค้าทำกันอย่างไร วันนี้ว่างจัดเลยนั่งเคลียร์อีเมลที่ดองไว้ แล้วก็เจอเมลของ Sysadmin Casts ข้างในเนื้อหามีหัวเรื่องว่า Git to Puppet Deployment workflow ลองเข้าไปดูแล้วก็มั่นใจว่าที่เราคิดไว้ก็ถือว่าเป็น Pattern หนึ่งเหมือนกัน 🙂 ลองดูรูปข้างล่างนี้

Episode #33 - Git to Puppet Deployment Workflow
Git to Puppet Deployment Workflow (Credit: https://sysadmincasts.com/)

Pattern ที่เค้าทำ (เจ้าตัวก็บอกว่าไม่รู้ผิดหรือเปล่าเหมือนกัน) ก็คล้ายๆ กับที่คิดไว้ แต่ของเค้าจะใช้ Hook แทนเป็นตัวคอยรันเทสแล้วก็เอาโค้ดเข้า Puppet Master

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

ปณิธานของปีนี้ เอา 5 ข้อพอ (น้อยหน่อยเพราะตั้งใจจะทำให้ครบจริงๆ)

  1. Learn to be Data Scientist.
    จะเรียน Data Science & Big Data track ให้ครบทุกคอร์ส 🙂
  2. Learn Ruby more.
    จะลงมือทำ ลองพัฒนา Web app ขึ้นมาจริงๆ จังๆ เพราะตอนนี้รู้สึกว่ายังเขียนได้ไม่คล่องเท่ากับ PHP และ Python
  3. Stay healthy.
    จะปั่นจักรยานให้ครบ 5,000 km
  4. Read at least two text books.
    ต้องอ่าน Doing Data Science กับ Agile Data Science ให้จบให้ได้
  5. Give at least 5 public talks.
    ความรู้อยู่กับตัวเองคนเดียวไม่มีประโยชน์ ต้องเผยแพร่ให้คนอื่นได้รับรู้ ในปณิธานข้อนี้จะเป็นการฝึกพูดไปด้วยในตัว ขอยึดบทความของ Hilary Mason เป็นแรงบันดาลใจในการฝึกฝน Speaking: Spend at least 1/3 of the time practicing the talk

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

วันนี้วันที่ 31 เป็นวันดีที่จะสรุปผลการพัฒนาตัวเองที่ตั้งไว้ในปีนี้

  1. Learn Hadoop MapReduce.
    ยังรู้สึกว่าความรู้ยังอัดไม่แน่นเท่าไหร่ เอาไปสอนใครไม่ได้ แต่อย่างน้อยก็ได้เริ่มศึกษาจริงๆ และลองเล่นจริงจากคอร์ส Introduction to Hadoop and MapReduce ถือว่าผ่าน
  2. Embrace the uncomfortable.
    ลดละเลิก gedit/sublime ตอนนี้ใช้ vim เต็มตัว ผ่าน
  3. Publish at least one paper in an international conference.
    ปี 2013 ได้มา 1 งาน Extracting the Object from the Shadows: Maximum Likelihood Object/Shadow Discrimination ตีพิมพ์ใน IEEE ECTI-CON 2013 ผ่าน
  4. Learn more mathematics.
    ไม่ได้เรียนรู้อะไรเพิ่มเติมเป็นชิ้นเป็นอันเลย เศร้าแท้ ไม่ผ่าน
  5. Learn more theory.
    ทำไม่ได้ตามที่ตั้งไว้.. ไม่ผ่าน
  6. Learn a new programming language.
    ปีนี้ขอ Ruby on Rails ไว้ ไม่ได้ทำเต็มตัวแต่ที่บริษัทก็เอา Ruby มาใช้ และตอนนี้เขียน Test พอเป็น ก็ถือว่าผ่านนะ
  7. Complete a personal project.
    ได้แต่คิดไว้ 2 โปรเจค แต่ไม่ได้เริ่มทำ ไม่ผ่าน
  8. Go analog.
    ไม่ได้ทำกับข้าวเองเลย แต่ปั่นจักรยานกับวิ่งเยอะขึ้น ทำกับข้าวไม่ค่อยซีเรียส ข้อนี้ผ่านละกัน 🙂
    endomondo-2013-summaryปั่นจักรยานไป 2,379 km
    วิ่งไป 91.37 km
  9. Stay healthy.
    ผลจากข้อข้างบน ปี 2013 เท่าที่จำได้.. เป็นหวัดปวดหัวแค่ครั้งเดียว ไม่ถึงกับต้องลาป่วย เย้ ผ่าน
  10. Read at least one fiction or autobiography book.
    ว่าจะอ่าน Obama: From Promise to Power ให้จบ แต่ก็อ่านไปได้หน่อยเดียว ไม่ผ่าน
  11. Learn new software or tool.
    ไม่ได้แตะ Tableau กับ D3 เลย ไม่ผ่าน
  12. Automate.
    เรื่อง cron ยังไม่ได้ศึกษา ได้เล่น shell script บ้าง ส่วนสคริปที่เอาไว้ช่วยในการเขียนบทความก็ยังไม่มีโอกาสได้ลอง เนื่องจากเนื้องานออกแนวเขียนโปรแกรม ซึ่งก็ได้เรียนรู้อย่างอื่นแทน เช่น Jenkins  Fabric Vagrant และ Puppet ถือว่าผ่าน

จาก 12 ข้อ ทำได้ 7 ข้อ คิดเป็น 58.33% เกินครึ่งมาแบบฉิวเฉียด จากที่ผ่านมาทำให้รู้ว่าเราตั้งเป้าหมายไว้เยอะเกินไปหน่อย ทำไม่ได้ตามที่หวังไว้มันจะเจ็บปวดใจ ฮึ่ย >_< ปีหน้าจะ commit เท่าที่จะสามารถทำได้แหละ

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

ปณิธาน 12 ข้อของปีนี้ ยกยอดบางข้อมาจากปีที่แล้วด้วยเพราะทำไม่สำเร็จ

  1. Learn Hadoop MapReduce.
    ปีนี้ขอศึกษา Hadoop และ MapReduce แบบจริงๆ จังๆ ต้อนรับ Big data 🙂
  2. Embrace the uncomfortable.
    ปีที่แล้วลองงดใช้เม้าส์ไป 1 เดือน ผลออกมาเป็นที่น่าพอใจ สามารถพิมพ์งานได้เร็วขึ้นด้วยเพราะไม่ต้องเอื้อมมือไปจับเม้าส์ แต่สำหรับปีนี้มีสิ่งที่อยากทำเพิ่มคือ เลิกใช้ gedit ไปเลย แล้วใช้ vim แทน!
  3. Publish at least one paper in an international conference.
    ขออย่างน้อยสัก 1 งานตีพิมพ์ เพื่อยังคงสถานะใน Academia ไว้
  4. Learn more mathematics.
    เพื่ออนาคตที่อยากจะเป็น Data scientist ที่ดีให้ได้ เรื่องที่จำเป็นต้องเรียนให้ถึงแก่นคือ Probability และ Statistics
  5. Learn more theory.
    ปีนี้จะเน้นทางด้าน Algorithms and data structures
  6. Learn a new programming language.
    ปีที่แล้วเรียนภาษา Python ไป ปีนี้ขอ Ruby on Rails
  7. Complete a personal project.
    ผลต่อเนื่องมาจากข้อ 6 แน่นอนว่าคงใช้ Ruby on Rails พัฒนา
  8. Go analog.
    จะปั่นจักรยานให้มากขึ้น และจะลองทำกับข้าวอย่างน้อยสัก 1 อย่าง 🙂
  9. Stay healthy.
    เพราะโปรแกรมเมอร์ต้องมี Six Pack
  10. Read at least one fiction or autobiography book.
    ปีนี้จะอ่าน Obama: From Promise to Power ฉบับแปลไทยให้จบ! (น่าจะถือว่าเป็น autobiography?)
  11. Learn new software or tool.
    คงจะเกี่ยวกับ Data visualization ที่เล็งไว้คือ Tableau กับ D3
  12. Automate.
    จะพยายามใช้ cron ให้เป็นจริงๆ แล้วก็จะใช้ shell scripts ทำสิ่งต่างๆ ที่เราทำบ่อยๆ แทนเรา แล้วก็จะใช้ช่วยในการเขียนบทความต่างๆ

ซึ่งต้องขอบคุณท่าน อ. Matt Might อีกครั้งที่เป็นแรงบันดาลใจเสมอมา Orz