Skip to content

Instantly share code, notes, and snippets.

@lionc2240
Last active November 1, 2025 11:48
Show Gist options
  • Select an option

  • Save lionc2240/582911846589a5e235eb3ec33334a563 to your computer and use it in GitHub Desktop.

Select an option

Save lionc2240/582911846589a5e235eb3ec33334a563 to your computer and use it in GitHub Desktop.
Nguyên tắc 80-20: Chìa khóa giúp học nhanh 1 ngôn ngữ lập trình mới - Viet Nguyen AI

Tổng quan

Xin chào các bạn. Các bạn đã từng bao giờ nghe đến Nguyên tắc Pareto, hay còn được biết đến với một tên gọi khác là Nguyên tắc 80-20 chưa? Đây là một nguyên tắc chỉ ra rằng trong nhiều sự kiện cũng như là lĩnh vực trong cuộc sống, 80% kết quả là do 20% nguyên nhân gây ra.

Một vài những cái ví dụ của nguyên tắc này có thể được liệt kê dưới đây.

Ví dụ cụ thể

  • 20% nhân viên ưu tú nhất của công ty sẽ tạo ra 80% sản phẩm.
  • 20% tội phạm sẽ gây ra 80% vụ phạm pháp.
  • 20% quần áo của các bạn sẽ được mặc trong 80% thời gian.
  • 20% khách hàng sẽ tạo nên 80% doanh thu cho công ty.

Nguyên tắc này được áp dụng để cải thiện hiệu suất cũng như là kết quả trong nhiều lĩnh vực, từ học tập, sản xuất, quản trị cho đến kinh doanh.

Cụ thể, ta nên tập trung phần lớn nguồn lực vào 20% thành phần quan trọng, đóng góp vào 80% kết quả, thay vì dàn trải sức lực, thời gian và tiền bạc vào 80% thành phần ít quan trọng còn lại.

  • Ví dụ như là khi học ngoại ngữ, thay vì cố gắng học càng nhiều từ vựng càng tốt thì chúng ta chỉ nên tập trung vào 20% từ vựng cơ bản, thông dụng nhất được sử dụng trong 80% tình huống thực tế.

  • Ở một ví dụ khác, doanh nghiệp nên cố gắng tập trung vào đáp ứng thị hiếu của tệp 20% khách hàng chủ chốt thay vì cố gắng làm hài lòng tất cả.

  • Microsoft cũng là một ví dụ điển hình trong việc áp dụng nguyên tắc 80-20 vào việc sửa lỗi những cái phần mềm của mình. Cụ thể, họ tập trung vào vá 20% những cái lỗi có ảnh hưởng lớn nhất, từ đó giúp ngăn chặn 80% những cái lỗi hay là sự cố có thể xảy ra trong hệ thống.

Châm ngôn dành cho nguyên tắc này đó là "công sức tối thiểu, hiệu quả tối đa." Đối với dân IT chúng ta, nguyên tắc 80-20 này cũng vô cùng hữu ích trong việc là cải thiện cũng như là tối ưu quá trình học lập trình. Cụ thể như sau.

1. 20% khái niệm, cú pháp được sử dụng trong 80% trường hợp.

Điều đầu tiên các bạn cần ghi nhớ đó là thông thường 20% khái niệm cũng như là cú pháp của một ngôn ngữ lập trình sẽ được các bạn sử dụng trong 80% trường hợp các bạn làm việc với ngôn ngữ lập trình đó. Khi bắt đầu học một ngôn ngữ lập trình mới, hãy tập trung tối đa thời gian vào những khái niệm và kiến thức cơ bản nhất vì đây sẽ là những thứ mà các bạn sẽ sử dụng thường xuyên nhất. Những kiến thức này thường là về

  • các kiểu dữ liệu
  • biểu thức điều kiện
  • vòng lặp
  • hàm
  • các toán tử cơ bản

Những kiến thức này thường rất dễ để làm quen nhưng rất khó để thành thục.

Mình thấy có một lỗi cơ bản mà rất nhiều bạn khi mới học lập trình thường hay mắc phải, đó là các bạn nhảy vào những cái kiến thức nâng cao, ví dụ như là đệ quy, lập trình hướng đối tượng, socket hoặc là đa luồng quá sớm.

Nắm chắc các kiến thức cơ bản và luyện tập thành thục thông qua các bài tập code với chúng sẽ tốt hơn rất nhiều so với việc là học lan man, mỗi thứ biết một ít nhưng không có cái gì nắm chắc cả.

Hãy nhớ rằng với hầu hết các ngôn ngữ lập trình, 20% kiến thức cơ bản là đã đủ để các bạn có thể code tự tin trong 80% bài toán cũng như là vấn đề rồi. 80% kiến thức còn lại các bạn có thể dần dần bổ sung sau này khi các bạn thực sự cần đến chúng.

Còn nếu các bạn không tin, các bạn hãy thử hỏi những người lập trình viên có nhiều kinh nghiệm mà các bạn quen biết xem là trong quá trình họ đi làm, bao nhiêu lần họ sử dụng đến đệ quy hay là đa luồng.

2. 20% các thư viện, các hàm cung cấp 80% tính năng.

Điều thứ hai mà các bạn nên biết đó là 20% các thư viện cũng như là các hàm sẽ cung cấp cho chúng ta 80% tính năng.

