Love Death and Robots

9 min

Mở đầu

Mấy tuần trước, trong một buổi tối rảnh rỗi hiếm hoi, tôi đã cày lại series “Love, Death & Robots” trên Netflix. Nếu bạn đã xem, chắc bạn cũng như tôi, bị ám ảnh bởi những ý tưởng điên rồ, những hình ảnh tuyệt đẹp và cả những câu chuyện khiến mình phải suy ngẫm hồi lâu. Nhưng lần xem lại này, với tư cách là một người đã có vài năm ăn ngủ cùng những dòng code, tôi bỗng nhận ra một điều thú vị đến lạ.

Những câu chuyện viễn tưởng về Tình yêu, Cái chết và Người máy ấy… dường như đang kể lại chính hành trình sự nghiệp của chúng ta.

Bài viết này không phải là một bài review phim. Đây là những dòng chiêm nghiệm cá nhân, một nỗ lực để kết nối những câu chuyện ấy với thế giới lập trình đầy rẫy những vinh quang, những thất bại và cả những “con robot” logic mà chúng ta tạo ra mỗi ngày.

Love Death and Robots
Love Death and Robots

LOVE – Tình Yêu Thuần Khiết Hay Sự Mù Quáng Nguy Hiểm?

Zima Blue
Zima Blue

Có một tập phim trong series tên là “Zima Blue”, kể về Zima, một nghệ sĩ vĩ đại tới mức các tác phẩm của ông bao phủ cả vũ trụ. Điểm chung trong các tác phẩm đó là dù chúng có phức tạp tới đâu, nhưng luôn có một chi tiết đặc trưng: một hình vuông hoặc chữ nhật nhỏ màu xanh lam, được gọi là “màu xanh Zima”. Cả thế giới nghệ thuật tranh cãi về ý nghĩa của nó. Trong buổi ra mắt tác phẩm cuối cùng, Zima tiết lộ sự thật: ông vốn là một con robot dọn dẹp hồ bơi cực kỳ đơn giản. Nhiệm vụ đầu tiên và duy nhất của nó là cọ sạch hồ bơi, đặc biệt là một viên gạch men màu xanh lam. Sau nhiều lần nâng cấp qua hàng thế kỷ, nó trở thành một nghệ sĩ có tri giác. Tác phẩm cuối cùng của ông chính là tự tháo dỡ toàn bộ cơ thể phức tạp của mình, chỉ để lại con robot nguyên thủy, và lao vào hồ bơi để thực hiện lại nhiệm vụ cốt lõi: cọ viên gạch màu xanh. Ông tìm thấy chân lý và sự thỏa mãn tuyệt đối trong mục đích đơn giản nhất.

Câu chuyện của Zima làm tôi giật mình. Trong thế giới của chúng ta, có một “tình yêu” tương tự. Đó là tình yêu với những công nghệ hào nhoáng, những từ khóa thời thượng. Ta gọi nó một cách hài hước là:

“Resume-Driven Development” (Phát triển hướng CV)

Đã bao giờ bạn ở trong một cuộc họp mà một dự án đơn giản bỗng bị “thổi phồng” lên với Microservices, Kubernetes, và Kafka chưa? Tôi thì rồi. Chúng ta, những người lập trình, có một khao khát mãnh liệt được chinh phục những thứ mới mẻ. Nhưng đôi khi, tình yêu ấy trở nên mù quáng. Chúng ta say mê vẽ nên những “bức tranh vũ trụ” phức tạp, trong khi cái người dùng thật sự cần chỉ là “viên gạch màu xanh” – một tính năng chạy nhanh và ổn định. Đó là tình yêu với bản thân và CV của mình, chứ không phải với sản phẩm và người dùng.

Vậy làm sao để giữ được tình yêu thuần khiết như của Zima? Kinh nghiệm của tôi cho thấy, chúng ta cần một “liều vắc-xin chống hype”. Đó là những:

Tech Spikes - những thử nghiệm công nghệ nhỏ, có giới hạn thời gian, chỉ để trả lời một câu hỏi duy nhất: “Nó có thực sự giải quyết được vấn đề của chúng ta không?”. Và kết quả của những thử nghiệm đó nên được chia sẻ trong các Brown Bag Sessions - những bữa trưa công nghệ thân mật, nơi quyết định được đưa ra dựa trên bằng chứng, chứ không phải cảm tính.

DEATH – Sự Sụp Đổ Của “Thần Tượng” & Nỗi Sợ Di Truyền

Nếu “Tình yêu” trong ngành này có thể trở nên mù quáng, thì “Cái chết” lại là một sự thật không thể chối cãi. Nó không phải là cái chết của một cá nhân, mà là sự lụi tàn của những thứ từng rất vĩ đại. Điều này làm tôi nhớ đến tập phim “The Drowned Giant”.

The Drowned Giant
The Drowned Giant

Một cái xác người khổng lồ, hoàn mỹ, dạt vào bờ biển của một thị trấn nhỏ. Ban đầu, nó là một kỳ quan, một đối tượng nghiên cứu khoa học, đầy tôn nghiêm. Nhưng thời gian trôi qua, cái xác bắt đầu phân hủy. Người dân không còn kinh ngạc nữa, họ coi nó là một phần bình thường của cảnh quan. Trẻ con trèo lên chơi đùa, người ta khắc tên lên da thịt nó. Cuối cùng, chính quyền quyết định phải “xử lý” cái xác. Họ cưa nó ra thành từng mảnh. Các bộ phận của gã khổng lồ bị phân tán khắp nơi: xương được trưng bày, da thịt bị bán đi… Ý nghĩa và sự vĩ đại ban đầu của nó hoàn toàn biến mất, chỉ còn lại những mảnh vụn vô hồn.

