[Digital Thailand] How Google Thinks About Developing a Culture of Innovation

วันเสาร์ที่ผ่านมา ผมได้ไปงาน Digital Thailand โดยผมขอแตก Blog นี้ ออกมาจาก Blog หลักนะครับ โดยเรื่องที่ผมกำลังเขียนต่อไปนี้ เป็นเรื่อง How Google Thinks About Developing a Culture of Innovation” โดยคุณ Ben King, Country Head of Google Thailand ครับ ช่วงแรกเป็นการแนะนำบริษัทก่อนครับ ตอนนี้ Google หรือ Alphabet ในปัจจุบันครับ เข้าสู่วัยรุ่นและ อายุ 18 ปี นับจากที่ผู้ก่อตั้งทั้ง 2 คน Larry Page และ Sergey Brin ครับ ในโรงรถครับ (บริษัทยักษ์ด้าน IT ในปัจจุบัน มักเกิดจากโรงรถครับ อย่าง Micorsoft กับ Apple ครับ) แรกเริ่มที่มีพนักงาน 4 ครับ จนถึงปัจจุบัน ที่มีอยู่ 60,000 กว่าคนทั่วโลกครับ โดยมี 6 Platform มี่ต้องดูแลครับ Culture and innovation High-performance ways of working Talent acquisition & retention  ปิดท้ายด้วยคำพูดของคุณ Larry Page ครับ “If you’re not doing some things that are crazy , then you’re  doing the wrong things.”

[Digital Thailand] สรุปจากงาน Digital Thailand 2016 ครับ

คืนวันศุกร์ หลังจากปั่นงานเสร็จ ผมลองหาๆดูว่าวันเสาร์จะไปทำอะไรดี พอดีเจองาน Digital Thailand ที่ศูนย์ประชุมแห่งชาติสิริกติ์ครับ พอไปดูงานสัมมนาในวันเสาร์มีเรื่องที่น่าสนใจหลายเรื่องครับ อาทิ เช่น Google คิดอย่างไรกับการสร้างนวัตกรรม และการนำ Big Data เช้ามาประยุกต์ใข้กับงาน เป็นต้นครับ และก็วันนี้มีจัดการหลายงานด้วยนะครับ ถ้าเบื่อแล้วก็สามารถเปลี่ยนไปชมงานอื่นๆได้ครับ เริ่มกันเลยดีกว่า หลังจากลองเดินทางแบบประหยัด โดยนั่งรถเมล์ 149 จากบ้านมาแทนครับ แล้วเดินอีกนิดนึง แทนที่จะนั่งรถเมล์สาย 40 แล้วไปต่อ MRT ครับ เวลาไม่ต่อกัน แต่ค่าใช้จ่ายลดไปเยอะเลย เมื่อมาถึงงานมีให้ลงทะเบียนครับ ในส่วนนี้ผมคิดว่าระบบ OK นะครับ ของตัว ZipEvent ครับ ถ้าลงทะเบียนมาจากเว็บแล้ว สามารถใช้มา Print QR Code เพื่อใช้ลงชื่อเข้างานใน Session ต่างๆครับ คล้ายกับ Project ที่เคยส่งประกวดตอนปี 2 เลย แต่ของผมจะใช้ RFID ในช่วงแรกผมได้เข้า Session ต่างๆ ดังนี้ครับ ที่จัดในห้องสัมมนา Lotus ถ้าเราอยู่กับที่ หรือก้าวถอยไป ศักยภาพของการแข่งขันของประเทศเราจะลดลง เมื่อเทียบประเทศอื่นที่มีการพัฒนาอย่างต่อเนื่องครับ ดร.ทวีศักดิ์ กออนันตกูล หลังจากทานของว่างเสร็จ ตอนแรกนึกว่าจัดให้เฉพาะวิทยากรเท่านั้น ฮ่าๆ ต่อมาผมเข้าไป Plenary Hall ครับ ในนี้มีหน่วยงานต่างๆ ทั้งภาครัฐ และเอกชนมาเปิดบธครับ โดย แบ่งเป็นกลุ่มได้ ดังนี้ ท้ายที่สุดเป็นของที่ระลึกจากงานครับ ตอนแรกนึกว่าเป็นพวกกุญแจ แต่ที่จริงแล้วเป็น Handy Drive ครับ 8GB และเสริมอีกนิดนึงสำหรับการฟัง Session ที่บรรยายเป็นภาษาอังกฤษ เราสามารถขอเครื่องช่วยแปลได้ครับ โดยแลกบัตรประชาชนเก็บไว้ครับ แต่แนะนำให้ฟังภาษาอังกฤษดีกว่าครับ ฝึกภาษาครับ