Các bạn có biết vì sao iOS và Android là hai hệ điều hành phổ biến nhất dành cho các thiết bị di động hay không? Một lý do rất là quan trọng đó là cái kho ứng dụng của hai hệ điều hành này.

Tương tự như vậy, sự phổ biến của một ngôn ngữ lập trình phụ thuộc rất nhiều vào kho thư viện được viết dành cho ngôn ngữ lập trình đó. Chúng ta có thể dễ dàng nhìn thấy điều này ở những ngôn ngữ lập trình phổ biến nhất ngày nay, ví dụ như là Python, Java, C++ hay là JavaScript, khi mỗi một ngôn ngữ lập trình này sở hữu cho mình kho thư viện vô cùng đồ sộ.

Tuy nhiên, chúng ta chỉ cần biết cách sử dụng một vài những cái thư viện phổ biến và được sử dụng nhiều nhất là đủ rồi. Việc học sử dụng quá nhiều thư viện đôi khi lại khiến cho chúng ta không thực sự thành thục bất kỳ một thư viện nào.

Bản thân mình đã học và sử dụng Python được gần 10 năm nay rồi. Hiện tại mình đang là một senior AI engineer. Tuy nhiên, mình cũng chỉ tự tin là mình có thể sử dụng thành thục 5 cho đến 6 thư viện Python mà thôi.

Những thư viện này giúp mình giải quyết hầu hết các vấn đề cũng như là bài toán mình gặp trong công việc hàng ngày. Thế còn những cái thư viện khác, khi nào mình cần thì mình Google và sau khi Google xong thì mình cũng quên luôn tại vì ít khi sử dụng lại.

Ngoài ra, bản thân bên trong của mỗi thư viện thì số lượng những cái hàm hữu ích được sử dụng thường xuyên cũng chiếm một tỷ lệ rất nhỏ. Thành thạo một thư viện có nghĩa là các bạn nắm được cách sử dụng của những cái hàm chủ chốt này chứ không phải là việc các bạn biết được càng nhiều hàm thì càng tốt.

3. Dành 80% thời gian vào thực hành.

Điều thứ ba giúp cho các bạn có thể học một ngôn ngữ lập trình mới một cách nhanh nhất đó là hãy dành 80% thời gian các bạn học ngôn ngữ lập trình này vào việc thực hành.

Các bạn đừng dành quá nhiều thời gian vào việc xem những cái tutorial trên YouTube hay là trên internet. Các bạn hãy chỉ nên sử dụng 20% vào việc là đọc tài liệu, hướng dẫn, xem video mà thôi, còn hãy dành 80% thời gian còn lại vào việc thực hành.

Các bạn có thể luyện tập khả năng lập trình thông qua những cái project nhỏ hoặc là thông qua những cái nền tảng như là LeetCode, HackerRank hay là Codewars.

Bản thân mình ngày trước học Python, mình cũng chỉ đọc duy nhất một cuốn sách đó là Dive Into Python. Và cuốn sách này thực ra mình chỉ đọc có nửa cuốn sách thôi chứ mình không đọc cả cuốn. Còn đâu hầu hết những gì mình học được đều là thông qua những cái bài tập cũng như là project ở trên trường cũng như là công ty.

4. Chọn thời gian học lập trình.

Điều cuối cùng mình muốn gửi đến các bạn để giúp cho các bạn có thể học một ngôn ngữ lập trình mới nhanh, tốn ít thời gian và hiệu quả, đó là hãy chọn thời gian học lập trình.

Có nhiều bạn học viên của mình từng nói với mình rằng mỗi ngày em dành 5 cho đến 6 tiếng để học lập trình, nhưng thực sự cái điều này nó không cần thiết.

Hầu hết chúng ta khi ngồi học hay là làm một thứ gì đó, không nhất thiết là học lập trình, chúng ta chỉ có khả năng tập trung cao độ trong một khoảng thời gian nhất định mà thôi.

Ví dụ

Ví dụ đối với mình, khoảng thời gian từ 3:00 chiều đến 5:00 chiều là khoảng thời gian mà mình cảm thấy mình tỉnh táo nhất, năng suất nhất, học tập và làm việc hiệu quả nhất.

Đối với mỗi một người thì khoảng thời gian vàng này nó lại khác nhau. Nếu hiện tại đối với các bạn, học ngoại ngữ đang là ưu tiên hàng đầu thì các bạn hãy dành cái khoảng thời gian quý giá này để học ngoại ngữ.

Còn nếu học lập trình hay là luyện tập code đang là ưu tiên hàng đầu của các bạn thì hãy đảm bảo rằng các bạn sẽ làm chúng trong khoảng thời gian vàng này để đạt hiệu quả cao nhất.

Tổng kết

Vậy là trong video này, mình đã chia sẻ cho các bạn một vài những cái tip để giúp cho các bạn có thể học một ngôn ngữ lập trình mới tốn ít thời gian nhất và đạt hiệu quả cao nhất.

Trong hơn 10 năm nay, học và làm trong mảng công nghệ thông tin, mình đã áp dụng triệt để những cái tip này để giúp mình có thể học những cái ngôn ngữ lập trình khác nhau như là C++, Java hay là Python.

Mình hy vọng rằng những chia sẻ này của mình có ích cho các bạn, đặc biệt những bạn nào đang bắt đầu học lập trình. Mình rất cảm ơn các bạn đã dành thời gian theo dõi video này của mình và mình xin hẹn gặp lại các bạn ở những video sau.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment