11 điểm bởi GN⁺ 2025-03-14 | 3 bình luận | Chia sẻ qua WhatsApp
  • Trong ngành phần mềm tồn tại một huyền thoại về "kỹ sư 10x", tức người có năng suất cao hơn đồng nghiệp gấp 10 lần
  • Tuy nhiên, khái niệm này có cơ sở khá yếu và tiềm ẩn rủi ro củng cố định kiến hoặc đặt ra những tiêu chuẩn phi thực tế

Đo lường năng suất là việc phức tạp và không hoàn hảo

  • Đo năng suất bằng cách nào?
    • Lĩnh vực mà kỹ sư xử lý rất đa dạng: vi xử lý, IoT, cơ sở dữ liệu, dịch vụ web, UX, v.v.
    • Ngôn ngữ và framework sử dụng cũng rất khác nhau: Golang, Python, COBOL, Lisp, v.v.
    • Cần có kiến thức chuyên môn về các công nghệ, thị trường và sản phẩm liên quan: bảo mật, trực quan hóa dữ liệu, marketing, tài chính, v.v.
    • Giai đoạn phát triển và quy mô sản phẩm cũng khác nhau: tùy đó là rover thám hiểm sao Hỏa hay chỉ là phần mềm đơn giản
  • Công nghệ luôn thay đổi
    • Ngay cả những kỹ sư từng rất xuất sắc trong quá khứ cũng có thể dần tụt lại ở một công nghệ cụ thể theo thời gian
    • Dù từng là "kỹ sư 10x" trong một lĩnh vực nhất định, họ vẫn có thể chỉ ở mức trung bình trong lĩnh vực khác

Phần mềm thuộc về đội ngũ, không phải về một kỹ sư

  • Chất lượng phần mềm được quyết định bởi thành quả của cả đội, không phải thành tích cá nhân
  • Dù một cá nhân có viết code nhanh đến đâu thì nếu quy trình của cả đội chậm, tốc độ cuối cùng vẫn như nhau
  • Thời gian dành cho kiểm thử, review, triển khai và bảo trì thường nhiều hơn thời gian viết code
  • Nếu một kỹ sư cụ thể nắm quyền sở hữu phần mềm, sẽ phát sinh rủi ro lớn khi người đó rời đi
  • Cấu trúc phát triển phần mềm lấy đội ngũ làm trung tâm sẽ ổn định hơn về lâu dài

Tổ chức kỹ thuật tốt nhất là nơi kỹ sư "bình thường" có thể tạo ra thành quả nổi bật

  • Tổ chức kỹ thuật tốt nhất không nhất thiết là nơi chỉ gồm những kỹ sư xuất chúng
  • Điều quan trọng là một môi trường nơi kỹ sư bình thường có thể thường xuyên tạo ra kết quả tốt và liên tục cải thiện sản phẩm lẫn doanh nghiệp
  • Cả đội cần hiểu hệ thống, có thể triển khai code, phản hồi người dùng và xử lý sự cố như những hoạt động thường nhật
  • Tổ chức kỹ thuật tốt nhất là môi trường nơi kỹ sư bình thường có thể phát triển và tạo ra thành quả

Tầm quan trọng của kỹ sư "bình thường"

  • Ngành phần mềm có xu hướng rất coi trọng "người thông minh"
  • Netflix cho biết họ ưu tiên nhân tài "top 10%", còn Coinbase nói họ thích nhân tài thuộc "top 0,1%"
  • Nhưng đa số mọi người đều bình thường → cần có một hệ thống giúp người bình thường vẫn tạo ra thành quả
  • Kỹ sư phần mềm không phải bẩm sinh mà có, mà trưởng thành nhờ đào tạo và kinh nghiệm

Xây dựng hệ thống socio-technical cho "người bình thường"

  • Hệ thống cần được thiết kế để "người bình thường" có thể sử dụng dễ dàng
  • Cần tính đến những đặc điểm phổ biến của con người:
    • Tồn tại các thiên kiến nhận thức như thiên kiến xác nhận, thiên kiến gần đây, hiệu ứng hào quang
    • Sự mệt mỏi và trạng thái cảm xúc ảnh hưởng đến hiệu suất
    • Nếu cảnh báo reo lúc 3 giờ sáng thì khả năng xảy ra lỗi sẽ cao hơn so với 3 giờ chiều
  • Khi hệ thống trực quan và dễ dùng, năng lượng của kỹ sư có thể tập trung vào việc cải thiện sản phẩm

Tổ chức kỹ thuật xuất sắc sẽ đào tạo ra các kỹ sư đẳng cấp thế giới

  • Một tổ chức kỹ thuật xuất sắc không phải là nơi sở hữu toàn nhân tài ưu tú, mà là nơi kỹ sư bình thường có thể phát triển
  • Trong một tổ chức tốt, ngay cả kỹ sư ở mức trung bình cũng có thể liên tục tạo ra thành quả và trưởng thành
  • Những kỹ sư giỏi nhất sẽ tự nhiên xuất hiện từ môi trường như vậy

