โลกจะพัฒนาเพราะการแข่งขันไม่ใช่การชนะแบบเบ็ดเสร็จ

ผมเคยเขียนเรื่อง WebKit != W3C ไปเมื่อหลายเดือนก่อน หลังจาก Opera หันมาใช้ WebKit ไปก่อนหน้านี้

แต่เมื่อไม่กี่วันก่อน Google ได้ fork ตัว WebKit ออกมาเป็น Blink ต่างหาก และจะถูกใส่กลับเข้ามาใน Chrome ในอนาคตอันใกล้นี้ (คาดว่าไม่เกิน 10 อาทิตย์ต่อจากนี้) โดยเหตุผลทั้งในเรื่องของความง่ายต่อการควบคุมและใส่คุณสมบัติใหม่ๆ โดยไม่ต้องรอ Apple ซึ่งเป็นเจ้าของ WebKit โดยตรงเห็นชอบทั้งหมด แม้ว่า open source community จะมีขั้นตอนและฝ่ายที่เกี่ยวข้องเยอะ แต่หลักๆ คงเป็นเจ้าของหลักหรือทีมหลักซึ่งในที่นี้คือ Apple นั้นเอง ซึ่งหลายคนไม่ทราบว่า WebKit เป็น layout engine ที่ open source โดย Apple ซึ่งจริงๆ มันเป็น layout engine ของ Safari อยู่ก่อนแล้ว

จากเหตุการณ์ทีเกิดขึ้น ผมยังยืนยันว่าการพัฒนาเว็บควรยืนตาม W3C HTML5 เป็นสำคัญ แล้วจึงปรับตาม layout engine ในแต่ละตัวในภายหลัง ซึ่งการใช้ layout engine เป็นหลักสักตัวเป็นเรื่องดี แต่ไม่ใช่ข้ออ้างในการทำเว็บเพื่อสนับสนุนเพียง layout engine เดียว เพราะนั้นทำให้คุณปิดโอกาสในการเข้าถึงและใช้งานของกลุ่มผู้ใช้อีกกลุ่มได้ง่ายมากในโลกของอินเทอร์เน็ตที่มีความหลากหลายของ layout engine ที่มากกว่าเดิมอย่างมากในตอนนี้ ความหลากหลายที่ว่านี้ไม่ใช่แค่ Desktop/Notebook Computer แต่เป็น Mobile Device ต่างๆ ที่มีความหลายหลากด้วย ซึ่ง layout engine ยุคใหม่ในตอนนี้ทุกตัวทำตามมาตรฐาน W3C HTML5 เป็นหลักอยู่แล้ว (ซึ่งจะมากน้อยว่ากันอีกที)

ส่วนตัวแล้วนั้น ตอนนี้โลกอยู่ในยุคของสงคราม Web Browser ครั้งที่ 2 อย่างไม่ต้องสงสัยอีกครั้ง ซึ่งในตอนนี้เป็นโอกาสที่ดีที่เว็บต่างๆ จะอาศัยช่วงนี้พัฒนาและใช้ความสามารถที่หลากหลายเหล่านี้ให้เป็นประโยชน์ และผมเชื่อว่ากลุ่มนักพัฒนา layout engine ต่างๆ ในตอนนี้ไม่มีทางที่จะหยุดพัฒนาและทำให้ตัวเองมีความสามารถที่ล้าหลังคนอื่นได้นานมากนัก เพราะฉะนั้นยึดตามมาตรฐานเปิดจึงดีที่สุด (นี่ผมยังไม่ได้พูดถึง JavaScript Engine ที่แข่งกันอีกส่วนเช่นกัน)

โดยในตอนนี้ 3 ค่าย layout engine หลักของโลกคือ Trident engine – Internet Explorer, Gecko engine – Firefox และ WebKit – Safari, Opera, Chrome กำลังมีการเปลี่ยนแปลงในอนาคตอันใกล้นี้ โดยมี Blink ที่จะถูกใส่ลงมาใน Chrome, Servo ที่เป็นส่วนที่ถูกพัฒนาใส่ลงใน Firefox Mobile (ยังไม่แน่ว่าจะลง Firefox ตัวหลักหรือไม่) และ WebKit2 ซึ่งจะถูกใช้ใน Safari รุ่นต่อไป ซึ่งทั้งหมดนี้กำลังเพิ่มเติมเข้ามาอีกภายในปีนี้แน่นอน

จากที่เขียนมายืดยาวนั้น ยังคงยืนยันว่านักพัฒนาเว็บไม่ควรมักง่ายเพียงเพื่อความสะดวกสบายแบบแต่ก่อนครั้งยังใช้ IE6 และเราเรียกร้องกันเหลือเกินให้ใช้และทำตามมาตรฐาน W3C และตอนนี้มาตรฐานเปิด W3C HTML5 ก็เป็นสิ่งที่กำลังไปได้ดี (แม้จะช้าบ้าง มีการเมืองบ้าง แต่ผมถือว่ามันจะมั่นคงในอนาคต) ส่วนตัวผมไม่อยากให้ WebKit กลายเป็นกรณีเดียวกับ IE6 แห่งโลก Web สมัยเก่าก่อน (ผมไหว้หล่ะ) เพราะผมเชื่อว่ามันไม่ใช่ทางออกที่ดี และยังเชื่อว่า “โลกจะพัฒนาเพราะการแข่งขันไม่ใช่การชนะแบบเบ็ดเสร็จ”

ข้อคิดชีวิตการทำงานไอทีในวงราชการกว่า 10 ปี จากมิตรสหายท่านหนึ่ง

มิตรสหายท่านหนึ่งขอให้ช่วยโพสให้ในอีกมุมมองหนึ่งของการทำงานไอทีในวงราชการ

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

  1. การย้ายหน่วยงาน (กรม ทบวง กระทรวง) ไม่ได้ช่วยให้เงินเดือนคุณขึ้นเร็วขึ้น
  2. การขึ้นเงินเดือนน้อยครั้งที่จะพิจารณาถึงผลงานของคุณ แต่พิจารณาว่าคุณเด็กใคร (เจ้า)นายคุณขอให้หรือป่าว
  3. คุณทำงานมากแค่ไหน ทำดึกดื่น ด่วนชิบหาย อย่างไร ผลตอบแทนที่ได้กลับมา ก็กลับไปดูข้อ 2
  4. เป็นทุกที่ที่คนเสนอหน้า และทำงานด้วยปากจะได้ดิบได้ดี
  5. จงจำไว้ว่า ลิ้นไม่มีกระดูก เมื่อคุณได้ยิน คำชม คำสัญญา หรือคำแนะนำทางกฏหมายใดๆ ไม่มีผลผูกพันกับคนพูด  ดังนั้นเมื่อทำอะไร ปรึกษาอะไร ให้ทำเป็นหนังสือ และมีลายเซ็นครบถ้วน
  6. ในทางกลับกัน ลายเซ็นของคุณมีค่า เมื่อใครก็ตาม ที่มาขอให้คุณเซ็นเอกสารให้ จงจำไว้ว่ามันจะผูกพันคุณจนวันตาย แม้ออกจากราชการไปแล้วก็ตาม
  7. นโยบายปากเปล่า ปฏิบัติตามได้ แต่ควรพิจารณาว่าขัดต่อศีลธรรม หรือระเบียบราชการหรือไม่ เพราะเมื่อมีการสอบวินัย(สอบสวน) เขาจะพิจารณาจากลายลักษณ์อักษร เว้นแต่คุณจะมีรายการบันทึกเป็นคลิปวีดีโอ
  8. คุณต้องไม่กล้วที่จะโดนย้าย เพราะถึงแม้คุณโดนย้าย เงินเดือนคุณก็ได้เท่าเดิม การพิจารณาเพิ่มเงินเดือน ก็ไม่ต่างจากเดิม เว้นแต่ว่าคุณสามารถหาประโยชน์จากตำแหน่งของคุณได้
  9. ค้ำประกันเงินกู้ ควรจะค้ำเฉพาะคนที่เขาค้ำให้เรา เพราะราชการเข้าถึงแหล่งเงินกู้ได้มหาศาล และจงทำหลักฐานที่ชัดเจน ว่าค้ำเฉพาะเงินกู้ วงเงินเท่าไหร่ กู้ครั้งไหนให้ชัดเจน
  10.  การขวนขวายหาความรู้ คุณสามารถไปเรียนฟรี เที่ยวฟรีต่างประเทศ ถ้าคุณเก่งภาษาอังกฤษ และ(เจ้า)นายอนุญาต
  11. เมื่อคุณไปคุยว่าคุณจะย้ายงาน เขาจะไม่ให้คำสัญญาอะไรกับคุณเลย แต่เขาจะถามว่า ส่งมอบงานให้เรียบร้อย
  12. เพื่อนร่วมงานมีหลายประเภท ทั้งร่วมหัวจมท้ายเพื่องานสำเร็จลุล่วง ทั้งงานไม่ช่วยแต่ขัดตลอด หรือแม้กระทั้ง ไม่ช่วยไม่ขัด แต่ขอรับแต่ชอบ ไม่ขอรับผิดก็มี จงเลือกคบให้ถูกคน
  13. ไม่ว่าคุณจะจบโท จบเอก ในด้านคอมพิวเตอร์ก็ตาม ถ้าคุณ ระดับ(ยศ) ต่ำกว่า อาวุโสน้อยกว่า คำเสนอของคุณจะตกไป
  14. การเล่นเส้นสาย เป็นสิ่งที่คุณต้องยอมรับ เพราะเมื่อ(เจ้า)นายจะเลือกใคร ดำรงตำแหน่งไหน ต่อให้คุณเก่งที่สุดในประเทศ แต่เขาไม่รู้จัก คุณก็จะไม่มีทางก้าวหน้า
  15. คำว่าเด็กนาย ไม่เราเป็น เขาก็เป็น ดังนั้น จงวางตัว อย่าไปกวนตีนใคร
  16. จงศึกษาระเบียบ ข้อกฏหมาย ให้ครบถ้วน หากสงสัย ให้ปรึกษา กพ. และจงอย่าไว้ใจ นักกฏหมายในหน่วยงานคุณ ตราบเท่าที่เขาเหล่านั้นไม่ตอบข้อปัญหาด้วยหนังสือ
  17. วันลา ป่วย ลากิจ ลาพักร้อน ใช้ซะ อย่ากลัวว่าน่าเกลียด สงกรานต์ ปีใหม่ ตรุษจีน จัดไปอย่าให้เสีย
  18. ระเบียบ ข้อกฏหมาย ความซ่ื่อสัตย์ จะช่วยปกป้องคุณได้ เว้นลูกปืน