แนะนำหนังสือ Your Code as a Crime Scene

ก่อนอื่นขอเล่าประวัติหนังสือเล่มนี้ก่อน ช่วงกลางเดือนมีนาคม ผมมี Idea ที่จะลองศึกษาอะไรใหม่ๆในวันอาทิตย์ ไม่ว่าจะเป็นอ่านหนังสือ ดู Video หรือ อื่นๆ ดีกว่าเอาเวลาไปปั่นงานที่เกิดจากความผิดพลาดของการบริหารโครงการ ฮ่าๆ วันนั้นผมได้ไปร้านหนังสือ Kinokuniya และก็สะดุดกับหนังสือเล่มนี้ครับ Your Code as a Crime Scene  ของคุณ Adam Tornhill หนังสือเล่มนี้พอซื้อมาเสร็จเป็น Crime Scene ทันที่ครับ หนังสือหายไปกับโครงการ 5 ส ที่ Site งานลูกค้า ย่านสะพานควาย ผมเพิ่งซื้อใหม่ทดแทนเป็นของขวัญวันเกิดวันที่ 23 เมษายน ครับ สำหรับ Your Code as a Crime Scene พอได้เห็นชื่อหนังสือนี้เสร็จ ภาพของ CSI นี่โผล่มาเลยครับ ลองมาดูที่ Code ของเราบ้าง คุณเคยเจอปัญหานี้ไหม มีคนไปแก้ Code ที่เป็น Core ของระบบ แล้วบึ้มไปโดน Module อื่นๆ ใครเป็นคนที่ทำ Code ให้มีพฤติกรรมที่ต่างไปจากเดิม ทำไม Code ถึงกลายพันธุ์ แล้วมันเริ่มที่ไหนหละ ? Code Module นี้ โครตเยอะ แต่มีการเรียกใช้งานมันไหม หรือเป็นมรดก จากยุคดึดำบรรพ์ (Legacy Code) เราจะสังเกตุได้อย่างไร ว่า Code ที่มีทีมงานเข้ามายุ่งหลายๆส่วน ส่วนไหน มันจะเป็นความเสี่ยงที่เราต้องสนใจ และ Test เป็นพิเศษ มาดู Keyword ของหนังสือ เล่มนี้ดีกว่า โดยหนังสือเล่มนี้จะเสนอ Idea โดยเอา Forensic Psychology มาใช้กับ Code ครับ แนว CSI สืบจากศพ มาเป็นสืบจาก…

Workaround Solution กับ Technical Debt

