Không ai “tự nhiên” học được cách code cả. Vì ai cũng biết là coding khó, khó vô cùng đấy.

Nhưng thật xúi quẩy làm sao, có rất nhiều marketer ngoài kia suốt ngày rêu rao “coding dễ (ẹc)!” để thu lợi. Và nếu không nói quỵt tẹt ra, thì sản phẩm của họ cũng thể hiện điều đó.

Khi ai đó bảo bạn coding dễ lắm, họ đang chơi xỏ bạn đấy. Có 3 tình huống nhiều người sẽ hay bắt gặp:

Tình huống 1

Người 1: “Hồi xưa tôi có học code một lần, chật vật dữ lắm. Cuộc sống không cho phép, thế là tôi không học nữa.” Marketer: “Code dễ lắm, khó gì đâu!”

Tình huống 2

Người 2: “Tôi muốn học code, nhưng nhìn khó quá.” Marketer: “Code dễ lắm, khó gì đâu!” Người 2: “Vậy hả?” Marketer: “Tất nhiên. Cứ mua khóa học/chường trình/e-book của tôi và bạn sẽ thành chuyên gia trong chưa đầy một tháng.” Người 2: Người 2, một tháng sau: “Code dễ lắm mà sao mãi mình chưa học được, hay do mình dốt quá?”

Tình huống 3

Người 3: Tôi chưa bao giờ có ý định học code cả. Tôi đã là một manager khá thành công rồi. Nếu cần code, tôi chỉ việc thuê người làm hộ thôi. Marketer: Code dễ lắm, khó gì đâu! Người 3: Oh, vậy thì tôi việc gì phải trả nhiều tiền và trân trọng công việc của bọn khỉ biết code đó như vây.

Giải phẩu não cũng dễ lắm đấy

“Code dễ lắm!” cũng không khác gì nói “Giải phẩu não thật dễ!” hay “Viết tiểu thuyết cũng dễ ghê lắm!” Một bác sỹ não phẩu gặp mặt tiểu thuyết gia Margret Atwood tại một bữa tiệc tối: “Tôi đã ấp ủ mong ước viết sách lâu lắm rồi. Khi tôi nghỉ hưu và có nhiều thời gian, tôi sẽ trở thành một tay viết lách.” Margret Atwood đáp lời: “Thật trùng hợp là sao, khi tôi nghỉ hưu, tôi cũng muốn chuyển qua giải phẩu não đấy.” Mà kỳ lạ làm sao, biết bao marketer vẫn bô bô: “Code dễ lắm!”, “Code thì khó gì đâu!”, hoặc câu nói ưa thích của tôi, “Code dễ lắm! mới khó thôi!” Và cứ như vậy, những marketer này làm nhiều người lầm tưởng họ “dốt”, và họ càng dễ bị moi tiền hơn.

Lời nguyền kiến thức

Thật không may, không chỉ có marketer mới đi rêu rao là code dễ. Tôi gặp mãi nhiều anh lập trình viên kỳ cựu cũng đinh ninh “Code dễ lắm!” không kém. Tại sao những người này, đã trả qua bao nhiêu khó khăn, cả ngàn giờ học tập, cũng cho rằng code thật dễ? Bởi vì họ đang chịu thành kiến nhận thức mang tên “lời nguyền kiến thức”. Họ đã quên đi cảm giác “không biết code” là như thế nào. Và dù có nhớ đi nữa, thì họ lại quên chỗ khác: lúc đầu học code khó đến mức nào. Lời nguyền kiến thức là nguyên nhân làm các lập trình viên kinh nghiệm không cách nào cảm thông được với “ma mới”. Và bạn có thể thấy rõ sự thiếu hụt đồng cảm này ở ngay trên kết quả Google yêu thích của mọi người: the coding tutorial.

 

Đã bao nhiêu lần các bạn có thể hoàn thành một hướng dẫn ngẫu nhiên trên Google, mà không bắt gặp bất cứ error khó hiểu hay mơ hồ nào?

Và càng mỉa mai hơn, những tác giả của các bài hướng dẫn này cứ liên tục “dập” vào bài viết mấy từ như “rõ ràng là” (clearly) “một cách dễ dàng” (easily) và nhất là “đơn giản chỉ việc” (simply).

Không có gì chán nản hơn việc phí mất 30 phút làm theo một hướng dẫn và bị kẹt ở “đơn giản chỉ việc integrate với API của Salesforce,” hay “đơn giản chỉ việc deploy đến AWS”.

