หมายถึงการเตรียมตัวเป็น “ผู้สัมภาษณ์” นะครับ การเตรียมตัวถูกสัมภาษณ์นี่ท่าจะสามารถหาได้ทั่วไปอยู่แล้ว ด้วยเหตุว่าเช้านี้ต้องช่วยสัมภาษณ์ IT manager ที่จะรับเข้ามาใหม่ แต่จะเป็นพนักงานที่อยู่ในต่างหน่วยงานกับที่ผมดูแลอยู่ เพียงแต่อยู่ในแผนกเดียวกัน ในบริษัทขนาดเล็กๆ การสัมภาษณ์มักจะง่ายๆ และใช้วิจารณญาณของคนที่จะจ้างเป็นหลัก แต่ในบริษัทใหญ่ มีขั้นตอนหลายอย่าง มีกระบวนการสัมภาษณ์หลายรอบ ที่แน่ๆ คือจะต้องผ่าน screening interview จากทางฝ่ายบุคคล แล้วก็จะมาถึงทางแผนก และท้ายที่สุดจะเป็น hiring manager คือคนที่จะเป็นเจ้านายโดยตรงนั่นเอง
ผมเองวันนี้เล่นบทในฐานะเป็นตัวแทนแผนก IT ดังนั้นต้องสามารถประเมินได้ว่าผู้เข้าสัมภาษณ์เหมาะกับแผนก IT หรือไม่ ซึ่งในประเด็นนี้แต่ละแผนกจะต้องมีลักษณะเฉพาะหรือความสามารถบางอย่างที่มองหา โดยมีคนในแผนกเท่านั้นที่ตรวจสอบได้
ภาพจาก accountingjobinterviewstips.com
ก่อนเริ่มผมสัมภาษณ์ผมก็เตรียมตัวดังนี้
- ทบทวนหลักเกณฑ์และขั้นตอนในการสัมภาษณ์ เกณฑ์การให้คะแนนโดยรวมที่ทางบริษัทกำหนดไว้
- ทบทวนบทบาทและหน้าที่ (roles & responsibility) ของตำแหน่งที่ต้องการรับ อันนี้ต้องขอข้อมูลจาก hiring manager คือบางครั้งแผนกที่ใหญ่ อาจจะมีลักษณะเฉพาะบางอย่างที่เขามองหา อันนี้เราต้องรู้ข้อมูลไว้ก่อนเหมือนกัน
- อ่านใบสมัคร และ resume รวมถึงคะแนนสอบที่ทำไว้ เพื่อทำความเข้าใจคร่าวๆ กับตัวผู้ถูกสัมภาษณ์
- เขียนคำถามที่อาจจะผุดขึ้นมาในใจ ระหว่างการอ่านประวัติการเรียน ประวัติการทำงาน คำถามเหล่านี้จะช่วยเตือนเราได้ในระหว่างการสัมภาษณ์
- ถ้ามีผลการสัมภาษณ์รอบที่แล้ว (อาจจะจากคนอื่นๆ หรือจากทาง HR) ก็อาจจะทบทวนด้วยก็ได้ แต่ผมจะค่อนข้างระวัง เพราะการอ่านผลการสัมภาษณ์ของคนอื่น อาจทำให้เราเกิดทัศนคติที่ไม่เป็นกลาง หรือ bias ขึ้นได้
การเตรียมตัวล่วงหน้า อาจจะดูยุ่งยาก แต่จริงๆ แล้วใช้เวลาเพียงไม่กี่นาทีเท่านั้นเอง ข้อดีที่จะได้ก็คือเราอาจจะมองเห็นอะไรที่ซ่อนอยู่มากเกินไปกว่าความประทับใจครั้งแรก และทำให้เราประเมินผู้เข้าสัมภาษณ์ได้อย่างรอบด้านและถี่ถ้วน และที่สำคัญเรายังสามารถประเมินได้อีกว่า คนคนนี้จะประสบความสำเร็จในงานที่เราให้เขาทำได้หรือไม่
ผมเคยเห็นผู้จัดการหรือผู้สัมภาษณ์งานบางคน ให้เวลาหรือความสนใจน้อยเกินไปในการเตรียมตัวสัมภาษณ์ ผลการสัมภาษณ์ที่ได้ก็เพียงผิวเผิน ไม่สามารถระบุหรือชี้ชัดไปได้ว่าควรจ้างหรือไม่ หรือที่แย่ไปกว่านั้นก็คือ รับเข้ามาทำงาน ทั้งๆ ที่ไม่แน่ใจว่าจะทำงานได้ หรือเหมาะที่จะอยู่ในองค์กร ซึ่งเป็นผลเสียหายร้ายแรงมาก ต่อบริษัทก็เรื่องหนึ่ง แต่ที่สำคัญกว่าก็คือต่อตัวพนักงานเอง เพราะเขาจะเสียโอกาสที่จะได้ไปทำงานที่อื่น แต่ต้องมาติดอยู่ในองค์กรหรือตำแหน่งหน้าที่ที่อาจจะไม่เหมาะกับเขา เสียเวลา เสียโอกาสในอนาคต
ถ้าคุณจะต้องสัมภาษณ์งานใครซักคน ลงทุนเวลาเตรียมตัวแค่ 10-15 นาที ก็จะช่วยให้การสัมภาษณ์เป็นไปอย่างราบรื่น และได้รับประโยชน์สูงสุดกันทุกฝ่าย

