Quần Cam

Giả định và Suy nghĩ khoa học

assumption

Assumption: /əˈsʌm(p)ʃ(ə)n/ a thing that is accepted as true or as certain to happen, without proof.

Lần tui đi phỏng vấn công ty E, xảy ra một chi tiết nhỏ làm tui nhớ mãi.

Chuyện là sau khi chém gió đủ mọi thứ trên đời, anh lead developer ở đó hỏi tui một câu ngoài lề: “What do you expect from your future manager?”.

Tui khựng lại vài giây. Hỏi gì kì cục vậy cha? Trước giờ chỉ nghe sếp yêu cầu lính chứ ai ngược đời đi hỏi lính lác muốn gì ở sếp. Cơ mà phỏng vấn mà, phải phang bừa để trả lời thôi.

“My manager, he must be…”. Chưa kịp kết thúc, anh lead cắt lời: “Why are you making the assumption that your manager was a HE and not a SHE?”. Tui hơi bối rồi, xen lẫn một chút cảm giác bị xúc phạm.

Có thể bạn chưa biết, ngôn ngữ mẹ đẻ của tui là tiếng Quảng Đông (Cantonese). 6 tuổi vào lớp 1 tui bắt đầu học tiếng Việt, 13 tuổi bắt đầu học tiếng Anh. Tuy tui có thể đàm thoại bằng ba ngôn ngữ trên, nhưng khi tui suy nghĩ về thứ gì đó, giọng nói cất lên ở trong đầu mặc định là tiếng Quảng Đông.

Tiếng Quảng Đông KHÔNG phân biệt giới tính cho ngôi thứ ba. Cô ấy, ông ta, nó, con vật kia, thứ đó, đều được bao hàm bằng một đại từ nhân xưng duy nhất là (kui). Khi nói chuyện với người gốc Hoa bằng tiếng Việt, rất nhiều khả năng bạn sẽ nghe được người đó xưng anh/chị của mình là .

Anh lead developer đó đã đưa ra một giả định là: “thằng Quần Cam cho rằng manager của nó sẽ là đàn ông”. Cơ mà thực sự tui không có vấn đề gì với việc giới tính nào làm manager cả. Tui đâu có được tăng lương vì sếp tui là đàn ông. Chẳng qua là trong thời gian tích tắc đó, bản năng của tui tự động chạy công thức 佢 = Enum.random([he, she, it]) của nó mà thôi.

Bởi vậy sau này, tui đã chọn một công ty không có manager ¯\_(ツ)_/¯.

Making assumption - Đưa ra giả định

Trong cuộc sống, tất cả chúng ta luôn đưa ra những giả định và cho rằng nó đúng mà không kiểm chứng. Mọi lúc. Mọi nơi. Cho bất kì thứ gì ta thấy và bất kì người nào ta biết.

  1. Ở châu Âu nguy hiểm lắm, nó khủng bố lúc nào không hay.
  2. Đi máy bay nguy hiểm lắm, đi dưới đất an toàn hơn.
  3. Thằng này tới từ Việt Nam, chắc nó chuẩn bị ăn cắp đồ đây.

Chắc tui không cần phải giải thích thêm, các giả định trên đều hoàn toàn vô căn cứ.

1) Theo thống kê có 735 người tử vong trong 15 vụ khủng bố ở châu Âu từ năm 2000 đến nay. Trong lúc đó mỗi năm các bệnh tim mạch giết chết 3.9 triệu người với bệnh béo phì là nhân tố gây bệnh chính. Nói một cách hài hước thì châu Âu không an toàn đâu, nhiều đồ ăn lắm, ở lâu mập quá mà chết đó.

2) Theo thống kê thì hàng không là phương tiện giao thông an toàn nhất thế giới hiện nay.

Còn 3), nếu bạn nghĩ vậy thì … well, fuck you.

Tại sao chúng ta hay giả định?

Cuốn Thinking Fast and Slow giới thiệu hai phương thức suy nghĩ của con người: System 1 và System 2. System 1 là cách suy nghĩ nhanh, bản năng và vô thức. Ngược lại, System 2 suy nghĩ chậm, tốn trí não và logic. Chúng ta dùng xen lẫn cả hai hệ thống này trong cuộc sống hằng ngày.

Ví dụ 1: Bạn bước vào Phúc Long. Bạn nhìn lên bảng menu. Rất nhanh bạn order cho mình một ly trà đào. Bạn barista hỏi bạn ly lớn hay ly nhỏ. Bạn trả lời ngay ly lớn, vì nhớ ra hình như có cuốn sách gì đó dạy là “Đến Phúc Long phải uống trà đào cốc lớn”. Bạn bước tới quầy nhận nước. Bạn nhanh chân kiếm được chỗ ngồi trên lầu, bắt đầu tận hưởng 90 phút WIFI miễn phí để mua hàng online.

Ví dụ 2: Bạn định bước vào Phúc Long. Nhưng bạn giở sổ tay ra. Hôm nay bạn đã uống 3 ly trà sữa, xơi 4 cái BigMac và xử 5 miếng bánh cheese cake. Sau một hồi tính toán bạn dư 1000 kcal. Vì vậy bạn tới phòng gym để ngắm các bạn nữ tập thế dục.