Drupal in the Cloud with Windows Azure, SlideShare

ข้อมูลบางหน้าของ Slide ที่จัดทำนั้นบางส่วนนำมาจาก Slide ของ Micrsooft เองด้วย เพื่อความรวดเร็วในการจัดทำและเข้าใจตรงกัน พูดใช้เวลาประมาณ 1 ชั่วโมงกว่าๆ และ demo อีก 4 ส่วน

เรื่องเล่าต่อจาก รายงานพิเศษ: Thai Programmer Crisis (แบไต๋ไฮเทค)

จริงๆ ผมพูดและนำเสนอความคิดในรายงานนี้ไปเยอะนะ แต่คงเพราะเวลาในการออกมีน้อยเพียง 5 นาที แถมมีส่วนที่ทำสรุปไว้แล้ว เลยได้ออกบางส่วนไม่ได้ทั้งหมด ผมเข้าใจได้นะ เพราะประเด็นมันเยอะมาก จนคนมานั่งฟังคงร้องบอกว่า “เออ พอเหอะ กูเข้าใจแล้ว”

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

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

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

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

แน่นอนว่าขึ้นชื่อว่า “ไอที” โลกของมันมีการเปลี่ยนแปลงอยู่ตลอดเวลา เพราะฉะนั้นงานสายงานอาชีพนี้ต้องพัฒนาตัวเองตลอดเวลา ไม่ใช่อยู่ไปวันๆ ได้ ส่วนตัวผมเองนั้น ทุกๆ วันหลังจากทำงาน ก็ต้องมานั่งอัพเดทตัวเอง เพื่อหาวิธีการแก้ปัญหาใหม่ๆ ที่ดีมากขึ้นหรือต้องเช็คว่าตัวซอฟต์แวร์ที่เรากำลังพัฒนาอยู่นั้น ในบางส่วนของระบบมีช่องโหว่หรือความผิดพลาดอะไรหรือไม่จากการเจอ bug จากส่วนพัฒนาที่ต่อยอดออกมา และรวมไปถึงแนวคิดใหม่ๆ ที่ทำให้เราทำงานได้ง่ายมากขึ้น ซึ่งทำให้งานนั้นออกมาเร็วทันใจลูกค้าด้วย