Nên tuyển "người phù hợp" hơn là "người giỏi nhất"

  • Điều quan trọng là tìm người phù hợp với đội ngũ của chúng ta hơn là chỉ tìm "nhân tài xuất sắc nhất"
  • Hệ thống cần thúc đẩy thành quả của cả đội thay vì thành tích cá nhân
  • Cần một môi trường nơi tinh thần đồng đội và hợp tác quan trọng hơn thành tích riêng lẻ
  • Một văn hóa hòa nhập và công bằng sẽ nâng cao thành quả, đồng thời tạo cơ hội để kỹ sư từ nhiều xuất thân khác nhau phát triển

Kết luận

  • "Kỹ sư 10x" có thể tồn tại trong thực tế, nhưng việc gắn điều đó với thành quả của cả đội là khó khăn và tiềm ẩn rủi ro
  • Một tổ chức kỹ thuật xuất sắc không dựa vào số ít thiên tài, mà dựa vào cấu trúc giúp kỹ sư bình thường có thể tạo ra thành quả
  • Hệ thống cần củng cố thành quả của cả đội hơn là thành tích cá nhân
  • Mấu chốt là tạo ra môi trường nơi kỹ sư bình thường có thể phát triển và tạo ra thành quả thông qua một văn hóa và hệ thống mang tính hòa nhập

3 bình luận

 
iolothebard 2025-03-20

Trong một công ty toàn những kỹ sư gấp 100 lần, thì các kỹ sư gấp 100 lần lại là mức bình thường. Điều bình thường mới quan trọng. Nâng chuẩn của cái bình thường lên còn quan trọng hơn…

 
felizgeek 2025-03-16

Tôi nghĩ kỹ sư SW gấp 10 lần, 100 lần như những người như Steve Jobs từng nói có ý nghĩa như sau.
Với các công việc như lao động xây dựng, giao hàng hay lái xe, ngay cả người lành nghề giỏi nhất cũng khó đạt hiệu suất cao hơn người bình thường trên 2 lần. Nhưng trong các lĩnh vực như SW hay tài chính, người giỏi đôi khi có thể tạo ra thành quả mà 100 người bình thường cộng lại cũng tuyệt đối không làm ra được.

Đào tạo để phát triển nhân tài là quan trọng, nhưng việc tuyển chọn nhân tài cũng quan trọng. Có vẻ như có sự khác biệt rất lớn giữa đào tạo và tuyển chọn. Không nên trộn lẫn hai việc này rồi nhầm lẫn với nhau.

 
GN⁺ 2025-03-14
Ý kiến Hacker News
  • Ý nghĩ rằng kỹ nghệ phần mềm là điều gì đó đặc biệt thường có xu hướng độc hại

    • Tương tự lĩnh vực tài chính, có xu hướng đánh giá quá cao giá trị cá nhân
    • Làm tốt công việc rồi tan làm là điều quan trọng, và thời gian làm việc quá mức cho thấy sự mong manh của hệ thống
    • Nỗ lực bền bỉ và thận trọng là điều quan trọng
  • Không có kỹ sư nào là “bình thường”; tồn tại các lập trình viên ở nhiều mức độ khác nhau

    • Để xây dựng một đội ngũ xuất sắc, cần những kỹ sư có năng lực
    • Tuy nhiên, rất khó để tìm được những kỹ sư như vậy
  • Phần mềm được phát triển bởi cá nhân chứ không phải bởi đội ngũ

    • Các dự án phức tạp thường do một cá nhân xuất sắc dẫn dắt
    • Việc xây dựng đội ngũ là một thách thức không ngừng
  • Phản đối việc phi nhân hóa và phân loại giai cấp lao động

    • Cốt lõi của một đội ngũ xuất sắc là sự lãnh đạo xuất sắc
    • Phải có đội ngũ thì người lãnh đạo mới có thể tồn tại
  • Thất vọng khi IEEE đăng tải nội dung kiểu clickbait

    • Có sự hiểu lầm về cách đo lường năng suất
    • Đặt nghi vấn về khái niệm kỹ sư phần mềm “bình thường”
  • Kỹ sư 10x có tính sáng tạo và quan tâm đến trải nghiệm người dùng cũng như khả năng bảo trì mã nguồn

    • Lập trình viên 1x chỉ coi trọng kết quả nên dễ gây ra xung đột
  • Khái niệm kỹ sư 10x là cường điệu, nhưng vẫn có một số người làm được rất nhiều việc

    • Dù phần thưởng không tương xứng, vẫn khó hiểu vì sao họ lại lao mình vào công việc như vậy
  • Công việc kỹ thuật có những đặc tính khác với các nghề khác

    • Thành quả là thuộc tính của cặp kỹ sư-sản phẩm
    • Rất khó định lượng thành quả
  • Đôi khi cảm thấy bất lực khi so sánh với người khác

    • Lấy lại sự tự tin khi giải quyết được vấn đề
    • Năng suất cao hơn khi có mục tiêu rõ ràng
    • Tốc độ không phải phép màu, mà đạt được bằng những cách cụ thể
  • Nhiều kỹ sư làm việc vì tiền, và nếu không có đam mê thì khó trở thành một kỹ sư xuất sắc

    • Kỹ năng cá nhân bị ảnh hưởng bởi luyện tập và tài năng
    • Kinh nghiệm đôi khi có thể hữu ích hơn trí thông minh