Facebook ปล่อยซอฟต์แวร์อย่างไร
(subokim.wordpress.com)- โครงสร้างองค์กร: ทีม Engineering และ Ops มีสัดส่วนมากกว่า 50% และผู้จัดการผลิตภัณฑ์ 1 คนดูแลวิศวกรประมาณ 7-10 คน
- การเข้าทำงาน: หลังผ่านบูตแคมป์ 4-6 สัปดาห์ จะได้รับสิทธิ์ให้เข้าถึงฐานข้อมูลจริงได้
- สิทธิ์และความรับผิดชอบ: วิศวกรทุกคนสามารถแก้ไขได้ทุกส่วนของโค้ด และยังเปลี่ยนสเปกกับลำดับความสำคัญได้อย่างอิสระ
- วิธีการทำงาน: วิศวกรจะแชร์ความคืบหน้าและเลือกโปรเจกต์ที่จะเข้าร่วมเอง โดยส่วนใหญ่พัฒนาแบบฟูลสแตก
- การรีวิวโค้ด: นักพัฒนาต้องการทุ่มเทกับปัญหาฝั่งแบ็กเอนด์และอินฟราสตรักเจอร์มาก ทุกการเปลี่ยนแปลงจะมีอย่างน้อยหนึ่งคนรีวิว
- QA, Unit Test: ไม่มีทีม QA แต่มีงาน QA โดยวิศวกรเป็นผู้ทดสอบและแก้บั๊กเอง และมีขั้นตอนการทดสอบอัตโนมัติที่ต้องผ่านก่อนปล่อยใช้งาน
- ผู้จัดการผลิตภัณฑ์: ผู้จัดการผลิตภัณฑ์มีความเป็นอิสระและมีอิสระในการทำงานสูง ตอนทำโรดแมปไม่จำเป็นต้องขออนุญาตหรือรับการรีวิว
- DevOps, การปล่อยใช้งาน: ทุกคอมมิตจะถูกปล่อยใช้งานเป็นรายสัปดาห์ และมีกระบวนการรีลีสที่ค่อย ๆ ปล่อยโค้ดเป็นขั้นตอน
- ทีม Ops: ทีม Ops เข้าใจธุรกิจเป็นอย่างดี และดูแลทั้ง error log, load balancing และการใช้งานหน่วยความจำร่วมกัน
- ผลงาน, ชื่อเสียง: เป็นวัฒนธรรมที่ยึดผลงานเป็นหลักและทุกคนต้องจัดการกันเอง คนที่ไม่ค่อยมีประสิทธิภาพหรือไม่ได้เก่งมากจะสังเกตเห็นได้ชัด
5 ความคิดเห็น
"คนที่ไม่ใช่อัจฉริยะมักจะสังเกตเห็นได้ง่าย"
โหดสุด ๆ...
พูดกลับกันก็คือ "คนที่ทำงานได้อย่างมีประสิทธิภาพและเป็นอัจฉริยะนั้นไม่ค่อยสะดุดตา"
ให้ความรู้สึกแบบว่า 'ที่นี่คือที่รวมของอัจฉริยะเท่านั้น' เลยทำให้รู้สึกว่าช่วงนั้น Facebook นี่สุดยอดจริง ๆ
พออ่านโดยคำนึงว่านี่เป็นบทความที่เขียนขึ้นเมื่อเดือนมกราคม 2011 ก็ยิ่งรู้สึกว่าน่าประทับใจมากขึ้น
(อ้างอิงตามต้นฉบับ)