สุดท้าย นี่ไม่ใช่การบอกว่าสายอาชีพนี้ทำงานหนักที่สุดในโลกหรอก โลกนี้ยังมีงานอีกมากมายที่หนักกว่านี้เยอะ รับความเสี่ยงมากเดี่ยวเช่นกัน แต่นั้นไม่ใช่หมายความว่าเราจะไม่เอาปัญหาของสายอาชีพของเราออกมาตีแผ่หรือมานั่งคิดว่า “ทำไม” มันถึงเกิดปัญหาขาดแคลนหรือคนไม่อยากทำงานในสายอาชีพนี้ เพราะถ้ามันมีปัญหาและไม่ตีแผ่ออกมาแล้วซุกมันไว้ มันก็จะเป็นอย่างเดิม (เหมือนมี bug แต่ไม่ยอมแก้ ปล่อยๆ มันไปแบบนั้น) ผมเชื่อว่าถ้าสายอาชีพอื่นๆ อยากทำบ้าง ก็ต้องดิ้นกันไปตามช่องทางที่ตัวเองมีครับ

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

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

ส่วนเรื่องสาวๆ ในสายอาชีพนี้เนี่ย ออกแนวเฮฮา แซวกันเฉยๆ คือไม่มีใครคิดกันจริงจังมากมายจนเป็นปัจจัยในการเลือกหรือไม่เลือกทำงานในสายอาชีพนี้เท่าไหร่หรอกมั้ง -_-”

ด้านล่างวิดีโอตัวแรกนี่ดูดีมากสำหรับ Software Engineer เลยนะ นี่มันโลกความฝันที่หาได้ยากในบ้านเราครับ

Day in the life…Software Engineer

แบไต๋ไฮเทค – รายงานพิเศษ: Thai Programmer Crisis

เป็น Programmer/Developer งานมันเครียด

อาชีพ Programmer กับ Developer งานมันเครียด พาลเส้นเลือดในสมองจะแตกตาย ได้ง่ายๆ จะตายโดยไม่ได้ใช้ตังเนี่ยแหละ

หลังๆ เลยพยายามให้วันอาทิตย์คือ 1 วันใน 7 วันที่พักจริงๆ จังๆ ไม่ยุ่งกับงานเลย (ถ้าไม่ critical ระดับระบบล่ม มี critical bug นะ) คือได้พักวันนึงเต็มๆ นั่งอ่านโน้นนี่ ลองของไปเรื่อยๆ ได้หาอะไรใหม่ๆ ทำหรือเล่น หรือแบบเบื่อมากๆ ก็ไปเที่ยวแม่มเลย ใครมาอี๊ดๆ ติดต่องานวันนั้นจะไม่รับเลย จะให้อีเมลแจ้งเท่านั้น (มีเวลาตั้ง 7 วัน กูขอวันหนึ่งเหอะ กูขอหล่ะ)

คือไอ้ 1 วันที่ว่าเนี่ย อาจเป็น 1 วันที่ได้ศึกษาอะไรใหม่ๆ ด้วย งานด้าน IT มันต้องอัพตัวเองตลอด มันมีอะไรใหม่ เจออะไรมาก ทำอะไรได้บ้าง คือเราทำงานด้าน Solution มันต้องรู้อะไรใหม่ๆ ตลอด ศึกษาเรื่อยๆ ไม่ใช่หยุดอยู่กับที่ ไม่งั้นเราจะตามหลังแน่ๆ

ผมเชื่อแล้วว่า “คนที่เป็นโปรแกรมเมอร์ได้ยาวนานนั้น ต้อง Born to be จริงๆ”