จำได้ว่าเคยเห็นภาพนี้นานมาแล้ว แต่ก็ยังจำได้ไม่ลืม และเมื่อเร็วๆ พอได้คุยถึงปัญหาสุดคลาสิคของการพัฒนาซอฟต์แวร์ ก็ยังมีการอ้างถึงภาพนี้อยู่เลย คลิกเพื่อดูรูปขยายนะครับ เผื่อจะมีใครสนใจพิมพ์ไปปะข้างฝาเตือนใจตัวเองบ้าง
หลายปีก่อน ตอนที่เริ่มสร้างทีมงานใหม่ๆ เพื่อทำงานด้านคลังข้อมูล (data warehouse) ผมจัดสอนภายในเลยเตรียม powerpoint ชุดนี้เอาไว้ เพิ่งไปรื้อ backup เก่าๆ มาเลยเอามาฝากกัน
สไลด์ชุดนี้ผมสรุปมาจากบทแรกของหนังสือ The Data Warehouse Lifecyle Toolkit : Expert Methods for Designing, Developing, and Deploying Data Warehouses ของ Ralph Kimball ซึ่งคาดว่าน่าจะเป็นประโยชน์สำหรับคนที่สนใจในด้าน data warehouse
ในบทแรกนี่จะกล่าวถึงองค์ประกอบสำคัญๆ ของระบบคลังข้อมูล รวมถึงโปรเซสหลักๆ ที่มีในระบบด้วย โดยจะเน้นไปที่นิยามหรือคำอธิบายพื้นฐานถึงองค์ประกอบและโปรเซสเหล่านั้น เป็นการปูพื้นล่วงหน้า
ข้อสังเกตและบรรยากาศการจัดงาน
โดยรวมถือว่าดีมากครับ ไม่ว่าจะเป็นด้านการประชาสัมพันธ์งาน ทำได้ดีมาก ผมชอบการทำวีดีโอประชาสัมพันธ์ทำให้คนเข้าใจความสำคัญของการมีส่วนร่วม หัวข้อที่นำมาคุยกันก็เลยหลากหลาย สถานที่ก็เลือกได้ดีครับ แต่ละห้องมีขนาดกำลังเหมาะ และยังทำให้เราได้รับการสนับสนุนจากน้องๆ คณะวิศวะฯ จุฬาด้วยในการลงทะเบียน อินเทอร์เน็ตไร้สายก็ทำงานได้ดีมาก การลงทะเบียนอินเตอร์เน็ตสะดวก อาหารเครื่องดื่มของว่าง คุณภาพดีเลยครับ ขอบคุณทั้งสปอนเซอร์และผู้จัดหาด้วยครับ จำนวนห้อง วันแรกดูจะเยอะไปหน่อย ทำให้การเลือกหัวข้อทำได้ยาก และบางหัวข้อมีคนเข้าน้อย ส่วนวันอาทิตย์ดูลงตัวกว่ามาก
บรรยากาศในงาน ก็ถือว่าอบอุ่นเป็นกันเองนะครับ ป้ายชื่อและ twitter name นี่ช่วยได้เยอะมาก เพราะใหญ่ดี เห็นชัดทำให้เราสามารถทักคนที่เคยคุยด้วย online ได้ ถ้าไม่เห็นป้ายชื่อเลยคงเหงาน่าดู ผมชอบความรู้สึกเวลาเปลี่ยนห้อง แล้ววิ่งหาหัวข้อที่จะเข้าต่อไป อารมณ์ประมาณเปลี่ยนชม.เรียนมหาวิทยาลัยยังไงยังงั้นเลย แล้วถ้าให้มองกันจริงๆ ผมว่าความรู้ที่ผมได้รับในช่วงสองวันนี่ น่าจะเหมือนกับการอัดการเรียนซักประมาณครึ่งเทอมมาไว้ในเวลาแค่เสาร์อาทิตย์เดียวกัน มีความสุขมากครับ
ผมพบว่า ผู้เข้าร่วมงานโดยส่วนมากมีส่วนร่วมดีมากๆ การบรรยายหรืออภิปรายเป็นภาษาอังกฤษดูจะไม่ค่อยเป็นอุปสรรคเท่าไหร่ แต่สังเกตเหมือนกันว่า ถ้าการอภิปรายเป็นภาษาอังกฤษ ชาวไทยเราจะเสนอความคิดเห็นน้อยกว่ากรณีที่อภิปรายเป็นภาษาไทย ซึ่งก็คงเป็นเรื่องปกติอยู่แล้ว แต่ถ้ารายการไหนอภิปรายเป็นภาษาไทยและมีคนร่วมอภิปรายด้วยหลายคน สนุกและได้ความรู้มากเลยครับ
หัวข้อที่ได้รับความสนใจ ส่วนใหญ่ก็จะเป็นหัวข้อในแนว web 2.0 และ development เป็นส่วนใหญ่ กับประเภทที่ฉีกแนวออกไปเลย ซึ่งก็สะท้อนความสนใจของกลุ่มคนที่เข้าร่วมได้ดีทีเดียว ที่เห็นได้น้อยมากคือหัวข้อที่เกี่ยวกับ IT mainstream หรือการใช้งานในภาคธุรกิจ เห็นหัวข้อเกี่ยวกับ Microsoft Sharepoint อยู่เพียงหัวข้อเดียวที่มีการเสนอ คาดว่าถ้าเป็นเรื่องเกี่ยวกับงานไอทีในภาคธุรกิจ หรือเกี่ยวกับผู้ผลิต commercial software รายใหญ่ๆ รูปแบบการจัดงานคงไม่ได้เป็นลักษณะ Barcamp แบบนี้
การร่วมงานของคนต่างชาติ ฝรั่งเหล่านี้หลายคนมาอยู่เมืองไทยได้หลายปีแล้ว แต่ก็มีบางคนที่ดูเหมือนจะมาเมืองไทยเพื่อกิจกรรมนี้โดยเฉพาะ เขาเหล่านั้นได้เข้าร่วมจัดงาน เป็นสปอนเซอร์ รวมถึงมีส่วนร่วมมากอย่างเห็นได้ชัด ผมรู้สึกขอบคุณพวกเขาเหล่านั้นนะครับ ในขณะเดียวกัน ผมเองก็มองเห็นว่า ในฐานะคนไทย การเข้ามีส่วนร่วมกับกิจกรรมในลักษณะนี้ ไม่ว่าทางใดทางหนึ่ง จะมีส่วนช่วยผลักดันการพัฒนาวงการไอทีบ้านเราไปได้ และผมเองก็น่าจะมีส่วนร่วมได้มากกว่านี้
สิ่งที่ได้รับจากงาน
แน่นอนครับ ได้รับความรู้เพิ่มขึ้นแน่ๆ เรื่องราวหลายเรื่องที่อาจจะไม่เคยสนใจ หรืออาจจะสนใจแต่ไม่สามารถเรียนรู้ด้วยตัวเองได้สะดวกนัก ก็มาได้คำตอบเอาที่นี่ ความรู้ที่ได้จากงาน BarCamp คงไม่สามารถทดแทนรูปแบบการหาความรู้อื่นๆ ได้ทั้งหมด แต่ก็เป็นแนวทางที่จะช่วยให้เรียนรู้ต่อไปได้ง่ายขึ้น
มุมมองที่หลากหลายมากขึ้น นอกจากตัวความรู้เองแล้ว ผมพบว่าแง่คิด มุมมองจากประสบการณ์ที่หลากหลายของผู้เข้าร่วม เปิดมุมมองที่กว้างขึ้นให้กับผม มองเห็นเรื่องอื่นได้กว้างขึ้น มองจากมุมมองที่แตกต่างออกไปจากเดิม
เพื่อนใหม่ หลายคนที่เคยคุยด้วยทาง twitter แต่ไม่เคยพบหน้าตัวจริง ก็ได้มีโอกาสได้พบปะพูดคุยแลกเปลี่ยนความคิดเห็นและรู้จักกัน และอีกหลายคนที่ไม่เคยได้รู้จักกันมาก่อนเลย ก็ได้ทำความรู้จักกันด้วย
และท้ายที่สุด (แต่อาจจะสำคัญที่สุดเหมือนกัน) คือผมได้แรงบันดาลใจครับ การให้โอกาสตัวเองก้าวออกไปจากวิถีชีวิตเดิมๆ เปิดสายตาเปิดหูรับรู้รับฟังเรื่องราวใหม่ๆ ในขณะเดียวกันก็ถือโอกาสแบ่งปันประสบการณ์ที่ตัวเองได้รู้มาให้คนอื่นบ้าง สามารถสร้างแรงบันดาลใจได้เป็นอย่างดี การเห็นคนอื่นลงมือลงแรงทำเรื่องดีๆ ทำให้ผมมีพลังมากขึ้นที่ทำอย่างนั้นบ้าง
อยากเชิญชวนเพื่อนๆ พี่ๆ น้องๆ ถ้ามีโอกาสในครั้งหน้าที่มีงานลักษณะนี้อีก อยากให้เข้ามาร่วมกันนะครับ อาจจะได้อะไรกลับไปมากกว่าที่คุณคิดก็ได้
ภาพโดย arjinkk มาเล่าต่อครับ คราวที่แล้ว ยังไม่จบวันเสาร์ดีเลย
วันเสาร์ (ต่อ)
- Web 2.0 around the world โดย Preetamrai ด้วยความที่เขาเดินทางไปหลายที่มาก ก็เลยรวบรวม web 2.0 กับ mobile apps จากหลายประเทศ และมีหลายหมวดหมู่มาก คงไล่ไม่หมด ดูสไลด์ที่นี่ แต่ผมเองก็ได้ข้อสังเกตบางอย่าง
- บางเว็บก็เป็นอะไรที่แปลกแหวกแนวไปเลย อย่าง “อนุทินรัก” (ตั้งชื่อเองนะครับ) แบบให้กาปฏิทินไว้ว่า sex experience ในแต่ละคืนเป็นยังไง ถ้าสีแดงเข้มก็แสดงว่าดีมาก สีจืดหน่อยก็คงกร่อยไปตามลำดับ
- บางเว็บก็ลอกของฝรั่งมาดื้อๆ ซะงั้นแหละ อย่าง facebook clone ในพม่า ประมาณว่ารัฐบาลบล็อกเว็บนอก ก็ทำมันเองเป็นเว็บท้องถิ่นเสียเลย ดังได้เหมือนกัน
- บางอย่างก็เป็นอะไรที่เพิ่มขึ้นมาเพียงนิดเดียว นิดเดียวจริงๆ จากของดั้งเดิม ตัวอย่างเช่นเว็บของญี่ปุ่น ที่เหมือน YouTube มาก เพียงแต่สามารถพิมพ์ subtitle หรือคอมเม้นต์แบบ realtime ลงไปได้เลย เขาเล่าว่าที่ต้องมาทำเองเพราะ Youtube ไม่ให้ทำ ณ เวลานั้น พลิกวิกฤตเป็นโอกาสได้ดีเลยเชียว
- เว็บ social network แบบเจาะจงกลุ่มก็มีหลากหลายรูปแบบ มีแบบประเภทแฟนคลับวงดนตรีด้วย
- ไม่ยังมีเว็บไทย ถามกันในห้องที่เป็นที่รู้จักมากที่สุดก็เห็นจะเป็น GotoKnow.org
- Thai Culture @ Work in International Company ประเด็นของผมในหัวข้อนี้คือ การที่บริษัทต่างชาติทางตะวันตก เช่นอเมริกันหรือยุโรป มักจะมีสัดส่วนผู้่นำองค์กรที่เป็นชาวไทย (และชาวเอเชีย) ต่ำกว่าที่ควรจะเป็น ผมมีความเชื่อว่าส่วนหนึ่งเกิดจากความแตกต่างทางวัฒนธรรม เลยเสนอมุมมองว่า วัฒนธรรมไทยบางอย่างจะถูกมองและตีความ ในสายตาของชาวตะวันตกอย่างไร ดูสไลด์ที่นี่
- Embeded Systems (ขออภัยด้วยครับ ไม่ได้ถามชื่อผู้บรรยาย ทราบแต่ blog อยู่ที่ mr-emj.blogspot.com) เป็นการเล่าให้ฟังถึงประสบการณ์เกี่ยวกับ embeded systems แบบต่างๆ ระบบพวกนี้เป็นคอมพิวเตอร์ย่อยๆ เลยละครับ คือมีทุกอย่างอยู่ในตัว สมัยผมเรียนเรียกกันว่า single board คือมี CPU หน่วยความจำ I/O และอาจจะมี display บ้างเล็กน้อย มักจะใช้ในการควบคุมอุปกรณ์ไฟฟ้าอย่างอื่นอีกที แต่มาดูสมัยนี้ก้าวหน้าไปมาก จากแต่เดิมที่ต้องโค้ดกันด้วย Assembly เป็นหลัก เีดี๋ยวนี้เขียนเป็น C หรือ Java ลงไปได้แล้ว ดูเหมือนตลาดอุปกรณ์เหล่านี้ก็ยังมีอยู่บ้าง เพียงแต่ในไทยเราผู้ผลิตอุปกรณ์อิเล็กทรอนิคส์ที่จะต่อยอด นำ embeded systems ไปสร้างให้เกิดเป็น commercial products ยังมีจำนวนน้อยอยู่
วันอาทิตย์
เราเริ่มกันประมาณ 11:30 ครับ เพราะดูเหมือนทุกคนจะมาสายกันหมด ประมาณว่าเมื่อคืนวันเสาร์หนักไปหน่อย จำนวนห้องบรรยายลดลงเหลือ 4 ห้อง แต่เนื้อหาของแต่ละห้องก็เข้มข้นไม่แพ้วันเสาร์เลย
- mySQL Tuning โดย @FordAntiTrust เนื้อหาลงเทคนิคลึกเกินความรู้ด้าน mySQL ของผมครับ แต่พอสรุปได้ว่าหลักในการทำ tuning ของฐานข้อมูลแต่ละตัวหลักใหญ่ไม่แตกต่างกัน แต่ในรายละเอียดปลีกย่อยแตกต่างกันมาก และต้องอาศัยความรู้ ข้อมูลอ้างอิง และประสบการณ์มากทีเดียว ถึงจะดึงความสามารถของฐานข้อมูลมาใช้ได้เต็มประสิทธิภาพ ดูสไลด์ ที่นี่ครับ
- ซอฟต์แวร์ลิขสิทธิ์กับชีวิต freelance โดย @9Aum และ @FordAntiTrust สนุกและได้ความรู้มากทีเดียวครับ เกร็ดเล็กเกร็ดน้อยเต็มไปหมด แอบจดชื่อ freeware ไว้หลายตัว ดูสไลด์ที่นี่ ประเด็นน่าสนใจที่มีการอภิปรายกันก็คือ ลักษณะที่เราเลือกใช้ซอฟต์แวร์แบบ ใช้ตามๆ กันไป (ส่วนมากมักจะเถื่อน) โดยไม่ได้ศึกษามากเพียงพอว่า บางครั้งความต้องการของเรา สามารถที่จะใช้ฟรีแวร์มาใช้แทนได้ และแถมทำงานได้ดีกว่าด้วย
- Innovation & Life @ Google โดย Google Engineer มาเองเลย เป็นการเล่าโครงสร้างการคิดค้นนวัตกรรมของกูเกิล ซึ่งประกอบไปด้วย
- Break the mold ผมอยากจะเรียกว่า “ฉีกกรอบเดิมๆ ทิ้ง” ตัวอย่างเช่นการใช้ category หรือ folder ซึ่งถ้าเข้าใจว่า เป็นเพียงวิธีการหนึ่งที่จะช่วยจัดระเบียบข้อมูล ก็สามารถหาวิธีอื่นที่ดีกว่า มาใช้ได้ เช่นการใช้ label ใน gmail ร่วมกับการ search
- Focus on Users สัมภาษณ์ผู้ใช้ ให้ความสำคัญกับ “ประสบการณ์” ในการใช้งาน มากกว่าการพยายามยัดฟีเจอร์เข้าไปเยอะๆ จนกลายเป็นซอฟต์แวร์ที่ทำอะไรได้ทุกอย่าง (รวมถึงไปซื้อโอเลี้ยงหน้าปากซอย) แต่ทำไม่ได้ดีซักอย่าง
- Ship early and often อันนี้ตรงกับแนวปฎิบัติของ Open Source Software เลยทีเดียว
- Power of small teams โครงการส่วนใหญ่มักจะเริ่มต้นเล็กๆ ด้วยวิศวกรแค่คนเดียว ที่มีความสนใจในเรื่องนั้นๆ นโยบายการอนุญาตให้พนักงานใช้เวลา 20% ไปกับโครงการอะไรก็ได้ที่ตัวเองสนใจ ถือเป็นหลักสำคัญในเรื่องนี้ แล้วก็ผ่านกระบวนการทำต้นแบบมาเรื่อยๆ ถ้ามีประโยชน์และพร้อมที่จะขยาย ก็จะมีการกำหนดทีมงานขนาดใหญ่ในภายหลัง
สรุปสั้นๆ ได้ใจความว่า “Think big, start small, scale fast”
- Wed Developer Study Guideline for starter โดย @domesterz ช่วยให้ได้รู้จักเทคโนโลยีหลายๆ อย่างและขั้นตอนการศึกษาว่าควรเรียงลำดับ และให้ความสำคัญกับหัวข้อใดก่อนหลัง ผมว่าน้องเขาเตรียมตัวมาดีนะครับ ถึงแม้จะยังเรียนอยู่ปี 4 แต่ดูเหมือนมีประสบการณ์การพัฒนาเว็บมาพอสมควรทีเดียว และที่สำคัญที่สุด คือการกล้าที่จะมีส่วนร่วมและเสนอสิ่งที่ตัวเองรู้ อยากเห็นคนรุ่นใหม่ กล้าพูดกล้าแบ่งปันประสบการณ์กันอย่างนี้เยอะๆ ครับ ดูสไลด์ได้ที่นี่
- FOSS Promotion Discussion เป็นการอภิปรายกันต่อเนื่องจากเมื่อวันเสาร์ครับ แต่วันนี้กลุ่มใหญ่ขึ้น และได้ @kengggg มาเล่าความเป็นมาเป็นไปของ Firefox Thai localization ซึ่งถือเป็นความก้าวหน้าที่สำคัญของวงการ FOSS บ้านเรา ดูๆ ไปแล้วเหมือนกับภาษาก็ยังคงเป็นปัญหาใหญ่ที่สุดอยู่ดี ถ้า FOSS มีภาษาไทยดีๆ เอกสารดีๆ คงมีคนใช้เพิ่มมากขึ้น
- Cloud Computing (โดย @sugree และ @luke_bkk แห่ง CodeGent) เป็นการอธิบายข้อดีของการใช้ cloud computing ซึ่งตอนนี้ที่มีให้บริการแบบทั่วไปแล้วก็คือ Google Apps Engine กับ Amazon โดยส่วนของ Amazon จะมี component ย่อยๆ แยกออกไปอีก เช่นให้บริการ cloud storage ที่ทาง twitter ใช้เก็บรูปภาพอยู่ ข้อดีของการใช้ cloud คือหมดปัญหากังวลใจในเรื่อง scalability ถ้าเกิดเว็บดังขึ้นมา ก็ไม่ต้องมานั่งปวดหัวคอยย้ายโฮสต์หรืออัพเกรด (scale up) ไหนยังจะต้องมานั่งทำ performance tuning อีก แต่ถ้าใช้ cloud จะิเป็นการ scale out โดยใช้โครงสร้างพื้นฐานของ Google หรือ Amazon แทน แล้วจ่ายตามปริมาณการใช้งาน
- Mobile Internet Discussion (โดย @sugree และ Google Engineer) ประมาณว่าเป็นการรับฟังความคิดเห็นเกี่ยวกับการใช้งาน mobile internet ในประเทศไทย ปัจจัยที่มีผลกระทบก็ได้แก่ โครงสร้างพื้นฐานเกี่ยวกับความเร็วและความเสถียรของการเชื่อมต่ออินเตอร์เน็ตผ่านมือถือ ภาษาไทย ที่มีจำนวนพยัญชนะและสระมาก ยุ่งยากต่อการใช้งานร่วมกับปุ่มโทรศัพท์มือถือ ขาดแอพลิเคชันสำหรับคนไทย แอพลิเคชันทั่วไปอย่าง m.gmail.com ก็มีคนใช้อยู่ในกลุ่มน้อย ผู้ให้บริการมือถือยังไม่ได้สนับสนุนการใช้ data อย่างเต็มที่ (เทียบกับ voice & SMS)
- BitTorrent as Infrastructure บรรยายโดย อ.ดร.ยรรยง เต็งอำนวย ท่านเสนอมุมมองใหม่เกี่ยวกับ BitTorrent ว่าใครๆ ก็รังเกียจและหาว่า BT เป็นสิ่งไม่ดี เนื่องจาก BT ทำงานได้ดีมากในฐานะโปรโตคอลรับส่งข้อมูล ทั้งมีประสิทธิภาพสูงและยังเสถียรมากด้วย ทำให้ถูกต่อต้านจากบรรดา ISP เพราะใช้แบนวิดธ์มาก ท่านชี้ให้เห็นถึงความสำคัญของแบนวิดธ์ ที่นับเป็นทรัพยากรพื้นฐานต่อการพัฒนาอุตสาหกรรมคอมพิวเตอร์ แต่กลับมีราคาแพงในเมืองไทย ท่านจึงเสนอแนวคิดในการแก้ปัญหาแบนวิดธ์ โดยการใช้ BitTorrent เพื่อสร้างเครือข่าย cache ภาคประชาชนสมัครใจ แทนที่จะต้องใช้แบนวิดธ์ระหว่างประเทศ ในการต่างคนต่างโหลดข้อมูลมา ก็ให้ใช้ BT ในการกระจายข้อมูล เก็บไว้ตามพีซีตามบ้านและใช้เครือข่าย local แทน ผมชอบประโยคเด็ดที่อ.ยรรยงพูดไว้ “We have a good potential with stupid polititians!’
- Life Management Applications เป็นการอภิปราย ดำเนินรายการโดย @pawoot และ @macroart แลกเปลี่ยนประสบการณ์การใช้ซอฟต์แวร์ที่ช่วยเพิ่มประสิทธิภาพการทำงาน และช่วยงานในชีวิตประจำวัน รวมไปถึงทิปและเทคนิคต่างๆ ไม่ว่าจะเป็น การใช้ซอฟต์แวร์ to-do list เทคนิคการจัดการไฟล์ การตั้งชื่อไฟล์ แนะนำแนวคิด GTD mind-map และอื่นๆ เป็นการคุยกันที่สนุกและได้ความรู้ดีมาก
ถ้านับเฉพาะส่วนที่เป็นเนื้อหาแล้ว ผมพบว่างาน BarCamp ครั้งนี้ได้ทั้งความรู้ แนวคิดใหม่ๆ และแรงบันดาลใจที่จะทำอะไรดีๆ อีกหลายอย่าง ถึงจะเหนื่อยหน่อย เพราะต้องวิ่งไปวิ่งมาแต่ละห้อง เลือกหัวข้อที่จะเข้าฟัง ได้ความรู้สึกเหมือนกลับไปเป็นนักศึกษาใหม่อีกครั้ง แต่ก็นับว่าคุ้มค่ามากครับ
ยังมีเรื่องของความรู้สึก บรรยากาศ ข้อสังเกตจากการจัดงาน ซึ่งคงต้องยกยอดไปเป็นคราวหน้าแล้วละครับ
สถานการณ์ความรุนแรงดูไม่น่าไว้วางใจเท่าไหร่ องค์กรหลายแห่งก็เริ่มนำ Communication Tree หรือที่เรียกกันย่อๆ ว่า comm.tree ออกมาใช้กันแล้ว comm tree เป็นการสื่อสารภายในองค์กร ในภาวะฉุกเฉินหรือนอกเวลาทำการ วัตถุประสงค์หลักคือเพื่อตรวจสอบความปลอดภัยของพนักงาน และสื่อสารข่าวสารสำคัญภายในองค์กร ในกรณีฉุกเฉินที่การสื่อสารทั่วไปอาจติดขัด หรือล่าช้าไม่กันการ
ภาพจาก ICT4D { ict . or . th } ข่าวไอซีทีเพื่องานพัฒนาสังคม
ลักษณะของ communication tree เป็นเหมือนต้นไม้กลับหัว คือมีรากอยู่ข้างบน แล้วมีกิ่งก้านสาขาอยู่ด้านล่าง เอาเป็นว่าหน้าตาเหมือนผังองค์กรทั่วไปน่าจะเข้าใจได้ง่ายกว่า แต่อย่างไรก็ตาม comm tree ไม่จำเป็นต้องมีลัีกษณะตรงกับผังองค์กรเสมอไป ถึงแม้ว่าจุดเริ่มต้นจะเป็นที่ผู้นำองค์กร แต่รูปแบบการกระจายข่าวสารจะเน้นความรวดเร็วเป็นหลัก โดยไม่คำนึงถึงสายการบังคับบัญชา
แต่ละคนในองค์กร จะถูกติดต่อในกรณีฉุกเฉินและเมื่อได้รับการติดต่อ แต่ละคนต้อง
- ติดต่อคนถัดไปที่อยู่ใต้คุณใน comm tree โดยส่งต่อข่าวสาร ที่ชัดเจน ถูกต้อง ตามที่ได้รับมา
- ถ้าไม่สามารถติดต่อคนที่อยู่ถัดจากคุณไปได้ ให้ข้ามและติดต่อคนที่อยู่ถัดไปในสาย
- เมื่อติดต่อคนถัดไปจนถึงสุดสายการติดต่อแล้ว ให้รายงานกลับไปยังคนที่อยู่เหนือคุณ ถึงสถานะของแต่ละคนในสายการติดต่อนั้นๆ
หากออกแบบ communication tree ได้ดี จะช่วยให้การตรวจสอบสถานะความปลอดภัยของเจ้าหน้าที่ในองค์กร ทำได้อย่างรวดเร็วและมีประสิทธิภาพ อีกทั้งยังสามารถใช้สื่อสารข้อความฉุกเฉินได้อาทิเช่น บริษัทปิดทำการ เป็นต้น ในอดีตที่ผ่านมา มีหลายเหตุการณ์ที่สังเกตได้ว่า communication tree มีบทบาทอย่างมากในภาวะไม่ปกติ ไม่ว่าจะเป็นช่วงการเกิดสึนามิ (เกิดเหตุเช้าวันอาทิตย์) เหตุการณ์วางระเบิดในช่วงวันหยุดปีใหม่ รวมไปถึงการปฎิวัติเมื่อ 2 ปีที่แล้ว
ข้อควรพิจารณาในการจัดทำ communication tree
- หมายเลขโทรศัพท์ที่ติดต่อได้ ควรจะมีทั้งโทรศัพท์มือถือและโทรศัพท์บ้าน
- communication tree จะต้องจัดทำไว้ก่อนล่วงหน้า รวมถึงการสื่อสารให้คนในองค์กรเข้าใจวิธีปฎิบัติด้วย ทุกคนในองค์กรต้องรู้ว่า ใครจะติดต่อเขาและเขาต้องติดต่อใครต่อ
- ต้องมีการอัพเดตข้อมูลใน comm tree ให้ทันสมัยอยู่เสมอ พนักงานเข้าใหม่ ลาออก เปลี่ยนหมายเลขโทรศัพท์ เป็นต้น
- ถ้าเป็นไปได้ ควรจัดเตรียม hot line สายหนึ่ง (มักจะเป็นผู้จัดการฝ่ายบุคคล หรือ corperate security officer) ไว้สำรองเสมอ
- communication tree ถือเป็นเอกสารที่เป็นความลับ การกระจายข้อมูลให้พนักงานแต่ละคน ควรทำด้วยความรอบคอบ พนักงานแต่ละคน จำเป็นต้องทราบเฉพาะสายการสื่อสารที่เขาเกี่่ยวข้องด้วยเท่านั้น และไม่จำเป็นต้องทราบสายการสื่อสารของคนอื่น (รวมถึงข้อมูลส่วนตัวของผู้อื่นที่ไม่เกี่ยวข้องเช่นหมายเลขโทรศัพท์บ้าน)