Trong mọi công ty tôi từng làm việc, đều có một “gã khổng lồ” như vậy. Đó là những:

“Codebase Ma Ám”. Những hệ thống legacy từng là niềm tự hào, nhưng giờ đây không ai dám động vào. Nó sinh ra một thứ văn hóa độc hại:

“Văn hóa Anh hùng” , nơi chỉ có một vài “trưởng lão” phải gồng gánh, dọn dẹp “bãi mìn” đến kiệt sức. Những người còn lại thì làm việc trong sợ hãi, chỉ dám copy-paste thay vì tìm hiểu. Cái chết ở đây bi kịch hơn nhiều: đó là cái chết của sự hợp tác, của sự chia sẻ kiến thức, và của lòng can đảm.

Vậy chúng ta có thể làm gì trước khi “gã khổng lồ” của mình hoàn toàn phân rã? Thay vì sợ hãi, hãy trở thành những nhà khảo cổ. Đầu tiên, hãy trực quan hóa hiện trường bằng các công cụ, tiện ích để tạo “bản đồ nhiệt”, biến nỗi sợ mơ hồ thành dữ liệu hữu hình.

Tiếp theo, hãy thành lập một biệt đội viễn chinh nhỏ, giao cho họ một nhiệm vụ cảm tử nhưng khả thi: “hãy đi và chặt đứt ngón tay út của gã khổng lồ” – tức là refactor một module nhỏ, ít rủi ro nhất. Một chiến thắng nhỏ có thể vực dậy tinh thần của cả một tập thể.

Và cuối cùng, hãy lan tỏa Quy tắc của Hướng đạo sinh: luôn rời khỏi codebase sạch sẽ hơn một chút so với lúc bạn đến. Hàng trăm hành động nhỏ bé sẽ dần chữa lành cho “gã khổng lồ” theo thời gian.

ROBOTS – Lạc Giữa “Ma Trận” & Thói Quen Cúng Bái

Chúng ta nói về Tình yêu, về Cái chết, và giờ là phần cuối cùng: Người máy. Những “con robot” trong thế giới của chúng ta chính là những hệ thống logic, những dòng code mà chúng ta tạo ra. Chúng được thiết kế để tuân lệnh, nhưng đôi khi, chúng lại phản bội chúng ta một cách khó lường nhất. Cảm giác đó, tôi thấy nó được khắc họa hoàn hảo trong tập phim “Beyond the Aquila Rift”.

Beyond the Aquila Rift
Beyond the Aquila Rift

Phi hành đoàn thức dậy sau một hành trình dài và thấy mình đang ở một trạm không gian lạ lẫm, cách xa đích đến hàng vạn năm ánh sáng do lỗi hệ thống. Thuyền trưởng Thom gặp lại người yêu cũ là Greta. Mọi thứ có vẻ ổn, nhưng đôi khi có những “glitch” kỳ lạ, những khoảnh khắc thực tại bị biến dạng. Thom không chịu đựng được và đòi biết sự thật. Greta, trong đau đớn, đã cho anh thấy: con tàu đã tan nát, đồng đội đã chết, còn anh đang được một thực thể ngoài hành tinh khổng lồ, có thiện chí nhưng xa lạ, giữ cho sống sót trong một cái kén. “Greta” và cả trạm không gian chỉ là một thực tại ảo do thực thể đó tạo ra để tâm trí anh không bị phát điên. Nó là một nhà tù hoàn hảo nhưng đầy lỗi, vì thực thể đó không thể hiểu và tái tạo chính xác 100% thực tại của con người.

Là một lập trình viên, tôi cá là bạn cũng từng trải qua cảm giác “Aquila Rift” này. Đó là khi bạn đối mặt với một con bug “ma”, và lý trí của bạn bắt đầu tan vỡ. Bạn rơi vào trạng thái mà tôi gọi là “Cargo Cult Debugging” (Debug theo Tín ngưỡng). Bạn bắt đầu “cúng bái”: copy-paste bừa một đoạn code từ Stack Overflow, bọc một hàm trong setTimeout(0) và cầu nguyện cho nó chạy. Bạn đã hoàn toàn bị “con robot” do chính mình tạo ra đánh lừa.

Làm sao để thoát khỏi ma trận? Hãy quay về với phương pháp khoa học.

Hãy thực hành “Tuyên ngôn Vịt Cao Su”: trước khi hỏi xin sự giúp đỡ, hãy giải thích vấn đề cho một con vịt cao su (hoặc một người đồng nghiệp) bằng cách trả lời 3 câu hỏi: Tôi mong đợi điều gì? Thực tế là gì? Tôi đã thử những gì?. Việc hệ thống hóa suy nghĩ này có một sức mạnh kỳ diệu, nó buộc bạn phải thoát khỏi “tín ngưỡng”

Và ở cấp độ team, hãy thực hiện các buổi

“Mổ băng không đổ lỗi” (Blameless Postmortems). Khi sự cố xảy ra, câu hỏi không phải là “AI đã làm?”, mà là “TẠI SAO hệ thống của chúng ta lại cho phép điều này xảy ra?”. Nó tạo ra một môi trường an toàn, nơi chúng ta dám thừa nhận sai lầm và cùng nhau tìm cách vá lại “lưới an toàn” cho hệ thống.

Lời kết

Hành trình của một lập trình viên cũng giống như một mùa phim vậy. Có những “tình yêu” nồng cháy với công nghệ, có những “cái chết” đau đớn của những codebase tâm huyết, và có cả những cuộc chiến bất tận với những “con robot” logic do chính ta tạo ra.

Hy vọng rằng, qua những chiêm nghiệm này, chúng ta có thể cùng nhau viết nên những “tập phim” ngày càng hay hơn, nhân văn hơn, và hiệu quả hơn trong sự nghiệp của mình.