Friday, April 4, 2014

ถ้าไม่มีใครทำ ก็เสกมันขึ้นมาเอง

เรื่องนี้เดิมทีควรจะไปเขียนไว้ที่ wattana-hinchaisri แต่เนื้อหาส่วนใหญ่เป็นที่เกี่ยวข้องกับแนวคิดมากกว่า จึงขอย้ายมาที่นี่

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

วันนี้จึงขอนำเรื่องที่เป็นปมผูกเข้าด้วยกันไว้ มาค่อย ๆ แก้ออกเป็นลำดับ ตามความเข้าใจของผมแล้วกัน


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

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

แล้วจะทำอย่างไรหละ?

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

ผมเคยลุยกับข้อมูลมหาศาล แล้วแบข้อมูลนั้นมาให้ผู้ที่ตัดสินใจดู แต่พอบอกว่าถ้าหากต้องการจะมีระบบที่สามารถแสดงข้อมูลนี้ได้ในภายหลัง ต้องใช้จ่ายเท่าไหร่ ก็ยังไม่เห็นมีใครกล้าตัดสินใจซักคน ก็แสดงว่า "ข้อมูลที่แสดงให้ดูยังมีความสำคัญไม่พอ" จึงยังไม่กล้าลงทุน

แล้วมันใช้ BigData มาช่วยได้ไหม... ผมตอบได้เลยว่า ถ้าหากไม่สร้างสถาปัตยกรรมให้ดี อย่างไรก็หืดขึ้นคอ (จำได้ว่าตอนทำแค่ ETL ก็จะเสียผู้เสียคนไปเลยทีเดียว)

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

โอ้ย.. มีอีกเยอะครับ เล่าให้ฟังเรื่องการเข้าใจข้อมูลนี้ ยาว....

การศึกษาในระบบ
"หาคนที่สามารถมาร่วมงานและทำกันแบบที่ทำอยู่นี้ได้จากที่ไหน ในประเทศไทย?" ปรงเสียเถอะ เพราะว่าเราไม่ได้มีการเตรียมไว้ให้อย่างแน่นอน ลองนึกดู จะมีสถาบันไหนในประเทศไทย ที่จะพัฒนานักเรียนให้มารองรับคุณได้ ในเมื่อในสถาบันนั้น ๆ ยังไม่มีกรณีศึกษาให้ลองเลย เอาง่าย ๆ แค่ฐานข้อมูลที่มีน้ำมีเนื้อให้มาลองฝีมือ ก็หายากแล้ว อีกทั้งยังระบบจัดการโน้น นี่ นั่นอีก

ผมเห็น Development Zone มาก็หลายที่แล้ว แต่ละที่นี่ยังกับสร้างหอคอยแห่งการเขียนโค๊ดเลย ทางสถาบันไหนจะมีเครื่องไม้เครื่องมือได้ขนาดนั้น?

แล้วอีกอย่าง อาจารย์ที่ว่าสอน ๆ กันอยู่ ผมก็พบว่ามีไม่กี่คนที่ได้มาลงไม้ลงมือทำกันจริง ๆ

แล้วอย่าลืมว่าการศึกษาไทย ไม่ได้เน้นที่เก่งอย่างใดอย่างหนึ่ง แต่เน้นว่า เรียนจบแล้วต้องได้ใบ...ซักใบ ก็พอ

มันก็ไม่แปลกหรอกที่ค่อนข้างหา Developer ยากหน่อยในเมืองไทย

ยังมีอีกหลาย ๆ ส่วนที่เราค่อนข้างจะหา Developer ยากคือ

  1. เมื่อเป็น Developer ดี ๆ พออายุได้ ก็จะผลักเค้าให้ไปเป็น Manager ที่ไม่ได้ Develope ซะ เพราะว่า ไม่รู้ว่าจะขึ้นเงินให้อย่างไร
  2. คนที่มีโอกาสดี เรียนมหาวิทยาลัยชั้นนำ ไม่่ค่อยมาทำ Developer เพราะว่าที่บ้านมีหน้าที่การงานให้แล้ว จะมาเป็นผู้ใช้แรงงานทำไม (มองซะ Developer เป็นพวกใช้แรงซะงั้น อันนี้ต้องเขียนเป็นอีกเรื่องได้เลย)
  3. มีคนที่บอกว่าเป็น Developer เยอะ แต่ที่จริงไม่ใช่ แล้วหลาย ๆ บริษัทก็ไม่ค่อยเจอตัวจริง จึงรู้สึกไม่ค่อยมี
  4. Developer ที่คิดว่าดี ส่วนใหญ่จะโดนสูบไปอยู่บริษัท ชื่อเสียงดี ๆ ก่อน แล้วกักบริเวณไว้ จนเป็นง่อย ออกมาทำบริษัทอื่นไม่ได้แล้ว
  5. Developer ดี ๆ หมดแรง หมดไฟ เพราะเจอมรสุมในชีวิต จึงทำให้ต้องเปลี่ยนไปทำอย่างอื่น ซะงั้น


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

เป็นการตอบโจทย์ที่แยบยลมาก...

มันก็เหมือนกัน ทำไมเรามีสถาบันสอนดนตรี สถาบันวาดรูป สถาบันฝึกวิชาชีพเกษตรกรรม สถาบันโน้น สถาบันนี้ได้ แล้วเราทำไมมี "สถาบันสำหรับพัฒนาคนด้านนี้" ไม่ได้ 

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

มันก็จะสมดุลเอง...






ตอนนี้ผมมีไฟ มีประสบการณ์ มีแรง .... แต่อยากได้ตัวช่วย...บ้าง...​ก็...ดี

1 comment:

HWattana said...

ความรู้ไม่ได้อยู่ในห้องเรียนแล้ว
http://teamtreehouse.com/