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 ดี ๆ หมดแรง หมดไฟ เพราะเจอมรสุมในชีวิต จึงทำให้ต้องเปลี่ยนไปทำอย่างอื่น ซะงั้น


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

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

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

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

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






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

Sunday, March 30, 2014

Archtecture Then Design

When you want to build the project
You need to do architecture then design
Without this it's not easy to maintain.

Wednesday, March 26, 2014

ครู อาจารย์ สอน ศิษย์

อ่านเรื่องต่าง ๆ ในนี้ (ปรัชญาการทำงาน) แล้วก็มีความคิดวูบ ขึ้นมา
"ครู สอน อะไรบ้าง?"

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

เมื่อเกิดการถ่ายทอดอย่างนี้แล้ว ความรู้ที่เกิดจากครูคนแรก ๆ ก็จะเกิดเป็นความรู้มากขึ้นเรื่อย ๆ ไปเอง

การพัฒนาซอฟท์แวร์แบบตลาด ๆ บ้านเรา

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

มาวันนี้ระหว่างเดินอยู่ท่ามกลางตลาดสด มีร้านรวงมากมาย ต่าง ๆ กันไป  ทั้งร้านผลไม้ กับข้าว ยา ผัก ของสด อาหารแห้ง ร้านขายของชำ พวงมาลัย
แล้วก็จำได้ว่าเคยอ่านเรื่องนี้ไว้แล้วเมื่อครั้งสมัยเร่ิมพัฒนาระบบใหม่ (cathedral-bazaar)

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

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

ดังนั้นตลาด ก็จะมีสินค้าและบริการที่หลากหลาย และมันก็ทำให้ผมเกิดความคิดแบบตลาด ๆ นี่แหละ

ถ้าเรากลับมามองระบบซอฟต์แวร์ที่จะพัฒนาตามความคิดผม ก็จะได้ประมาณว่า

ระบบ (ตลาด) ก็จะประกอบด้วย งาน (ร้านค้า ที่หมายถึงร้านที่ขายสินค้าประเภทเดียวก่อน) แต่ละงานก็ต่างคนต่างขายสินค้าหรือบริการ และแต่ละงาน (ร้าน) ก็พัฒนาตนเอง จนเมื่อถึงเวลา ก็มีการแลกเปลี่ยนข้อมูล (สินค้า หรือบริการ) กัน

ส่วนลูกค้า (ผู้ใช้งานระบบ) ก็จะเป็นผู้ซื้อ (ใช้งาน) สินค้าหรือบริการของแต่ละร้าน

แต่ก็จะมีงาน (ร้านค้า)บางร้านที่นำ งาน หรือสินค้าหรือบริการ ของแต่ละงานมารวมกันแล้วสร้างเป็น งานอีกรูปแบบหนึ่งขึ้นมา เช่นร้าน มินิมาร์ท

เมื่อมองกลับมาที่ตัวซอฟต์แวร์ ก็จะมีลักษณะคล้าย ๆ กัน คือ ถ้าหากเราสามารถแยก งาน สินค้า บริการ ออก เป็นส่วนเล็ก ๆ ที่ทำงานได้ด้วยตัวเอง (application) เราก็สามารถนำมันมาประกอบกันเป็น ตลาด (Project) ได้ แล้วก็ได้หลาย ๆ แบบ ด้วยสิ เพียงแค่เราหา application มารวมกันให้ได้

แล้วเมื่อมองภาพใหญ่กว่าตลาดเดียว มันก็คือการเชื่อมโยงกันระหว่าง ตลาด หรือ Project นั่นเอง

คราวนี้ภาพของ object มันก็ออกมาให้เห็นได้ชัดขึ้น โดยถ้าหากเราสร้าง object ที่เหมาะสม เราก็สามารถสร้าง application , project ได้ เรื่อง ๆ

ดังนั้นเราก็คงไม่แปลกใจว่า เดี๋ยวนี้เราทำไมจึงเห็นว่ามี application และ Project ออกมาได้หลากหลายขึ้น


"ระเบิดจากข้างใน และ สิ่งที่สมบูรณ์เกิดจากสิ่งเล็ก ๆ ที่รวมกันอย่างลงตัว"

Monday, February 24, 2014

Amazing Android phone on Sony Xperia Z1

The Xperia Z1 has an aluminium and glass unibody design.

NOw I'm on the sky train. Try to make this post  with single hand operating.  I'm not sure what will happen if I use Xperia Z ultra. Buy believe I got this Z1 because some Japanese guy bring the Z ultra and reading Japanese comic. But two hand typing for me is faster.

When you have a look at the picture that taken from Z1. It's amazing Photo. another of camera function can help me, poor capture man can be a professional lens man. I don't. use AR at this time.

The size of the screen is better than 4" iPhone. If I compare.with many one surrounding me 80% use iPhone.

Usually when I was traveling I alway listen the music with my headphone from iPhone. But for Z1 with the headphone that include from the package it's bad experience with this item. The sound quality of the headphone is totally bad for me. Then I switch to use my old iPhone headphone. That is perfectly match. But unfortunately we cannot use volunm up and down button on headphone.

I also have a complementary bag when we bought Z1. It is a good bag.

After I have use Z1 for 1 week I definitely agree to buy new power bank. I bought 10000 mah from Sony. Because the free one from store that I bought is useless.

The power bank from Sony is another amazing equipment. I recommend you to buy if you are gamer or Internet man.

What are the next I want from Sony?
1. A better quality headphone and small talk is it is included in standard package.
2. In That we need the same model like in Japan.
3. Another entertainment included from Sony.

Saturday, February 22, 2014

New to Android on Z1

From my post http://hanattaw.blogspot.com/2014/02/from-iphone-2g-to-sony-xperia-z1.html

First time to use Android. It's amazing mobile software. I feel like i'm driving new f1 car. A lot of thing to do. I understand why iOS is come with many limitation. And many people can have  good experiences with iOS.

When you come to use Android you need to understand what are you doing. What will happen when you do something. Then if Android do limitation like iOS. I believe many will not going to use Android.

But Z1, is like Debian. Give only necessary thing for beginner!

Saturday, February 15, 2014

Google Glass with Sony Xperia Z1 20.7G

วันนี้ลองกล้องในตอนกลางคืนให้เพื่อนดู แกบอกว่า "ถ้ามันทำได้อย่างนี้ โรคที่ฉันเป็นก็พอมีทางแก้ไข"

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

ผมก็เลยนึกได้ว่า Google Glass ถ้ามีกล้องเหมือน Z1 ก็จะดีสำหรับคนเป็นโรคนี้นักแล...