15 điểm bởi GN⁺ 2025-02-12 | 5 bình luận | Chia sẻ qua WhatsApp

Ý nghĩa của "công nghệ nhàm chán" (Boring tech)

  • Việc NetBSD bị coi là "nhàm chán" là một lời khen cao nhất
  • Điều quản trị viên hệ thống mong muốn là tính dễ dự đoán, không phải sự bất ngờ
  • Công nghệ nhàm chán có nghĩa là độ tin cậy cao
    • Là kết quả của việc được nhiều người kiểm thử và tối ưu hóa
    • Ít khả năng gặp hành vi ngoài dự kiến hoặc vấn đề thiếu tài liệu
    • Khi xảy ra sự cố, có cộng đồng hoặc tài liệu để tìm kiếm hỗ trợ

Sự phức tạp của môi trường công nghệ

  • Công nghệ không tồn tại độc lập mà tương tác với nhiều hệ thống khác nhau
  • Càng nhiều thành phần, khả năng phát sinh vấn đề ngoài dự kiến càng tăng
  • Công nghệ mới không phải lúc nào cũng là lựa chọn tốt nhất; công nghệ ổn định đã được kiểm chứng có thể là lựa chọn tốt hơn
  • những trường hợp thay một cụm Kubernetes bằng vài máy ảo để tăng độ ổn định

Phản biện và cách diễn giải về "công nghệ nhàm chán"

  • Lập luận của Robert Roskam
    • Giả định rằng công nghệ "nhàm chán" = công nghệ đã tồn tại lâu là có thể sai
    • Tính phổ biến không đồng nghĩa với việc mọi người hiểu rõ nó
    • Công nghệ cũ không phải lúc nào cũng dễ bảo trì (ví dụ: hệ thống COBOL)
  • Phản bác
    • Cũ không có nghĩa là nhàm chán (ví dụ: Oracle phức tạp và khó bảo trì)
    • BSD là công nghệ nhàm chán, nhưng không phổ biến bằng Linux
    • Điều quan trọng không phải tuổi đời mà là mức độ trưởng thành (maturity)

Kết luận: công nghệ nhàm chán = công nghệ trưởng thành

  • Công nghệ cũ ≠ công nghệ trưởng thành
  • Công nghệ trưởng thành = công nghệ đã tích lũy mã nguồn, tài liệu, cộng đồng và kinh nghiệm vận hành
  • Việc NetBSD bị coi là nhàm chán là lời ca ngợi cao nhất cho độ tin cậy và tính ổn định của nó

5 bình luận

 
jhj0517 2025-02-13

Cách diễn đạt “công nghệ nhàm chán” có thể tạo cảm giác hơi tiêu cực, nên dùng cách nói “trưởng thành” thì nghe ổn hơn.

 
aer0700 2025-02-12

Oracle phức tạp và khó bảo trì hu hu

 
ephesian 2025-02-12

Mối quan hệ nhàm chán không phải là mối quan hệ cũ kỹ, mà là mối quan hệ trưởng thành

 
jujumilk3 2025-02-12

