# 87: Ubuntu coding cho bạn bè

Chúng ta thường viết code riêng rẽ và code ấy phản ánh cách giải quyết của riêng chúng ta cho một vấn đề, cũng như một giải pháp mang tính cá nhân. Chúng ta có thể là một phần của nhóm, nhưng chúng ta vẫn làm việc độc lập. Chúng ta quên mất rằng code này- được tạo ra một cách độc lập, sẽ được thực thi, sử dụng, mở rộng và dựa vào bởi người khác. Thật dễ dàng để bỏ qua khía cạnh xã hội của việc tạo ra phần mềm. Lập trình phần mềm là một bài tập kỹ thuật kết hợp với một bài tập xã hội. Chúng ta cần ngẩng đầu khỏi màn hình máy tính thường xuyên hơn để nhận ra chúng ta không làm việc một mình và mọi người cùng chia sẻ trách nhiệm đối với việc tăng xác suất thành công cho tất cả, không chỉ riêng nhóm phát triển phần mềm.

Bạn có thể tự mình viết những code với chất lượng tốt, lạc trong tâm trí của bản thân trong suốt khoảng thời gian đó. Ở một khía cạnh nào đó, đó là một cách tiếp cận tự nhiên (không phải bản ngã trong kiêu ngạo, mà là trong cá nhân). Nó là điểm nhìn Zen và vào thời điểm viết code, mọi thứ xoay quanh bản thân bạn. Tôi luôn cố gắng sống cho hiện tại, bởi nó giúp tôi đến gần hơn với chất lượng tốt, nhưng đó là khi tôi sống trong khoảnh khắc của riêng mình. Còn khoảnh khắc của cả nhóm thì sao? Liệu khoảnh khắc của tôi có giống với khoảnh khắc của cả nhóm không?

Ở Zulu, triết lý của Ubuntu được tóm tắt là “Umfox ngum Ubuntu ngabantu” tạm dịch: “Tôi được là chính mình nhờ có những người xung quanh”. Tôi trở nên tốt hơn nhờ có những hành động tốt của bạn. Mặt trái là bạn trở nên yếu kém hơn với những gì bạn làm khi tôi kém những gì tôi làm. Đối với các nhà phát triển, chúng ta có thể chuyển nó thành “Một người là nhà phát triển thông qua những nhà phát triển khác”.Tương tự “Code là code thông qua code khác”.

Chất lượng code tôi viết ảnh hưởng đến chất lượng code bạn viết. Vậy điều gì sẽ xảy ra khi code của tôi có chất lượng kém? Ngay cả khi code bạn viết rất tốt, thì khi bạn sử dụng code của tôi, chất lượng code của bạn sẽ giảm xuống. Bạn có thể áp dụng nhiều mô hình và kỹ thuật để hạn chế thiệt hại, nhưng thiệt hại ấy đã được thực hiện rồi. Tôi đã khiến bạn phải làm nhiều hơn cần thiết chỉ đơn giản vì tôi đã không nghĩ về bạn khi sống trong khoảnh khắc của riêng mình.

Tôi có thể coi code của mình là tốt, nhưng tôi vẫn có thể làm cho nó tốt hơn với Ubuntu coding. Ubuntu code trông như thế nào? Nó là một code tốt. Nó không phải là về code, mà là về hành động tạo ra code đó. Coding cho bạn bè với Ubuntu sẽ giúp cả nhóm sống theo giá trị và củng cố các nguyên tắc của bạn. Người tiếp theo chạm vào code của bạn, bằng mọi cách, sẽ là người tốt hơn và là nhà phát triển tốt hơn.

Zen là cá nhân. Ubuntu là Zen cho một nhóm người. Rất hiếm khi chúng ta tạo code chỉ để cho cá nhân mình.