CTO Uber Thuận Phạm: 18 tháng đầu tiên ở Uber, tuần nào tôi cũng gặp ít nhất 1 thất bại

25/07/2017 16:34 PM | Kinh doanh

"Giống như 1 chiếc máy bay khi bị đâm phải được mổ xẻ hộp đen, xem từng thời điểm, từng sự kiện xảy ra như thế nào. Bản kiểm điểm của các kỹ sư tương tự như vậy. Vấn đề là lỗi đó không được mắc lại mà tất cả các lỗi thuộc loại đó đều không được mắc lại".

Sáng 25/7, trong chương trình Leadership Talk do Uber Exchange tổ chức, ông Thuận Phạm, Tổng giám đốc công nghệ (CTO) Uber toàn cầu đã có những chia sẻ về hành trình tại Uber.

Ông Thuận Phạm cho biết, đằng sau sự thành công nào cũng có rất nhiều thất bại. Tại Uber, có tới hàng nghìn thất bại và với cá nhân ông, trong 18 tháng đầu tiền ở Uber thì tuần nào cũng có 1 sự thất bại nào đó.

"Khi tôi tham gia Uber thì tôi quản lý 1 đội kỹ sư trẻ và họ sử dụng mã nguồn mở cũng như phối hợp với nhau rất tốt. Thực ra, việc viết App, gọi API, đều không phải các công việc quá khó, mà cái khó là làm sao có 1 hệ thống mở rộng hơn được.

Thời điểm đó, chúng tôi chưa nghĩ đến chuyện phát triển quy mô, và không thể có các kỹ sư giỏi nhất trên thế giới khi làm startup.

Khi tôi gia nhập, tôi nhận ra vấn đề quan trọng nhất của chúng tôi là hệ thống lắp ghép giữa người dùng và người lái xe, đó là mấu chốt quan trọng nhất. Hệ thống đó phải thường trực 24/24, dù cho quy mô có lên đến 30.000 chuyến 1 ngày.

Bản thân tôi lúc đó đặt ra câu hỏi đơn giản, là trong thiết kế của hệ thống này, nếu tôi đến trung tâm data và tháo 1 cái hộp ra thì sẽ như thế nào?

Các kỹ sư trả lời là cả hệ thống sẽ chết theo cái hộp đấy!

Tôi đã nói với các kỹ sư rằng, chúng ta phải làm sao để hệ thống không chết khi chúng ta tháo 1 cái hộp cụ thể nào đó.

Từ đó, chúng tôi đã đưa ra giải pháp để đảm bảo dù có tác động vật lý nào đến hệ thống thì chương trình vẫn có thể hoạt động, máy chủ đó không chỉ phục vụ 1 thành phố mà phục vụ nhiều thành phố.

Chỉ 3 tháng sau đó, các kỹ sư đã viết lại được hết toàn bộ chương trình. Tuy nhiên trước đó, ở tháng thứ 2, một card mạng trong hộp data bất ngờ chết, hệ quả là toàn bộ Chicago không được cung ứng dịch vụ Uber nữa và coi như dịch vụ của chúng tôi chết trong 90 phút, đương nhiên, CEO của chúng tôi nổi giận.

Thất bại này dủ nhỏ thôi, nhưng từ thất bại đó các kỹ sư sẽ hiểu được và nhận thức được tầm quan trọng của các nguyên tắc thiết kế.Bản thân tôi cũng học được từ những thất bại của mình, nhưng quan trọng hơn cả là các kỹ sư của chúng tôi nhận thức được điều đó.

Một thất bại khác nữa xảy ra vào khoảng 2 tháng sau đó. 1 kỹ sư đã cố cải thiện tên gọi 1 chức năng trong hệ thống. Kỹ sư này đã lập trình xong và để thay đổi có hiệu lực thì phải khởi động lại hệ thống.

Điều bất ngờ là khi anh ta ấn nút khởi động lại hệ thống thì đột nhiên dẫn đến phản ứng dây chuyền với quy mô lớn, làm hệ thống lệnh của chúng tôi mặc lỗi và điều này không chỉ ảnh hưởng tới 1 thành phố mà là toàn bộ hệ thống Uber trong khoảng 90 phút.

"CEO lại nổi giận, và bản thân tôi cũng chỉ biết động viên anh em nhanh chóng làm việc để khắc phục lỗi đó", ông Thuận Phạm nhớ lại.

CTO của Uber cho biết, nếu có những thất bại đó xảy ra thì lỗi đó được đánh giá là do phần mềm viết ra chưa được tốt. Những kỹ sư sẽ không bao giờ sa thải, mà từ thất bại đó họ sẽ học hỏi được nhiều điều.

Từ thất bại đó ông Thuận Phạm sẽ yêu cầu người kỹ sư viết bản kiểm điểm, để xem người kỹ sư học hỏi được những gì đồng thời nắm bắt được thời điểm từng sự kiện xảy ra như thế nào, lỗi phát sinh do dâu.

"Giống như 1 chiếc máy bay khi bị đâm phải được mổ xẻ hộp đen, xem từng thời điểm, từng sự kiện xảy ra như thế nào. Bản kiểm điểm của các kỹ sư tương tự như vậy. Vấn đề là lỗi đó không được mắc lại và tất cả các lỗi thuộc loại đó cũng đều không được mắc lại", ông Thuận Phạm kết luận.

Hà My

Cùng chuyên mục
XEM