ก่อนอื่นของกล่าวถึงคำว่า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เฉพาะกิจครับ เช่น ระบบจำเป็นต้องต่อกับระบบ Network ผ่านสายแลน เนื่องจากต้องการความเสถียร และความเร็ว แต่ที่โต๊ะ User ยังไม่มีการติดตั้งระบบ Networkทางทีมเสนอให้ใช้ Wireless ไปก่อน เป็นต้นครับ ถ้านึกภาพไม่ลองออกไปดูพวก Trust me I am Engineer ก็ได้ครับ ฮ่าๆ ในแง่ของการพัฒนา Software ก็มีเหมือนกัน เจ้า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เพื่อลดเวลา หรือความยุ่งยากในการพัฒนาครับ ซึ่งส่งผลกระทบโดยตรงกับ Code และตัวระบบครับ ที่มาของการ Workaround ที่ผมเข้าใจนะ มี 2 แบบ ดังนี้ เกิดจากทีมพัฒนา เมื่องานมันเร่ง โดยมีตัวเลขค่านึง ที่ระบบต้องคำนวณ โดยมีสูตร A และสูตร B ตัว สูตร A มีคนทำไว้แล้ว พองานมันเร่ง และ BA ก็บอกว่า ลูกค้าไม่มีทางที่ต้องใช้สูตร B คิด SA และ Dev เลยตัดสินใจให้งานมันเร็ว เขียน Code ให้ใช้สูตร A แก้ปัญหาไปก่อน เพื่อให้ UAT ผ่าน แต่มัน คือ ระเบิดเวลาดีๆนั่นเองครับ เกิดจาก User บ้าง การใช้ระบบผิดวัตถุประสงค์ อันนี้เจอมากับตัวเลย ระบบงานที่ต้องมีการยุ่งกับเงินสกุลต่าประเทศ สิ่งที่มาคู่กับมันเสมอ คือ อัตราแลกเปลี่ยน (Exchange Rate) แต่เจ้าอัตราแลกเปลี่ยน มันมีมากหลายแห่ง (Price Source) เช่น Reuters, Bloomberg’s และ ธนาคารแห่งประเทศไทย (BOT) เป็นต้น…

[Spring 4.x] Overview กันสักหน่อย

จาก Blog ในตอนที่แล้ว เราได้ใช้ Spring ไปแล้ว หลายคนอาจจะใช้แบบไม่รู้ตัวก็ได้ครับ ที่นี้เรามาดูภาพรวมของ Spring ดีกว่า ว่ามันมีอะไรบ้างครับ Spring ไม่ได้เกิดมาเพื่อทำเว็บอย่างเดียวนะครับ โดยที่เรารู้จักกันเยอะเป็น Spring MVC กลับมาที่ Spring ดีกว่าครับ Spring มันเป็น Framework  ที่เกิดจากความโหดร้ายของ EJB ใน J2EE ครับ อาทิ เช่น ไม่ต้องการ App Server ตัวใหญ่ๆ การ Implement ที่ต้องเขียน Code เยอะแยะ Code ผูกกับตัว EJB มาเกินไป และอื่นๆ โดยคุณ Rod Johnson ได้สร้าง Framework ที่ Lightweight  ซึงนำเสนอพร้อมกับหนังสือ Expert One-on-One J2EE Design and Development ครับ โดยมีแนวคิดคร่าวๆ ดังนี้ Container Invasion of Control(IoC) โดยใช้แนวคิด Dependency Injection(Di) POJO (Plain Old Java Object) แก่นหลักที่คุณ คุณ Rod Johnson  คือ ตัว Spring Core (Blog ตอนก่อนหน้าเราก็ใช่เท่านี้ครับ) ที่พัฒนาออกมาในช่วงแรกครับ โดยมีชุมชนพัฒนา-เติมส่วนเสริม (Extension) ตามที่ระบบเราต้องการได้ครับ ไม่จำเป็นต้องใช้ทั้งหมด นี่แหละ Lightweight Spring Core มันมีสิ่งที่เราต้องรู้จัก ดังนี้ POJO (Plain Old Java Object) Container Dependency Injection(Di)…

[CR] Sushi Express Terminal 21

