Bài tóm tắt
Tóm tắt bằng lời riêng, luôn dẫn về bài gốc. 82 bài (đã lọc). Đọc miễn phí.
Nguồn dữ liệu danh sách bài viết của blog công ty
Danh sách bài trên trang công ty gồm 10.013 bài. Khoảng 73,6% (7.365 bài) do SWE Wiki thu thập thủ công từ kho lưu trữ blog chính chủ của các công ty, kèm ngày đăng. Phần còn lại lấy từ các danh sách công khai trên GitHub: binhnguyennus/awesome-scalability (667), abhivaikar/howtheytest (551), upgundecha/howtheysre (499), eugeneyan/applied-ml (376), Engineer1999/ML-System-Design-Case-Studies (239), upgundecha/howtheyaws (149) và một số danh sách nhỏ khác. Mọi link luôn dẫn về bài gốc trên blog của tác giả; SWE Wiki không sao chép nội dung bài. Hiện 8.979 bài thuộc 133 công ty có trang riêng được hiển thị cho thành viên. Cảm ơn những người duy trì các danh sách đó.
Database Federation: Decentralized and ACL-Compliant Hive Databases
Một data warehouse của mảng Delivery có hơn 16.000 dataset Hive, 10 PB của nhiều domain nằm trong một database Hive do một team trung tâm sở hữu. Từng giúp onboard và tìm dữ liệu dễ, nhưng khi lớn thì thành gánh nặng:
Running Cost-Efficient Export Workloads at Uber
Export workload (tuân thủ, quyền riêng tư, xuất dữ liệu vận hành; ví dụ DSAR, yêu cầu của một người xem dữ liệu cá nhân mà công ty giữ): query điểm hoặc predicate hẹp theo rider/driver/courier ID trên bảng giao dịch…
How Uber Executed A JUnit Migration at Massive Scale
Monorepo Java của Uber chạy test bằng JUnit 4: hơn 600.000 test, 15 triệu dòng code. JUnit 4 ngừng phát triển từ 2021; JUnit 5 đã ra hơn tám năm; các bản JUnit sau định bỏ hỗ trợ JUnit 4. Bazel không hỗ trợ sẵn JUnit 5.…
Running a Software Factory Efficiently at Uber Scale
AI có mặt ở mọi pha phát triển phần mềm ở Uber (2026): hơn 70% pull request được ghi cho agent chạy local hoặc cloud; engineer đã viết hơn 3.600 agent skill, hơn 30.000 lượt chạy skill mỗi ngày. Ngày càng nhiều phiên do…
Halving the Time: How Uber Eats Rebuilt Its Search Pipeline
Latency search của Uber Eats đã tăng tới mức không chấp nhận được. Ba nguyên nhân chính: retrieval lấy hàng chục nghìn ứng viên rồi hydrate đầy đủ tất cả trước khi ranking bỏ phần lớn; hydration là một pha nguyên khối…
Rust at scale: An added layer of security for WhatsApp
WhatsApp mã hoá đầu cuối mặc định cho hơn 3 tỉ người (2026). Mã hoá không chặn được file độc: một ảnh hay video được chế tác có thể khai thác lỗi chưa vá trong hệ điều hành, thư viện của hệ điều hành, hay chính app.
Migrating a Large Flow Monorepo to TypeScript
Đầu 2017, đội Webcore chọn Flow thay vì TypeScript (lúc đó Flow hỗ trợ React và hiệu năng tốt hơn). Vài năm sau TypeScript rõ ràng thắng: nhiều kiểu cho package npm hơn hẳn, ổn định hơn.
Training Orchestrator: Unifying Model Training at Yelp
Yelp đã có feature store cho dữ liệu tái lập được, thư viện training chung cho neural network và gradient-boosted tree, tích hợp Spark, và MLflow cho theo dõi và deploy model; còn thiếu phần ở giữa: cách chuẩn để điều…
Supercharging Discord Mobile: Our Journey to a Faster App
Desktop dùng React, mobile dùng React Native. Android ban đầu không dùng React Native vì lo hiệu năng; máy Android mạnh lên và engine Hermes làm Discord chuyển Android sang React Native năm 2022, đổi lại khởi động chậm…
Inside the feature store powering real-time AI in Dropbox Dash
Dropbox Dash (tìm kiếm và agent trên tài liệu, chat, nội dung công ty) xếp hạng tài liệu bằng ML theo thời gian thực. Một query kéo ranker chấm nhiều file, mỗi file cần hàng chục feature hành vi và ngữ cảnh, nên một…
Follow Up - Preventing Upgrade Failures from etcd v3.5 to v3.6
etcd lưu thông tin thành viên cụm (membership) ở hai kho: v2store (cũ) và v3store. Ở v3.5, v2store là nguồn sự thật; ở v3.6, v3store là nguồn sự thật.
Counter Service: How we rewrote it in Rust
Phần lớn microservice của Grab viết bằng Go, nằm trong một monorepo. Rust vào dần: vài CLI, rồi một reverse proxy cho model serving (Catwalk). Câu hỏi tiếp theo là ROI của việc viết lại một service Go.
Inside HRT's Python Fork: Leveraging PEP 690 for Faster Imports
Phần lớn code của HRT nằm trong một monorepo; module Python nội bộ import được ở mọi nơi. Tiện, nhưng import tăng không kiểm soát. Import Python chạy lúc runtime và chậm khi module lớn, nằm trên filesystem phân tán, có…
How we accidentally built a better build system for OCaml
Khoảng 2012, không hài lòng với OMake, Jane Street tự viết build system Jenga. Họ mở mã nguồn, nhưng gần như không ai dùng: không chạy trên Windows, và dùng Jenga là phải theo cả "cách Jane Street build OCaml". Họ thậm…
Introducing OxCaml
Jane Street sửa OCaml từ lâu (xem GC 2015 ở ). Vài năm gần đây các phần mở rộng ngôn ngữ đủ lớn để thành một nhánh compiler riêng, vẫn mã nguồn mở, với mục tiêu đưa dần vào OCaml upstream.
Building a region‑aware, SEO‑friendly global web app
2024: để khách nước ngoài mua trực tiếp, đội nhỏ chọn dùng lại web Nhật (jp.mercari.com): khách Đài Loan đăng ký, xem, mua qua đối tác Buyee; đã có i18n nên thêm ngôn ngữ dễ. Ra nhanh, số liệu tốt, rồi mở cho Hồng Kông…
グローバル展開を支える基盤の裏側 (Behind the Infrastructure Powering Global Expansion)
Hệ sinh thái microservices của Mercari đã trưởng thành: template service, SDK Go, module Terraform "starter kit", SDK trừu tượng hoá cấu hình Kubernetes, và quy trình Production Readiness Check (PRC). Nhưng hệ sinh thái…
グローバル展開にむけた基盤の再構築 (Rebuilding Foundation for Global Expansion)
Mua hộ xuyên biên giới từ 2019 qua đối tác (khách nước ngoài đặt trên site đối tác, đối tác mua trên Mercari); GMV tăng 15 lần trong 3 năm. Năm 2024 mở cho khách Đài Loan, Hồng Kông tạo tài khoản trực tiếp trên web…
Migrating Large-Scale Interactive Compute Workloads to Kubernetes Without Disruption
DSW (Data Science Workbench): nền tảng notebook (Jupyter, RStudio) cho data scientist, ML engineer. Mỗi phiên là một container riêng, cho phép user tự cài package.
Zero Ops Schema Migration: WarpStream Schema Linking
WarpStream đã có Schema Registry kiểu BYOC (stateless, không đĩa, tương thích API của Confluent). Muốn khách chuyển sang thì cần đường migrate từ registry đang có (Confluent, Redpanda, Aiven...) mà không đổi hành vi.
Evolving the Go Standard Library with math/rand/v2
Từ Go 1 (3/2012), thư viện chuẩn bị ràng buộc bởi cam kết tương thích. Với math/rand, cam kết còn gồm chuỗi số sinh ra từ một seed: Go 1.2 thử đổi và làm hỏng test của người dùng, nên từ đó output theo seed được coi là…
Navigating the Spark 3 and EMR 6 Upgrade Journey at Slack
Data Engineering của Slack (2024): mô hình liên bang hơn 60 cụm EMR phục vụ hơn 40 team, hàng nghìn DAG Airflow. Dữ liệu trên S3, metadata trong Hive Metastore (trên RDS); phần lớn là SQL, một số Scala/PySpark; Airflow…
Image Migration to Google Cloud Platform
trivago nhận ảnh khách sạn từ OTA, chuỗi khách sạn, nhà cung cấp nội dung; nhiều pipeline lọc, gắn nhãn (ML), chọn ảnh chính và gallery.
Making messaging interoperability with third parties safe for users in Europe
Luật DMA của EU (hiệu lực 7/3/2024) buộc WhatsApp và Messenger cho dịch vụ nhắn tin bên thứ ba kết nối vào. Năm đầu: tin 1:1 và gửi ảnh, voice, video, file; về sau mở rộng sang group và cuộc gọi.