Screen Shot 2558-09-17 at 1.51.05 PM
วันนี้อ่านบทความเรื่อง WhatsApp Only Needs 50 Engineers for Its 900M Users ?
มันน่าสนใจมาก ๆ สำหรับวงการพัฒนา Software
ผู้พัฒนามีเพียง 50 คน แต่สามารถสร้างระบบรองรับคนใช้งานกว่า 900 ล้านคนทั่วโลกได้
ทำไมไม่รับคนเยอะ ๆ ล่ะ ?
มาดูว่าเขาให้เหตุผลไว้อย่างไร ?

เหตุผลแรกคือ ภาษาโปรแกรมที่ใช้พัฒนา

ภาษาโปรแกรมที่ใช้คือ ภาษา Erlang
เชื่อได้เลยว่า มีคนรู้จักน้อยมาก ๆ
เนื่องจากไม่ได้เป็นภาษาโปรแกรมที่ได้รับความนิยมมากนัก

แต่มันเป็นภาษาที่เหมาะสมกับ communication อย่างมาก
รวมทั้งสามารถรองรับจำนวนผู้ใช้งานจำนวนมาก ๆ ได้อย่างสบาย
และสามารถ deploy ได้บ่อยตามเท่าที่ต้องการ

Erlang มันเป็นภาษาที่เกิดมาเพื่อ concurency
นั่นคือ มี process หลาย ๆ process ทำงานพร้อม ๆ กันได้
เกิดมาตั้งแต่ในยุค 80 แล้ว
สร้างโดยเหล่า engineer ของบริษัท Ericson สำหรับใช้ในวงการ telecom

โดยรวมแล้วเป็นภาษาที่สามารถ Scalalibity และ Reliability มาก ๆ
ดังนั้น WhatsApp จึงเลือกใช้งาน

มีอะไรอีกล่ะ ?
Erlang มันทำให้นักพัฒนาทำงานได้รวดเร็วขึ้น
… อย่างไรล่ะ ?
เราสามารถ deploy code ใหม่ ๆ เข้าไปได้
โดยระบบงานยังคงทำงานเช่นเดิม ไม่ต้องปิดระบบแต่อย่างใด
นั่นคือไม่กระทบต่อผู้ใช้งานเลย
มันเป็นข้อดีของการพัฒนา software อย่างมาก
เนื่องจากเราสามารถปรับปรุงระบบได้บ่อย ๆ และง่ายต่อการจัดการอีกด้วย
และแน่นอนว่า แนวทางการแก้ไขปัญหาจะเรียบง่ายอีกด้วย

ถึงจะมีข้อดีมากมาย แต่ก็มีข้อเสียเช่นกัน

นั่นคือ นักพัฒนาภาษา Erlang น้อยมาก ๆ
แถมไปเชื่อมต่อกับระบบอื่น ๆ ยากอีก
ตัวอย่างเช่น
ที่ Facebook เริ่มพัฒนาระบบ Chat ด้วย Erlang เช่นกัน
แต่เมื่อเวลาผ่านไปพบว่าเป็นระบบเดียวที่ไม่เข้าพวกกับระบบอื่น ๆ เลย
สุดท้ายก็ต้องสร้างขึ้นมาใหม่ด้วยภาษาที่คนส่วนใหญ่รู้จัก
และสามารถจัดการได้ง่าย

แต่ระบบของ WhatsApp ไม่ต้องทำการ integrate เข้ากับระบบอะไรเลย
ดังนั้น จึงไม่กลัวเรื่องของภาษา Erlang

ปัญหาในการหาพนักงานล่ะ ?

ทางทีมพัฒนาของ WhatsApp เชื่อว่า Erlang
หรือความกลัวต่อภาษา Erlang หรือ ความไม่รู้ มันไม่ใช่ปัญหาอะไร
ดังนั้น ในการรับคนนั้นต้องการคนที่ Smart และ เปิดกว้างในการเรียนรู้สิ่งใหม่ ๆ
ไม่จำเป็นต้องรู้ หรือ เชี่ยวชาญในภาษา Erlang อะไรเลย
แต่ต้องการคนที่สามารถเข้ามาในสัปดาห์แรก
แล้วสามารถทำการเรียนรู้สิ่งใหม่ ๆ
หรือสามารถเรียนรู้ได้อย่างรวดเร็ว
หรือสามารถปรับตัวได้อย่างรวดเร็วนั่นเอง

“If you hire smart people, they’ll be able to do that.”

และมีสิ่งหนึ่งที่ทาง WhatsApp ให้ความสำคัญมาก ๆ คือ

“The number-one lesson is just be very focused on what you need to do”

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

“Keep It Simple”

สามารถดู VDO ได้เพิ่มเติมที่นี่ Keynote Panel – SYNC ISSUES