ภาพโดย MacroArt
งาน BarCamp Bangkok ครั้งที่ 2 คราวนี้จัดที่คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ผมเองไม่ได้มีโอกาสเข้าร่วม Barcamp ครั้งแรก แต่ได้มีโอกาสสัมผัสงานในลักษณะครั้งนี้คือตอน DrupalCampBangkok แต่คราวนี้เรียกว่าใหญ่กว่ามาก มีคนลงทะเบียนมากกว่า 400 คน จำนวนห้องสัมนาก็มีหลายห้อง เนื้อหาก็หลากหลายมากขึ้นเยอะ โพสนี้เอาเป็นว่าผมเล่าเนื้อหาที่เข้าฟังก่อนก็แล้วกันนะครับ ความรู้สึก บรรยากาศ และสิ่งที่สังเกตเห็น คงต้องยกยอดไปเป็นโพสต่อไป
งานคราวนี้แบ่งเป็นสองวัน คือวันเสาร์ที่ 30 และวันอาทิตย์ที่ 31 สิงหาคม 2551 ผมเข้าฟังโดยตลอดจนจบ บางช่วงก็สลึมสลือบ้าง จำไม่ได้ว่าตัวเองอยู่ห้องไหน หัวชื่อเรื่องอะไร ใครเป็นคนพูด เอาเป็นว่าถ้าผมจำผิดก็ขออภัยนะครับ
วันเสาร์
- Firefox 3.1 โดย @gen ไฟร์ฟ็อกซ์รุ่นใหม่นี้มีชื่อรหัสว่า Shiretoko ซึ่งเป็นชื่ออุทยานแห่งชาติในญี่ปุ่น เพิ่งรู้่เหมือนกันว่า่แต่ละรุ่นเขาตั้งชื่อตามอุทยานแห่งชาติของประเทศต่างๆ ส่วนสำคัญที่พัฒนาเพิ่มมาจาก FF3 คือ
- การเปลี่ยนไปใช้ JavaScript Engine ตัวใหม่ที่ชื่อว่า TraceMonkey ทำให้ FF3.1 จะสามารถรัน JS ได้เร็วกว่า FF3 โดยเฉลี่ย 10 เท่า
- สนับสนุน <audio> และ <video> แบบ native ด้วย
- มี tab control interface แบบใหม่
- กำหนดออกปลายปี 2008
- Mozilla Labs โดย @gen เป็น Open Source R&D มีบริการและผลิตภัณฑ์ใหม่ๆ น่าสนใจหลายตัวทีเดียว
- Mozilla Weave ไอเดียประมาณ online service ที่ให้เราสามารถ sync และแบ็คอัพข้อมูลจากการใช้เว็บของเราไม่ว่าจะเป็น history, bookmark, cookies หรือแม้กระทั่งเนื้อหาฟอร์ม ไว้บนเซิร์ฟเวอร์ได้ ตอนแรกผมเข้าใจว่าคล้ายๆ mobile.me ของแอปเปิล แต่ Mozilla เปิดซอร์สโค้ดด้วย หมายความว่าเราตั้งเซิร์ฟเวอร์ซิงค์เองก็ได้ น่าจะมีคนเอาไปต่อยอดทำบริการดีๆ ออกมาได้นะเนี่ย
- Aurora เป็นความร่วมมือระหว่าง Mozilla Labs กับ Adaptive Path เพื่อพยายามสร้างรูปแบบการใช้งานอินเตอร์เน็ตในยุคหน้า ประมาณว่าอีกซัก 10 ปี เราจะใช้วิธี “แหวกว่าย” ไปตามกระแสเว็บเพจที่มีเยอะแยะมากมาย เจ๋งดี
- Prism เปลี่ยน web application ให้กลายเป็น desktop โดยที่ยังคงความสามารถต่างๆ ไว้เหมือนเรียกใช้จาก Firefox เพราะใช้ engine ตัวเดียวกัน เพียงแต่สามารถทำงาน offline ได้ และมี environment แยกต่างหาก ต่อให้ FF เดี้ยงแอพลิเคชันบน Prism ก็ยังไม่สะเทือน
- Snowl เป็น add-on บนไฟร์ฟ็อกซ์ ทำให้สามารถพวก Instant Messaging, feeds หรือแม้แต่ twitter ได้ภายในเบราว์เซอร์เอง
- Ubiquity เป็นการผสาน command line เข้ากับ GUI แถมยังทำการ mash-up โดยดึงข้อมูลมาจากหลายๆ เว็บมารวมเข้าด้วยกัน ผู้ใช้เพียงแต่สั่งในลักษณะที่เป็นภาษาธรรมชาติเท่านั้น
- หลักวิทยายุทธกับการออกแบบระบบคอมพิวเตอร์ โดย @putchonguth ท่านเปรียบเทียบหลักการออกแบบระบบคอมพิวเตอร์กับหลักวิทยายุทธไว้อย่างน่าสนใจ และสนุกด้วย ไม่ว่าจะเป็นเรื่องของ สี่ตำลึงปัดพันชั่ง สูงสุดคืนสู่สามัญ เร็วช้าหนักเบา กระบี่อยู่ที่ใจ และอื่นๆ ตอนนี้ชักเลือนๆ ไปหน่อยแล้ว มัวแต่ดูรูปหลิวอี้เฟยบนสไลด์ของท่านเลยลมปราณแตกซ่าน พาลจำเนื้อหาไม่แม่นเสียแล้ว
- FOSS in Asia รายการนี้เป็นการอภิปรายครับ ดำเนินรายการโดยนักศึกษาต่างชาติ ที่มาทำวิจัยเรื่อง FOSS (Free & Open Source Software) ในเอเชีย ประเด็นปัญหาคือ ทำไม FOSS ประสบความสำเร็จน้อย ในเอเชียและในประเทศไทย ประเด็นที่มีการพูดถึงกันก็คือ
- ภาษา และการขาดแคลนหนังสือหรือเอกสารที่เป็นภาษาไทย
- การที่มีผู้ค้า commercial software ที่เข้มแข็งในเมืองไทย และบุกตลาดสถาบันการศึกษาได้อย่างประสบความสำเร็จ
- รูปแบบธุรกิจที่ยังไม่ชัดเจนว่า FOSS จะทำให้เกิดธุรกิจได้อย่างไร
- การนำ FOSS ไปใช้แต่ยังมีอัตราการ contribute น้อย
- ทำบล็อกอย่างไรให้ได้ตังค์ โดย @DekAds เป็นการแบ่งปันมุมมองของ ad agency ว่าบล็อกลักษณะไหนที่จะสามารถหาโฆษณาได้ง่าย
- สร้างเนื้อหาที่ดีมีคุณภาพ อย่าเอาแต่ cut + paste
- โฟกัสให้อยู่ในแนวทางของ blog ตัวเอง อย่าออกนอกลู่นอกทาง (blog นี้ตกครับ มี entry นอกเรื่องอยู่กว่าครึ่ง)
- ตอนนี้ประเภทของ blog ที่มีผู้สนใจลงโฆษณามาก จะเป็นกลุ่ม IT gadget และแฟชั่นกับ beauty
- Barcamp บ้าพลังลดโลกร้อน (ขออภัยเข้าห้องสาย ไม่ทราบว่าใครพูด) แต่แนวคิดน่าสนใจมาก ไอเดียง่า่ยๆ แค่เอาขวดใส่น้ำไปใส่ไว้ในถังน้ำชักโครก จะช่วยลดปริมาณการใช้น้ำได้เป็นลิตร ทุกๆ ครั้งที่กดชักโครก แถมมีการตั้งเป้าหมายและประชาสัมพันธ์ให้มีส่วนร่วม โดยให้ถ่ายวีดีโอแล้วอัพโหลดขึ้นเว็บเพื่อนับจำนวนคนที่เข้าร่วม เจ๋งมาก แต่เสียดายไม่ได้จด URL ไว้ ใครทราบรบกวนแจ้งไว้ด้วยครับ นอกจากนี้แล้วยังมีการให้ความรู้เกี่ยวกับการเลือกใช้ภาชนะบรรจุเครื่องดื่ม เพิ่งมารู้เอาตอนนี้เองว่าขวดแก้วกับกระป๋องอลูมิเนียม เป็นมิตรต่อสิ่งแวดล้อมมากกว่ากล่องกระดาษอาบพลาสติกมัน เพราะสามารถมา reuse ได้ไม่จำกัดจำนวนครั้ง
- โปรเจ็คลับ ROTI (โดย @kengggg และ @pphetra) ต้องยอมรับว่าเดินเข้ามาด้วยแรงโรตีดึงดูดจริงๆ กับคำว่าโปรเจ็คลับนี่แหละ แนวคิดของโปรเจ็คโรตีเป็นประมาณคล้ายๆ blog portal เหมือน technorati แต่ของไทยเรามีดีกว่าตรงที่ใส่ไข่ได้ด้วย เอ๊ย ไม่ใช่ ตรงที่สามารถสร้างลิงค์ของเนื้อหาในบล็อก กับบล็อกอื่นๆ ที่มีเนื้อหาเกี่ยวข้องกันโดยอัตโนมัติ โดยดูจากเนื้อหาที่ผ่านการตัดคำภาษาไทยมาแล้ว ให้น้ำหนักมากขึ้นสำหรับคำที่เป็น tag เข้าใจว่าตอนนี้กำลังหา beta tester อยู่นะครับ สนใจติดต่อ @kengggg หรือ @pphetra
ต้องขอแบ่งออกเป็นส่วนๆ ละครับ ตามหลัก release early, release often เพราะวันนี้ตาจะปิดอยู่แล้ว ยังมีเรื่องดีๆ อีกมากไว้จะมาเล่าให้ฟังอีกนะครับ
Bitmap Index เป็นอินเด็กซ์แบบหนึ่งซึ่งเริ่มมีใช้ตั้งแต่ Oracle 7.3 เป็นต้นมา โดยมีลักษณะสำคัญคือมีอัตราการบีบอัดข้อมูลที่สูงมาก ทำให้เหมาะต่อการใช้งานด้านดาต้าแวร์เฮาส์ และ OLAP มากกว่าอินเด็กซ์แบบ B-Tree ที่รู้จักกันโดยทั่วไป
ลักษณะของ Bitmap Index
Bitmap index ถูกออกแบบมาให้ใช้สำหรับคอลัมน์ที่มีลักษณะ low cardinality หรือมีค่าที่เป็นไปได้สำหรับคอลัมน์นั้นจำนวนน้อยๆ เมื่อเทียบกับจำนวนเรคอร์ดในตารางนั้น สัดส่วนจำนวนค่าที่เป็นไปได้ของคอลัมน์เทียบกับจำนวนเรคอร์ด เรียกว่า cardinality คอลัมน์ที่มี cardinality = 0.4% หมายความว่า ในตารางขนาด 1000 เรคอร์ด คอลัมน์นั้นมีค่าที่แตกต่างกัน 4 ค่า
Bitmap Index เหมาะอย่างยิ่งกับการใช้ร่วมกันคอลัมน์ที่ มี caridnality ต่ำๆ เช่น 0.2% - 1% เป็นต้น อินเด็กซ์ที่ถูกสร้างขึ้นจะประกอบด้วยบิทต่างๆ เพื่อให้แทนค่าในคอลัมน์ที่ถูกทำอินเด็กซ์ของแต่ละแถว ตัวอย่างเช่น คำสั่ง
create bitmap index person_region on person (region);
จะสร้างอินเด็กซ์ในลักษณะเช่นนี้
Row Region North East West South
1 North 1 0 0 0
2 East 0 1 0 0
3 West 0 0 1 0
4 West 0 0 1 0
5 South 0 0 0 1
6 North 1 0 0 0
ข้อดีของ Bitmap Index
- เรียกใช้งานได้รวดเร็วกว่า ทั้งนี้เนื่องจากการทำงานจะใช้ bitwise operator หรือการจัดการข้อมูลเป็นบิท ซึ่งจะทำงานได้เร็วกว่าการเปรียบเทียบทางคณิตศาสตร์โดยทั่วไป
- ขนาดของอินเด็กซ์เล็กกว่า B-Tree index มาก เนื่องจาก Bitmap มีลักษณะการบีบอัดที่สูงมาก ดังนั้นจึงใช้เนื้อที่ในการเก็บอินเด็กซ์เล็กด้วย bitmap index อาจจะมีขนาดเพียงแค่ 1% (1 ใน 100) เทียบกับขนาดของ B-Tree index ก็ได้ แต่อย่างไรก็ตาม การประหยัดเนื้อที่ดิสก์ไม่ควรจะเป็นเหตุผลหลักในการเลือกใช้ bitmap index เพราะยังมีผลกระทบหรือข้อควรพิจารณาอย่างอื่นด้วย
ข้อเสียของ Bitmap Index
- Bitmap Index จะต้องใช้กำลังการประมวลผลจาก CPU สูงมากหากต้องมีการ insert หรือ update ข้อมูลในตาราง เพราะจะต้องทำการอ่านอินเด็กซ์ นำมา decompress เปลี่ยนแปลงค่าอินเด็กซ์แล้ว compress กลับไปเก็บไว้ในดิสก์อีกครั้ง ดังนั้นจึงไม่เหมาะอย่างยิ่งสำหรับตารางที่มีการเปลี่ยนแปลงข้อมูลบ่อยๆ แต่จะเหมาะสำหรับตารางที่เป็น read-only
เมื่อไหร่ควรจะใช้ Bitmap Index
แนวทางในการพิจารณาว่าควรจะใช้ Bitmap Index แทนที่ B-Tree Index หรือไม่ ประกอบด้วย
- ตารางนั้นมีการ insert/update ข้อมูลบ่อยเพียงใด หากมีการเปลี่ยนแปลงข้อมูลบ่อยมากๆ อย่างเช่นในระบบที่ทำงานแบบ online real time ที่มีการเปลี่ยนแปลงสถานะของข้อมูลบ่อยๆ การใช้ bitmap index จะส่งผลให้เกิดภาระต่อ CPU ในการ update index สูงกว่า B-Tree Index แต่สำหรับในระบบดาต้าแวร์เฮ้าส์ที่ข้อมูลไม่มีการเปลี่ยนแปลงเลย หรือเปลี่ยนน้อยมากๆ จะเหมาะกับใช้ bitmap index มากกว่า
- ตารางนั้นมีค่า cardinality มากน้อยเพียงใด ดังที่ได้อธิบายไว้ก่อนหน้านี้แล้ว cardinality ของตารางยิ่งต่ำ ยิ่งเหมาะที่จะทำ bitmap index หาก cardinality ของตารางมีค่าสูงกว่า 1% ก็ไม่ควรทำ bitmap index บนตารางนั้น หากคุณเคยมีประสบการณ์ในการสร้างอินเด็กซ์บน OLTP (Online-Transactional Processing) มาก่อน คงอาจจะสงสัย เพราะหลักเกณฑ์ในการสร้างอินเด็กซ์แตกต่างกัน ในระบบ OLTP คอลัมน์ที่ควรจะสร้างอินเด็กซ์ ควรจะมี high cardinality อาทิเช่น order id, หรือ row id เป็นต้น เพราะระบบ OLTP สนับสนุนการ insert/update และ delete ข้อมูลเป็นหลัก ในขณะที่ระบบสนับสนุนการตัดสินใจเช่นดาต้าแวร์เฮ้าส์ ซึ่งเหมาะจะใช้ bitmap index มากกว่า จะเน้นไปที่ความรวดเร็วในการเข้าถึงและเรียกค้นข้อมูล และไม่มีการเปลี่ยนแปลงข้อมูลมากนัก
หวังว่าความรู้เบื้องต้นเกี่ยวกับ bitmap index คงเป็นจุดเริ่มต้นให้ทำความเข้าใจฟีเจอร์ที่มีประโยชน์นี้ได้บ้าง ใครเคยมีประสบการณ์ในการทำงานกับ bitmap index ก็มาเล่าสู่กันฟังบ้างนะครับ