2 คะแนน โดย GN⁺ 2023-09-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผู้เขียน Matt Basta แชร์ประสบการณ์การพัฒนาเครื่องมือให้ Uber ซึ่งเป็นเครื่องมือคล้าย Excel และถูกสร้างขึ้นเพื่อแก้ปัญหาเฉพาะที่นักวิทยาศาสตร์ข้อมูลของบริษัทเผชิญอยู่
  • นักวิทยาศาสตร์ข้อมูลของ Uber ใช้โน้ตบุ๊กหลายเครื่องเพื่อรันโมเดลวิทยาศาสตร์ข้อมูลข้ามคืน ซึ่งไม่มีประสิทธิภาพและทำให้สูญเสียทั้งข้อมูลและเงิน
  • Basta เข้าร่วมทีม "Crystal Ball" ของ Uber เพื่อพัฒนาเครื่องมือชื่อ "R-Crusher" สำหรับทำให้กระบวนการนี้เป็นอัตโนมัติ โดยในฐานะวิศวกรฟรอนต์เอนด์ เขามีหน้าที่สร้างส่วนติดต่อผู้ใช้ให้กับเครื่องมือนี้
  • เครื่องมือนี้สร้างเสร็จภายในไม่กี่สัปดาห์โดยใช้ "Bedrock" ซึ่งเป็นเฟรมเวิร์กฟรอนต์เอนด์ภายในของ Uber หลังจากนั้น Basta ได้ตั้งทีมฟรอนต์เอนด์ 7 คนเพื่อเพิ่มฟีเจอร์ที่ยึดผู้ใช้เป็นศูนย์กลางให้กับเครื่องมือนี้
  • เป้าหมายหลักของเครื่องมือนี้คือการสนับสนุนการดำเนินงานของ Uber ในจีน ซึ่งบริษัทกำลังแข่งขันกับ Didi บริการเรียกรถท้องถิ่น เครื่องมือนี้ถูกใช้เพื่อสร้างข้อมูลคาดการณ์จำนวนผู้โดยสารในจีนและกำหนดแรงจูงใจให้คนขับ
  • อย่างไรก็ตาม เครื่องมือนี้ต้องเผชิญกับความท้าทายในการเลียนแบบสเปรดชีต Excel ที่ทีม Uber China ใช้งานอยู่ โดยสเปรดชีตดังกล่าวมีสูตรที่ซับซ้อนและถูกใช้ในการกำหนดแรงจูงใจให้คนขับ
  • Basta ตัดสินใจสร้างเอนจินสเปรดชีตบนเบราว์เซอร์ที่สามารถอ่านและรันสูตร Excel ได้ โดยใช้ต้นแบบจาก "Box Sums" ซึ่งเป็นเครื่องมือที่เขาเคยพัฒนาที่ Box เป็นจุดเริ่มต้น
  • หลังจากเอาชนะความท้าทายทางเทคนิคหลายอย่าง เช่น circular reference ของ Excel ได้ เครื่องมือนี้ก็ถูกผสานเข้ากับ Wesley ซึ่งเป็นฟรอนต์เอนด์ของ R-Crusher ที่ Uber ได้สำเร็จ
  • แต่ไม่นานหลังจากเครื่องมือนี้เปิดตัว Uber China ก็ถูกขายให้ Didi ทำให้เครื่องมือนี้ไม่จำเป็นอีกต่อไปและถูกนำออกจาก Wesley
  • Basta สะท้อนประสบการณ์ครั้งนี้ว่า โค้ดทุกชิ้นที่วิศวกรเขียนลงไปสุดท้ายแล้วล้วนกลายเป็น legacy code เขาเน้นย้ำถึงความสำคัญของการมุ่งสร้างคุณค่าทางธุรกิจ มากกว่าการยึดติดกับอายุยืนของผลงานตนเอง

1 ความคิดเห็น

 
GN⁺ 2023-09-16
ความคิดเห็นบน Hacker News
  • บทความเกี่ยวกับการสร้างเอนจินสเปรดชีตบนเบราว์เซอร์สำหรับ Uber โดยทำงานคล้าย Excel เพื่อจัดการข้อมูลที่เกี่ยวข้องกับลูกค้าผู้โดยสารที่คาดการณ์ไว้ในจีน
  • ผู้เขียนเน้นย้ำถึงความแพร่หลายของการจารกรรมทางเศรษฐกิจและอุตสาหกรรมในจีน พร้อมยกหลักฐานเชิงประสบการณ์จากประสบการณ์ของตนเองในอุตสาหกรรมเทคโนโลยี
  • ผู้เขียนย้ำความสำคัญของแนวคิดปฏิบัตินิยมในวิศวกรรมซอฟต์แวร์ โดยโต้แย้งว่าโค้ดควรถูกปฏิบัติเหมือน "วัว" ไม่ใช่ "สัตว์เลี้ยง" และควรถูกทิ้งเมื่อไม่เป็นประโยชน์อีกต่อไป
  • มีการถกเถียงเรื่องกรรมสิทธิ์ของโค้ดที่เขียนให้ Uber โดยบางคนตั้งคำถามว่านี่เป็นทรัพย์สินของ Uber หรือของ Box ซึ่งเป็นนายจ้างเก่าของผู้เขียน
  • ผู้แสดงความคิดเห็นบางคนตั้งข้อสงสัยต่อการตัดสินใจสร้างเอนจินสเปรดชีตทั้งชุดด้วย JavaScript และเสนอว่าควรใช้โซลูชันที่มีอยู่แล้วอย่าง Apache POI แทน
  • การที่ผู้เขียนตัดสินใจเผยแพร่โค้ดบน Github แบบสาธารณะได้รับคำชื่นชม โดยบางคนมองว่านี่เป็นรูปแบบหนึ่งของการปลดปล่อยความคับข้องใจ แม้ท้ายที่สุด Uber จะไม่ได้ใช้งานโค้ดนั้นก็ตาม
  • ผู้แสดงความคิดเห็นบางคนเสนอวิธีแก้ปัญหาทางเลือกสำหรับปัญหาที่ Uber เผชิญ เช่น การเชื่อม Excel เข้ากับข้อมูลที่โมเดลสร้างออกมาโดยตรง
  • มีการเน้นย้ำมุมมองของผู้เขียนต่อบทบาทของวิศวกร โดยให้ความสำคัญกับการส่งมอบผลลัพธ์มากกว่าการสร้าง "เครื่องประดับสวยงาม"
  • ระบบแอปพลิเคชันภายในของ Uber ได้รับคำชมด้านการออกแบบและประสิทธิภาพ โดยผู้แสดงความคิดเห็นคนหนึ่งอ้างว่าสามารถรันแอปพลิเคชัน Hello World บนซับโดเมนได้ภายใน 30 นาที
  • บทความนี้มอบมุมมองจากคนวงในเกี่ยวกับความท้าทายที่ทีม BI ของ Uber เผชิญ รวมถึงทรัพยากรจำนวนมากที่ใช้ไปกับอินเซนทีฟ และแรงกดดันในการทำซ้ำเครื่องมือเดิมอย่าง Excel