ผมเจอร้านนี้จากใน Twitter ครับ เห็นโปรช่วงแรกจานละ 20 มวลมหาประชาชนล้นหลามมากครับ ผมเลยไม่ไปครับ รออีกโปรดีกว่าครับ 5 จาน แถม 1 จาน ครับ แต่ราคาจานละ 30 บาทนะครับ วันนี้จริงก็กะจะไปกิน Food Court Pier21 มากกว่าครับ หลังจากเดินมาราธอนในงาน Mobile Expo มาครับ และวันนี้ก็หิวด้วย เพราะ ยังไม่ได้กินอะไรเป็นมื้อจริงๆจังๆเลย มีแต่นมกับผลไม้ครับ พอเห็นร้านโล่งๆนี่ เข้าทางผมเลยครับ กินชิวๆ ไม่ต้องมีแรงกดดันครับ โปรก็อันนี้เลยครับ  5 จาน แถม 1 จาน ครับ แต่ราคาจานละ 30 บาท ผมเข้าใจว่าคนน้อย เพราะ ยังเข้าใจว่า 20 บาท แล้วอารมณ์เสียครับ อันนี้ความเห็นส่วนตัวนะครับ เพื่อนผมก็บ่นครับ หลังจากเข้าร้านมาแล้วมาดูบรรยากาศในร้านดีกว่าครับ บรรยากาศในร้านครับ สวนใหญ่เป็นที่นั่งเดี่ยวครับ มีราง Sushi วนไปครับ แต่มีที่นั่งสำหรับ 4 คนด้วยครับ จากข้อแรกอันนี้ ภาพในหัวจากโคนัน ตอนปริศนาซูชิจานเวียน หายไปเลย ตอนแรกผมเข้าใจว่ามีหน้าจอให้สั่ง Sushi แบบพิเศษ และที่จานมี Tag RFID ไว้ช่วยนับครับ ที่เข้ากินร้านนี้ เพราะเข้าใจว่าเหมือนโคนัน 555 พอมาถึงที่โต๊ะครับ มาดูสิ่งที่ทางร้านเตรียมไว้ให้ดีกว่า กล่องอุปกรณ์ อันนี้ผมเรียกเองนะครับ โดยมี แก้วน้ำชา : หมายเลข 1 น้ำจิ้ม Sushi : หมายเลข 2 ถ้วยน้ำจิ้ม ไม้จิ้มฟัน : หมายเลข 3 ตะเกียบ : หมายเลข 4 ชาถุง รสชาติใช้ได้เลยครับ : หมายเลข 5 ก๊อกน้ำร้อนครับ เอาไว้ชงชากินเองครับ…

[Spring 4.x] Hello World in Console

