Ai cũng biết, để bắt đầu một tuần làm việc hiệu quả thì ai cũng vào Facebook để cuộn chuột một tiếng. Sáng nay, như thường lệ, 10h sáng mình định vào nhưng Facebook.com đã tạch. Mình bèn nhắn ông bạn làm đấy hỏi thăm xem có cần vay tiền mua thẻ cào điện thoại để các bạn liên lạc với nhau bằng tin nhắn SMS không. Trong năm 2020, tập đoàn Facebook thu nhập 32 tỷ đô, vậy mỗi ngày họ thu được 100 triệu đô. Tạch một nửa ngày không ai vào được (cho rằng nó không ảnh hưởng đến uy tín gì hết) là đi tong 50 triệu đô. Cho rằng thu nhập của người Việt là 500 đô la một tháng, số tiền này đủ để nuôi sống 100 ngàn người trong một tháng. Lỗi gây ra như vậy là một lỗi rất, rất, rất đắt tiền.
Mình nhớ hôm nọ bố mình cũng có lần gọi điện hỏi tại sao cái máy tính Chromebook tự nhiên không cho bố login vào tài khoản và báo sai mật khẩu. Sau khi giúp bố 2-3 tiếng thì mình đi đến kết luận có một lỗi gì đó phía cái Chromebook chứ không phải tại bố mình và phải xóa đi làm lại. Tiếc rằng tất cả các tài liệu download trên máy tính đó phải xóa hết vì chiếc máy này được thiết kế để lưu dữ liệu đã mã hóa. Nếu chiếc máy báo sai mật khẩu thì không tài thánh nào lấy được dữ liệu ra. Sau đó vài ngày thì mình đọc được một bài về lỗi này: Một kỹ sư nào đó viết thiếu một dấu "&" khi cần viết "&&". Tiếc rằng lúc đó mình không biết. Đó cũng là một lỗi rất đắt tiền.
Ngày xưa, thời còn mới vào đại học mình có quản trị một diễn đàn. Thường để thêm tính năng mới, hoặc chuyển cái này thành cái kia để nâng cao hiệu năng, mình phải khóa cái diễn đàn lại để tiến hành thay đổi, xong rồi sẽ mở lại. Việc này thường mình làm vào đêm. Thường mình chỉ dự định mỗi lần mất một hai tiếng đồng hồ nhưng sự thật diễn đàn phải khóa suốt đêm và mình thức suốt đêm vì lỗi lên lỗi xuống. Một tính năng mới ra lò là phải theo dõi và sửa lỗi mất vài ngày, mọi người réo tên, thì mới có thể bình ổn được. Lúc bấy giờ mình tự hỏi làm sao mà người ta có thể làm được những phần mềm, website ổn định 24/7 được.
Công việc mà mình làm giờ (lái Ta-xi) có một từ để chỉ những lỗi nào làm cho xe không khởi động được phải cẩu đi, hoặc đang đi trên đường không chạy được nữa, gọi là Vehicle-off-the-Road (VoR). Đó là một trong những lỗi tồi tệ nhất của các loại tồi tệ. Rất hiếm khi chuyện này xảy ra, nhưng nếu xảy ra thì người được phân công tìm hiểu lỗi này thì phải bỏ tất cả các việc mình đang làm để tìm hiểu và giải quyết VoR ngay lập tức. Sau khi tìm hiểu xong thì sẽ xem việc gì xảy ra để dẫn đến tình trạng như vậy.
Các vấn đề tồi tệ xảy ra đều có thể quy lỗi cho một dòng code sai mà một kỹ sư nào đó code vào một lúc nào đó. Suy nghĩ của người bình thường là nếu ai gây ra lỗi đắt tiền vậy, ảnh hưởng tới nhiều khách hàng như vậy, thì sẽ bị đuổi việc, kỷ luật vân vân. Nhưng trái lại, thường cách giải quyết của một tổ chức có sự điều hành tốt hoàn toàn ngược lại: Họ sẽ tìm hiểu tổ chức của họ đã làm gì để lỗi lớn như vậy mà lại để vào tay một người. Sự thật là việc kỷ luật nặng người gây ra lỗi không làm cho người ta ít mắc lỗi hơn. Không ai cố gắng làm ra lỗi và không ai tránh khỏi làm ra lỗi. Vấn đề là quy trình làm sao để cho ai làm ra lỗi như vậy thì ta tìm ra trước khi nó gây ra hậu quả. Quy trình càng tốt thì khả năng đó càng ít xảy ra, và để cải tiến hiệu năng thì phải cải tiến quy trình, chứ không phải cải tiến việc truy cứu trách nhiệm hay tăng hình phạt với người gây lỗi. Quy trình đó có thể là ở chỗ phải có người kiểm tra code của mình trước khi thay đổi, phải chạy thử, phải có quy trình kiểm tra chất lượng, phải đánh giá được khả năng xấu nhất có thể xảy ra, phải có phương án B, phải xây dựng tính cẩn trọng, và nhiều kỹ năng khác mà tổ chức phải vạch ra cho mỗi cá nhân.
Một phần mềm hay dự án hiện đại là kết quả của rất nhiều cá nhân hợp tác với nhau. Một trang web, hệ điều hành, phần mềm ứng dụng đều là kết quả làm việc của hàng ngàn người qua rất nhiều thời gian. Số lượng lỗi thường lũy tiến với số lượng code và người làm, cái gì càng phức tạp, càng nhiều người làm thì khả năng hiểu lầm giữa các cá nhân với nhau càng lớn, khả năng lỗi tiềm ẩn càng lớn. Thế mà con người ta vẫn làm được những dự án phức tạp tưởng đến mức không thể.
Con người đã làm được những việc như phóng xe tự hành lên sao Hỏa - người trên Trái đất sẽ bị lag với những gì đang diễn ra trên sao Hỏa khoảng 20 phút, không có tài thánh nào nhanh tay cứu được một lỗi trên tàu vũ trụ ở sao Hỏa.
Kính viễn vọng James Webb, kỳ quan của con người
Kính viễn vọng James Webb, kỳ quan của con người
Sắp tới người ta sẽ phóng kính viễn vọng James Webb lên không trung, là kết quả của thiết kế nghiên cứu từ năm 1996 tới nay của rất nhiều người. Chiếc kính viễn vọng này có một tấm phản quang kích thước gói gọn trong đầu tên lửa kích thước 5x16m, nhưng khi lên đến quỹ đạo, nó tự bung ra với kích thước 14x21m. Việc này diễn ra hoàn toàn tự động, phải làm việc được 100% trên một môi trường vô cùng lạ lẫm khắc nghiệt mà chưa bao giờ ta được trực tiếp thử nghiệm cả. Nếu chỉ có một lỗi sai, nó sẽ làm tiêu tan 10 tỷ đô la và 25 năm làm việc miệt mài của bao nhiêu người giỏi nhất của các loại giỏi trên khắp thế giới. Ai dám nghĩ mình sẽ dám tham gia vào những việc đó thôi, đã là rất phi thường. Chiếc kính viễn vọng này là minh chứng cho sự thông thái siêu thường của con người khi người ta kết hợp lại với nhau.
Khi mình làm việc code diễn đàn những năm đầu đại học, chạy một cái diễn đàn lỗi lên xuống, mình không thể nào tưởng tượng nổi tới một lúc nào đó mình sẽ tham gia vào những việc mà ta làm nhất định phải trơn tru. Tới giờ, mình cảm thấy diễm phúc của những gì mình đang làm là sự tự tin vào việc mình có thể được làm những việc đòi hỏi sự chính xác tin cậy cao độ, vì sự mất mát khi ta mắc lỗi là rất lớn. Bí quyết đó chắc chắn không phải là cách nghĩ đi phạt, đi cấm, đi kiểm duyệt, đi đổ lỗi. Vì tất cả những hình thức đó sẽ một phần ngăn cản người ta làm được việc. Một phần bí quyết đó là sự trung dung bình tĩnh để có những quy trình làm người tham gia ít mắc lỗi hơn, và nếu có cá nhân nào mắc lỗi thì ảnh hưởng xấu được giảm thiểu.
Và khi ta làm tất cả điều đó rồi mà vẫn có lỗi, thì nhận lỗi, xin lỗi, sửa lỗi, rồi đi tiếp. Như Facebook hôm nay.