Điều này khiến tôi nhớ đến bài viết từng được đăng trên GeekNews trước đây
Sau 10 năm trong ngành, những chủ đề phát triển phần mềm đã làm thay đổi suy nghĩ của tôi (https://vi.news.hada.io/topic?id=19081)

Java là một ngôn ngữ tuyệt vời chính vì nó nhàm chán

 
GN⁺ 2025-02-12
Ý kiến Hacker News
  • Tôi nghĩ công nghệ nhàm chán là tốt vì nó cho phép bạn tập trung vào công nghệ thực sự của sản phẩm. Khi vận hành một ứng dụng SaaS, tôi thấy mình đang làm những việc tiên tiến ở nhiều lĩnh vực khác nhau liên quan đến sản phẩm. Còn những thứ chạy ở “phía sau” như cơ sở dữ liệu hay framework backend thì tôi thích giữ chúng càng nhàm chán và ổn định càng tốt. Khi làm dự án một mình, thời gian rất hạn chế. Tôi muốn dành thời gian để phát triển các tính năng mới thú vị cho sản phẩm thay vì động vào những phần mà khách hàng không quan tâm. Khách hàng không biết và cũng không quan tâm việc tôi dùng Deno hay Bun thay vì Node, hoặc dùng pnpm thay vì NPM. Họ quan tâm ứng dụng của tôi hoạt động tốt đến đâu và có những tính năng gì

  • Tôi đồng ý với ý kiến này, nhưng muốn đưa ra một góc nhìn ngược lại từ trải nghiệm cá nhân. Trong nhiều tình huống, khi ai đó muốn áp dụng cách làm của riêng mình, tức là muốn tổ chức chọn theo sở thích phần mềm cá nhân của họ, họ gọi đó là lựa chọn “nhàm chán”. Bằng cách gọi nó là nhàm chán, họ biến sở thích của mình thành một quyết định trưởng thành và hiển nhiên mà số đông đều chấp nhận, còn các lựa chọn khác thì chỉ bị xem là kỹ sư phần mềm chạy theo cái mới hào nhoáng. Sự thật gần như luôn phức tạp hơn. Cả hai giải pháp đều có ưu và nhược điểm. Chúng đánh đổi những giá trị khác nhau, thứ có thể phù hợp nhiều hoặc ít hơn với từng người. Cần cẩn trọng với lập luận kiểu “nhàm chán nên đương nhiên tốt hơn”. Nó không nên trở thành cách thay thế sở thích của người khác bằng sở thích của mình mà không có thảo luận đủ sâu. Nếu không thì nó cũng chẳng khác gì một nỗ lực ngạo mạn khác nhằm thắng tranh luận mà không đưa ra được lập luận thực chất

  • Tôi muốn thêm “ổn định” vào khái niệm công nghệ “nhàm chán”. Đặc biệt, “ổn định” ở đây không có nghĩa là “không bị crash” mà là “không thay đổi”. Điều này thường thấy ở những thứ lâu đời, đã được khẳng định. Tuy nhiên không có gì bảo đảm điều đó. Nó thường là kết quả của việc những người quản lý công nghệ đó đưa ra các lựa chọn hành động nhất định. Điều này thường có thể được diễn giải dưới góc độ tương thích ngược. Đó là một hành động rõ ràng có thể theo đuổi để đạt được tính ổn định. Nhưng cũng có thể bị xem là tự giới hạn phạm vi rất nhiều. Ví dụ, chúng ta thích nói về khả năng mở rộng, nhưng không nhất thiết phải thiết kế và xây dựng cho quy mô mà có lẽ ta sẽ chẳng bao giờ chạm tới

  • Cuộc tranh luận muôn thuở không phải là cũ với mới, hay nhàm chán với thú vị. Trưởng thành thì vẫn là trưởng thành, bất kể tuổi đời. Một hệ thống bị vỡ khi cập nhật dependency, đưa vào hành vi bất ngờ thông qua các mặc định mơ hồ, hoặc buộc bạn phải lần mò qua các lớp trừu tượng thì không phải là trưởng thành... (đang nhìn vào hệ sinh thái Spring và Java), đó là cũ kỹ và bất ổn. Tính ổn định, khả năng dự đoán và sự đơn giản được thiết kế tốt mới là thứ định nghĩa sự trưởng thành, chứ không phải chỉ tuổi đời. Python có trưởng thành và nhàm chán không? Nó có vấn đề về toolchain và đủ loại phiền toái... Những ngôn ngữ mới hơn như Go hay Rust giải quyết tất cả các vấn đề toolchain đó và khiến mọi thứ thực sự trở nên nhàm chán theo cách tốt nhất

  • Nhàm chán thì tốt, trừ khi bạn không tìm việc. Nếu quá bám vào công nghệ nhàm chán, bạn có nguy cơ tự loại mình dần khỏi thị trường lao động. Nhà tuyển dụng tiếp theo không quan tâm việc bạn đã tạo ra giá trị kinh doanh tuyệt vời thế nào. Phần lớn họ muốn thứ mới mẻ hào nhoáng. Khi đọc tin tuyển dụng của công ty hiện tại, tôi không nghĩ mình sẽ được nhận

  • Trên GitHub rất khó phân biệt một dự án là đã trưởng thành hay đã chết. Dù commit là để làm gì, nó vẫn là tín hiệu cho thấy có người đang theo dõi và bảo trì, và các vấn đề mới có khả năng được xử lý nhanh. Điều đó có nghĩa là những thứ mới sẽ luôn có lợi thế ở điểm này

  • Chưa ai được thăng chức hay được tuyển dụng nhờ dùng công nghệ nhàm chán. Tôi nghĩ lý do tôi không nhận được phản hồi cho rất nhiều đơn xin việc là vì phần lớn những gì tôi làm đều là thứ “nhàm chán”, và phần lớn mã nguồn mở tôi viết là shell script. Mọi thứ hoạt động rất tốt, hầu như không có bug và không tốn chi phí bảo trì, nhưng lại không hấp dẫn. Chủ nghĩa tinh hoa trí tuệ đã định nghĩa vai trò của tôi (“DevOps Engineer” về cơ bản chỉ là “quản trị viên hệ thống trên đám mây”, nhưng chúng ta không thể nói vậy vì dường như phải <i>xấu hổ</i> khi quản trị hệ thống); tôi tin chắc nếu CV của tôi có nhiều “Go và Rust” hơn là “Python và Shell” thì tôi đã được tuyển ngay lập tức

  • Công nghệ nhàm chán giúp hoàn thành công việc, cho phép chúng ta tập trung vào vấn đề mình đang cố giải quyết thay vì làm những việc không cần thiết

  • Tôi định đăng một Ask HN về chủ đề này, nhưng tôi nghĩ bài đăng này là nơi tuyệt vời để đặt câu hỏi của mình. Công nghệ nào đã nhàm chán đến mức bạn không thể bỏ được? Bạn đã dùng nó bao lâu rồi? Với tôi là Vim, C, Python, Fedora, mutt và những thứ tương tự, tôi đã dùng chúng khoảng 25-30 năm. Còn bạn thì sao?

  • Tôi dùng công nghệ mới nếu lợi ích của nó lớn hơn rủi ro. Thách thức là đánh giá bằng chứng. Công nghệ mới thì hay quảng bá ưu điểm, nhưng nhược điểm lại không được nói tới nhiều và thường chỉ lộ ra sau khi bạn đã đầu tư vào nó. “Nhàm chán” hay “thú vị” là một cách đặt vấn đề sai