หลังจาก Blog ตอนแรกที่เตรียม Tools กันไปแล้ว คราวนี้มาลองสิ่งที่ Developer ทุกคนต้องเจอกัน Hello World ครับ โดยผมมาพาทำในรูปแบบ Console Application ครับ หาาาา Spring มันทำเว็บนี้ มันต้องมีคนอุทานแน่ๆ แต่จริงๆ Spring มันเป็น Platform นึงครับ ส่วนของเว็บของ MVC เป้น SubSet ใน Spring ครับ เริ่มกันเลยดีกว่า ขั้นแรกสร้าง Maven Project ขึ้นมาครับ ให้มันเตรียมพวกไฟล์ Pom.xml และ Lib ที่จำเป็นมาให้ เข้าเว็บ Google หา Spring Latest Version หรือไม่ก็เข้าไปลิงค์ที่ผมให้มาครับ สิงที่เราต้องการ คือ พวก Dependency เอาไปแปะในไฟล์ Pom.xml เลยครับ org.springframework spring-context 4.2.6.RELEASE แปะแล้ว Save File ครับ เดี๋ยวตัว IDE มันจะไปดึง Lib ที่เกี่ยวข้องมาให้ครับ ตอนนี้แล้วเรามาดูโครงสร้าง Project กันดีกว่าครับ มาเจาะลงทีละไฟล์ครับ สร้าง POJO Interface และ Class กันครับ Interface package com.debuggingsoft.HelloConsoleWorld.domain; public interface HelloConsoleWorld { void sayHello(String name); } Implement package com.debuggingsoft.HelloConsoleWorld.domain; public class HelloConsoleWorldImpl implements HelloWorld{ public void sayHello(String name) {…

[Spring 4.x] กลับมา Spring อีกครั้ง

หลังจากข้ามสายไปฝั่ง M$ นานเลยย (หลังๆคงไม่มีใคนเขียน M$ แบบนี้แล้ว บริษัทไปในทางบวกมากขึ้น ยกเว้น Mobile) พอ Project Treasury ที่คาดว่าจบตาม Timeline ไม่รวมงาน End-Phrase ครับ !!! ผมพยายามคืนเวลาว่างให้ตัวเอง เพราะ เสียเวลาไปพอสมควรกับการ Estimate เวลาที่ผิดพลาด โดยมาลองรื้อฟื้น Spring ที่เคยเขียนมาเมื่อนานมาแล้วครับ เข้าเริ่มดีกว่า มาดู Tools ที่ผมใช้ดีกว่า Java 8 ++ : ไม่ต้องอธิบายนะครับ Spring Tool Suite(STS) : มันเป็นร่างอวตารของ Eclipse ครับ โดยปรับแต่งมา เพื่อให้ใช้กับ Spring Framework ได้ง่ายขึ้นครับ เลือก bit ดีๆนะ ว่าจะเอา 32 bit หรือ 64 bit หลังจากนั้น เราพร้อมลุยเลยครับ  หวังว่าจะมีเวลาเขียน Blog นะ    

BonChon @ Central Pinklao

หลังกจากนั่งแกะ Code ระบบงานเก่ามาเช้า ถึงบ่าย มาราธอนเลย (แต่จริงๆก็ไม่นะ มีวิ่งไล่จับตะขายอยู่ชั่วโมงนึง) หลังจากที่ทำงานตามเป้าหมายแล้ว ท้องว่างมาตั้งแต่เช้า หลังจากกินขนมปังไปชิ้นเดียว ผมเลยตัดสินใจไปกินไก่ BonChon สาขาเซ็นทรัล ปิ่นเกล้า มารอบแรก เจอคิวไปเลย 30 คิวครับ แนะนำให้จองก่อนครับด้วย Application Queq ครับ โชคดีที่ผมเตรียมงานมาด้วยเลยเดินสายอัพ Book Bank และสอบถามเรื่องบัตรชิพ ที่ BOT ให้เปลี่ยนครับ และดูหนังสือไปเรื่อยๆ หาอ่านพวก CU-TEP เตรียมสอบอีกรอบไว้เรียน ป โท หนัาครับ หลังจากรอคิวมาประมาณ 40 นาที ได้คิวสักที สั่งแล้วครับ ชุดเล็กสำหรับคนตัวเล็ก 150 บาทครับ ไก่กรอบ เข้มข้น นุ่มมมม (กินเยอะไปก็เลี่ยนครับ) รอประมาณ 10 นาที มาแล้วครับ อร่อยยยยยยย  

[Steak] Hungry Nerd

หลังจากทำงานเหนื่อย ขึ้นงาน Product วันเงินเดือนออก ส่วนใหญ่ ผมและน้องๆที่ทำงานมันจากมาหาะไรหม่ำๆกันครับ ตัวเลือกแรกของผม คือ ปิ้งย่าง, Steak ครับ ในโครงการ CoCo Walk ที่ BTS ราชเทวี มีร้าน Steak ที่ราคาย่อมเยาว์ บริการดี พนักงานน่ารัก (คนใส่แว่น หน้าตาออกแขกๆ น่ารักครับ) สำหรับร้าน Steak เมนูโดดเด่นคงไม่พ้น สเต็ก เพราะ 80% ของเมนูคือ สเต็ก อีก 20% ที่เหลือเป็นของทานเล่น Appetizers , Soups , Salads , Burgers แล้วก็ไอศครีมครับ ลองดูภาพได้จาก Gallery ได้เลยครับ โดยเมนูที่ผมแนะนำ Steak จากใหญ่ 499 ครับ เหมาะสำหรับ 2-3 คนครับ ทานคู่กับซุปเห็ดนี่ โอเคเลยครับ กินเสร็จวิ่งแหลกก ฮ่าๆ ตำแหน่งร้านดูได้จากแผนที่ครับ