Ở trên là 2 ví dụ đơn giản giúp bạn hiểu System 1 và System 2. System 1 rất tinh ranh, nó có thể đưa ra các quyết định nhanh chóng chỉ với lượng thông tin giới hạn và dụ bạn chọn nó. Và vì suy nghĩ bằng System 1 dễ hơn, nhanh hơn, ít tốn sức hơn, nên chúng ta thường có thiên hướng dùng nó trong cuộc sống hằng ngày. Nhưng các quyết định của System 1 thường sai và không lý trí, vì chúng mang nặng tính trực giác, bản năng và cảm tính.

Ngược lại System 2 đòi hỏi bạn phải tập trung và ý thức, phân tích các thông tin, nên quá trình này chậm và tốn năng lượng hơn. Nhưng những quyết định của nó cũng thường chính xác hơn.

System 1 chính là lý do mà bạn hay đưa ra các giả định. Mỗi cá thể con người đều có một thế giới quan của riêng mình. Nó được hình thành từ những gì thường ngày ta thấy, những gì là chân lý trong thế giới của ta. Khi đánh giá một người, một sự vật, sự việc khác, System 1 cũng nhanh chóng áp dụng thế giới quan đó và đưa ra một giả định.

Thế nhưng những gì đúng trong thế giới quan của bạn không hẳn đúng trong thế giới quan của người khác. Đồng thời việc phụ thuộc vào những giả định khiến não ta lười biếng, tự phụ và tiếp tục đưa ra các giả định khác.

Làm sao để tránh đưa ra giả định?

Có 2 cái hố sẽ khiến bạn đưa ra giả định:

assumption = lack of information (1) + unwilling to ask (2)

Bạn có thể tránh cái hố thứ nhất bằng cách liên tục bổ sung cho mình thêm kiến thức. Càng có nhiều thông tin thì tỉ lệ bạn đưa ra giả định sẽ càng thấp. Khi bạn giỏi như Darwin hay Einstein, người ta sẽ gọi các giả định của bạn bằng cái tên mĩ miều là “thuyết”.

Nhưng như bác Lê đã dạy “Học, học nữa, học mãi”. Có nghĩa là học không bao giờ là đủ ☹️, nên cách dễ hơn là tránh cái hố thứ hai bằng luôn đặt câu hỏi trước khi đưa ra kết luận.

Khi giọng nói trong đầu bạn đưa ra một nhận định, bạn đặt lại cho nó một câu hỏi: “Làm sao mà mày biết?”. Nếu bạn không tự trả lời được vì không đủ thông tin, bạn đặt câu hỏi cho người khác. Nếu một nhận định không thể được trả lời bằng fact (thông tin thực tế), đó là một giả định.

Bằng cách này, bạn bắt não mình luôn hoạt động và phân tích trước khi phát biểu nhận định của mình.

Tự nhiên mấy bữa nay sếp không nói chuyện với mình, có khi nào mình sắp bị đuổi không?

Tất nhiên là bạn không thể tự chứng minh nhận định đó rồi, cách duy nhất để bạn biết là đi hỏi thẳng sếp. Sếp sẽ bảo bạn là: “đờ mờ tao bị đau răng bữa giờ”.

Bài viết này sẽ giúp bạn tăng lương như thế nào?

Là lập trình viên, chúng ta thường đưa ra những giả định nhưng lại đinh ninh chúng là chân lý, từ đó đưa ra những quyết định sai.

  1. Web chậm quá, chắc là do xài Ruby rồi -> viết lại app bằng Elixir/Rust/Go.
  2. Mỗi ngày trên hệ thống có 86400 giây. -> if DateTime.diff(today, yesterday) > 86400, do: process_transaction(<i class="emoji" title=":moneybag:"><img class="emoji" src="https://twemoji.maxcdn.com/36x36/1f4b0.png" /></i>).
  3. 0.1 * 0.2 luôn bằng 0.02. -> e hèm.

Google thêm với từ khóa “falsehood programmers believe”, bạn sẽ có thêm nhiều giả định thú vị nữa.

Để tránh đưa ra những giả định sai, hãy tập cho mình lối suy nghĩ khoa học: thay vì đưa ra giả định (assumption), hãy đưa ra giả thiết (hypothesis). Giả thiết giống như giả định, là những nhận định chưa được kiểm chứng. Cái khác là sau khi đặt ra giả thiết, bạn phải chứng minh giả thiết đó là đúng hay sai (hmmm, tất nhiên là bằng fact).

Ví dụ với hiện tượng là “Web chậm quá”.

  1. Giả thiết là “do xài Ruby”.
  2. Bạn profile hệ thống, và có được flame graph trong tay.
  3. Bạn dựa vào dữ liệu có được để chứng minh giả thiết ở (1).

Anh @huydx có một bài viết khá hay về vấn đề này.

Tham khảo

  1. http://marciasirotamd.com/psychology-popular-culture/problem-making-assumptions
  2. https://medium.com/thrive-global/9-reasons-why-making-assumptions-is-dangerous-345e8b24008c
  3. Thinking, Fast and Slow

NGUY HIỂM! KHU VỰC NHIỀU GIÓ!
Khuyến cáo giữ chặt bàn phím và lướt thật nhanh khi đi qua khu vực này.
Chức năng này hỗ trợ markdown và các thứ liên quan.

Bài viết cùng chủ đề

Viết cho tuổi 20

Bài viết mà thằng chả chém gió về tri túc các kiểu…

Vô chiêu thắng hữu chiêu

Code Đức

Là một developer tất nhiên bạn phải chuyên nghiệp với nghề của mình. Thế nhưng chuyên nghiệp là như thế nào? Và bạn, một developer, sẽ phải hành xử ra sao mới được xem là chuyên nghiệp?