Và khi thất bại, giọng nói của hàng nghìn marketer sẽ lảng vảng trong đầu bạn la hét: “Code dễ lắm!”

Rồi bạn lại nhớ đến mấy anh lập trình viên kỳ cựu mới gặp hồi tuần trước đã khuyến khích bạn bằng câu nói: “Code dễ ghê lắm!”

Rồi bạn lại hồi tưởng mấy cảnh hacker gõ phím đùng đùng với tốc độ ánh sáng trong phim, càng củng cố quan niệm rằng code rất dễ.

Và rồi bất thình lình, bạn nghe tiếng mình la hét, đứng bật dậy và… (╯°□°)╯︵ ┻━┻

Nhưng đây là chuyện quá bình thường luôn. Hãy hít thở sau. Code không dễ. Code rất khó. Ai cũng biết điều đó.

Code thực tế vs code trong phim

Tuy vậy, bạn vẫn ao ước kỹ năng “thần sầu” kiểu l33+ h@x0r? Bạn muốn hô biến bay hết bug chỉ bằng bản năng – và một đống màn hình chữ-xanh-nền-đen?

Vậy thì hãy thử thực hiện ước mơ nhé, hãy thử cảm giác hacker Hollywood thần sầu này ra sao nào:

Bước 1: tắt đèn (phải ngồi tối tối mới là hacker), bật cổ áo, đeo thêm cái kính râm ngầu lòi nếu thích.

Bước 2: Đổ ngấu nghiến lon nước tăng lực vào mồm, bóp méo lon nước, quăng qua vai.

Bước 3: vào địa chỉ này và gõ bàn phím càng nhanh càng khoái.

Ước mơ quyền lực đã thành hiện thực!

Bạn có cảm thấy tốt hơn chưa? Bạn đang phì cười vào sự phi lý ngớ ngẫn của cấu trúc tập hợp trong lập trình phần mềm?

Kế tiếp, ta sẽ bàn đến những “nhầm lẫn ngôn ngữ có chủ đích” đã dắt mũi biết bao nhiêu người bấy lâu nay.

Không có gì là đơn giản cả

Có vẻ như, nếu bạn bắt gặp cụm từ “đơn giản chỉ…” trong bài hướng dẫn nào đó, bài hướng dẫn này đang giả định bạn đã có sẵn một vốn kiến thức nhất định rồi.

Có thể tác giả cho rằng bạn đã từng code thứ gì đó tương tự và đang đọc hướng dẫn này để tham khảo. Cũng có lẽ tác giả áp đặt phần nào vốn kiến thức của mình lên cho đọc giả luôn.

Dù gì đi nữa, hướng dẫn này dường như không được thiết kế cho đối tượng có kỹ năng lập trình ở mức của các bạn.

Từ đó ta rút ra được “quy luật đơn-giản-chỉ-…”:

Khi viết hướng dẫn đừng dùng cụm từ “đơn giản chỉ…”, và cũng đừng đọc mấy hướng dẫn có từ “đơn giản chỉ…” trong đó.

Nói thì nói thế, chứ sau hàng chục phút mày mò trên Goolge tìm tài liệu, hầu như chả ai nhớ mình phải ngồi lọc ba cái từ này cả. Nhưng may thay, Albert Meija đã giúp ta tạo một phần Chrome extension sẽ lọc được từ “simply” trong hướng dẫn và hiện thông báo khi nhận thấy hướng dẫn nào không phù hợp cho người mới học.

Simply
This extension will analyze a tutorial and determine if it’s beginner friendly.chrome.google.com

Trong tương lai, có thể sẽ có những extension mới và phức tạp hơn nữa, có thể phân tích ngôn ngữ mạnh mẽ để biết được mức độ khó dễ của một hướng dẫn nhất định chứ không chỉ “lọc từ” đơn giản như thế này.

Nhưng hiện nay, chỉ với một extension giản đơn thế này thôi, bạn đã có thể phần nào loại bỏ những tảng băng trôi nhấn chìm thuyền “đơn giản chỉ…” trong đại dương tài liệu lập trình mênh mông lạnh giá này rồi đấy.

Các bạn, hãy mạnh mẽ lên, đừng để bị cuốn theo những lời quảng cáo phóng đại. Nên nhớ, code rất khó. Bỏ qua tiếng nói chế nhạo trong ta, kiên trì, và bạn sẽ gặt hái được kết quả từ sự kiên trì đó.

Techtalk via Freecodecamp

Advertisements