2 điểm bởi GN⁺ 2025-07-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giáo dục chính quy hữu ích cho việc truyền đạt kỹ năng thành thạo một cách hiệu quả, nhưng có giới hạn trong việc phát triển trực giác để giải quyết những vấn đề bất ngờ
  • Thử và sai lặp đi lặp lại có chủ đích (thuật toán) là yếu tố giúp nâng cao năng lực nhiều nhất thông qua quá trình thất bại và sửa chữa trong thực tế
  • Trong các ví dụ thực tế, nhiều nhân vật như Linus Torvalds, Margaret Hamilton đã trải qua thất bại và vượt qua chúng để đạt được năng lực xuất sắc
  • Mentoring là chất xúc tác quan trọng, nhưng thử nghiệm tự chủ và trải nghiệm trực tiếp mới là cốt lõi của sự trưởng thành cuối cùng
  • Thử nghiệm định hướng mục tiêu bằng cách trực tiếp va chạm, vấp ngã và tự mình giải quyết vấn đề là nền tảng của việc nâng cao năng lực thực sự

Sức mạnh tạo nên những kỹ sư phần mềm giỏi nhất: thử và sai có chủ đích

Huyền thoại lớp học

  • Giáo dục chính quy có lợi cho việc truyền đạt kiến thức giá trị, nhưng là một quy trình được tối ưu hóa để phù hợp với quy mô
  • Nó đóng gói kinh nghiệm thực tiễn phức tạp vào những quy trình đã được chắt lọc kỹ để có thể truyền đạt dưới dạng hoàn thành trong một học kỳ
  • Trong quá trình này, có thể học được năng lực thành thạo cơ bản cần cho công việc thực tế, nhưng vẫn tồn tại giới hạn trong việc xây dựng khả năng trực giác giải quyết vấn đề khi gặp khủng hoảng ngoài dự đoán
  • Đặc biệt, khi sự cố dịch vụ thực tế xảy ra lúc 3 giờ sáng, chỉ với công thức học trong lớp thì không đủ để xử lý

Sự trưởng thành thực sự khi tự mình va chạm và học hỏi

Những trường hợp điển hình

  • Linus Torvalds đã tạo ra Linux khi viết lại MINIX
  • Margaret Hamilton đã trực tiếp sửa các vấn đề mã theo thời gian thực trong dự án Apollo và từ đó khai sinh khái niệm độ tin cậy hiện đại
  • Vô số maintainer mã nguồn mở cũng trưởng thành bằng cách tự làm hỏng chiếc laptop của mình rồi tự sửa lại
  • Họ không hề nghe bài giảng tuần tự trước, mà có được năng lực sâu sắc nhờ thất bại và tác động thực tế kéo theo từ những thất bại đó

Vì sao thử và sai vượt lên trên công thức

  1. Vòng phản hồi diễn ra tức thì. Quá trình phân tích crash từ log mang lại khả năng tiếp thu nhanh hơn rất nhiều so với quiz
  2. Edge case tự nhiên lộ ra trong môi trường thực tế, và ta sẽ gặp những trường hợp sử dụng mà giáo trình không thể tưởng tượng ra
  3. Những vấn đề được giải quyết một cách khó khăn sẽ in sâu vào trí nhớ. Chúng trở thành trí nhớ cơ bắp
  4. Khi không có sẵn hướng dẫn, sự sáng tạo sẽ bùng nổ mạnh mẽ

Nhìn lại mentoring: chất bổ sung, không phải chất thay thế

  • Một mentor giỏi giúp đưa ra phản hồi nhanh và mở rộng góc nhìn, nhưng rốt cuộc người trực tiếp thử nghiệm và trải nghiệm vẫn là chính bản thân mình
  • Code review có giá trị vì chia sẻ kết quả thử nghiệm, nhưng không thay thế được trải nghiệm trực tiếp

Xây dựng thói quen thử nghiệm tự chủ

  • Thử làm những side project khiến bản thân hơi thấy bất an
  • Đo đạc mọi thứ để khi thất bại có được dữ liệu có thể phân tích
  • Đặt ra ràng buộc như giới hạn framework hoặc phải hoàn thành trong 48 giờ để rèn khả năng giải quyết sáng tạo
  • Công khai mã nguồn để nhận sự kiểm chứng từ bên ngoài
  • Viết tổng kết hồi cứu theo tuần để ghi lại nguyên nhân thất bại và những gì đã học được

Tổng kết

  • Mentoring, khóa học, blog... đóng vai trò chất xúc tác, nhưng năng lực thực sự được tích lũy trong quá trình va chạm quyết liệt tại hiện trường
  • Những kỹ sư giỏi nhất đạt được tăng trưởng và giải quyết vấn đề thực chất bằng cách lặp lại thử và sai có chủ đích một cách tự do
  • Kinh nghiệm thu được trong quá trình này sẽ trở thành tài sản lớn nhất cho chính bản thân trong tương lai

1 bình luận

 
GN⁺ 2025-07-18
Ý kiến trên Hacker News
  • Bản thân tôi là một lập trình viên tự học và đã dành phần lớn sự nghiệp làm việc tại các tập đoàn lớn cùng các đồng nghiệp học CS bài bản
    Theo kinh nghiệm của tôi, lập trình viên tự học nếu đủ thông minh thì cuối cùng cũng sẽ giải quyết được bài toán được giao
    Người học CS thường có nhiều trường hợp thậm chí không thử khi gặp một lĩnh vực hoàn toàn xa lạ với họ (tất nhiên còn tùy tính cách, nhưng tôi nghĩ rơi vào khoảng 85%)
    Trước mức độ bất định cao, họ không thể tiến lên
    Cuối cùng, người học CS hợp với môi trường doanh nghiệp lớn hơn, làm việc theo khuôn mẫu như những bánh răng có thể thay thế
    Lập trình viên tự học thì luôn đổi mới, làm việc theo hướng giảm các lặp lại kém hiệu quả, và thái độ độc đáo đó khiến những người xung quanh cảm thấy bất an
    Nhưng chính những người tự học như vậy lại tạo ra kết quả vượt trội hơn hẳn
    Có vẻ đa số lập trình viên coi trọng việc giữ được việc làm và giảm bất an hơn là bản thân mã nguồn xuất sắc

    • Nhiều kỹ sư được đào tạo chính quy cũng rất chủ động giải quyết vấn đề mới
      Đây không hẳn là vấn đề tự học/chính quy mà là vấn đề về tính tò mò, chăm chỉ, sáng tạo, trí thông minh và khí chất cá nhân
      Người tự học buộc phải có những đặc điểm đó mới thành công được, nên có thể chúng trông nổi bật hơn trong nhóm này
      Khi một kỹ sư được đào tạo chính quy cũng có thêm các phẩm chất đó, họ thường vượt trội hơn cả hai nhóm còn lại

    • Có lẽ khác biệt lớn nhất là về tính cách
      Kiểu lập trình viên tự học như tôi thường lấy sự cần mẫn làm thế mạnh
      Tôi không giỏi nhìn bức tranh lớn theo góc độ kỹ thuật, nhưng bù lại luôn cố gắng tạo ra nhiều đầu ra nhất trong nhóm
      Tôi làm tới ba bản prototype chỉ trong vài ngày rồi đem đi thử nghiệm thực tế
      Các đồng nghiệp học CS thì chỉ thiết kế một lần trên bảng trắng rồi viết code đúng một lần
      Hai cách đó chưa từng được áp dụng cho đúng cùng một công việc nên khó nói cách nào cho kết quả tốt hơn
      Trong đầu tôi, cách của mình có cảm giác là cách đã được “kiểm chứng ngoài thực tế”
      Cách làm kiểu CS đúng là thường được xem như lý tưởng hơn
      Nhưng tôi cũng nghĩ mình đã học được rất nhiều nhờ được các kỹ sư học CS kèm cặp
      Sau khoảng 10 năm kinh nghiệm trong ngành thì dù xuất phát điểm thế nào, cuối cùng mọi người cũng trở nên khá giống nhau và hình thành trực giác tương tự về “đáp án đúng”
      Có thể tôi đã phần nào tô hồng hoặc khái quát hóa quá mức, mong người khác bổ sung trong phần trả lời

    • Tôi đồng ý
      Phần lớn chương trình CS khá xa thực tế công việc nên bằng cấp không phải là thước đo năng lực tức thì
      Nhưng tôi hoàn toàn không thể đồng ý với nhận định rằng 85% người tốt nghiệp CS không giải quyết được vấn đề lạ
      Nếu có một ưu điểm của bằng CS, thì đó là lộ trình kỹ thuật của nó bao gồm rất nhiều môn cực nặng đòi hỏi năng lực trí tuệ cao
      Rất khó tin rằng một người đủ khả năng vượt qua chừng ấy môn học lại không làm nổi công việc phát triển phần mềm thực tế
      Khi đi vào những lĩnh vực phát triển thật sự khó, tôi lại thấy phần lớn là những người có bằng CS nâng cao
      Có lẽ những đặc tính đó xuất hiện ở những ai có hứng thú sâu sắc với phần mềm, và trong số đó cũng có rất nhiều người học CS

    • Người học CS thậm chí không thử với vấn đề xa lạ
      Tôi phản đối rất mạnh ý này
      Tôi cũng là trường hợp tự học rồi sau đó lấy bằng CS
      Trước đây tôi từng vật lộn cả ngày để tự tay triển khai code duyệt đồ thị và phát hiện vòng lặp từ đầu
      Sau khi học môn cấu trúc dữ liệu/giải thuật, tôi đã không mất nổi 2 giây để đưa ra lựa chọn đó
      Người học CS có thể thu thập thông tin theo cấu trúc và cũng có ngôn ngữ để thảo luận khi cần đào sâu
      Thực tế mà nói, đồng nghiệp của bạn thật sự chẳng làm gì và chỉ đẩy đi với câu “không thể làm được” sao?
      Theo kinh nghiệm của tôi, việc né trách nhiệm công việc khác nhau nhiều hơn theo mức junior-mid-senior
      Càng senior thì càng phải sở hữu vấn đề nhiều hơn
      (Trình phân tích stack bằng C mà tôi làm có cả parsing mã C, tạo call graph và tính toán mức dùng bộ nhớ stack tệ nhất)

    • Theo kinh nghiệm của tôi, người tự học được sàng lọc tự nhiên
      Tức là người tự học mà không giải quyết nổi vấn đề lạ thì thậm chí còn không được tuyển
      Những người xuất thân đào tạo chính quy thường ở mức trung bình hoặc cao hơn, nhưng không hẳn áp đảo
      Còn người nào vừa tự mình mày mò ra mọi thứ, vừa được xác thực thêm bằng đào tạo đại học, thì thể hiện sức mạnh thực chiến thật sự đáng gờm

  • Theo tôi, cốt lõi không phải là cách học mà là “đam mê”
    Nếu động lực yếu thì dù học theo cách nào cũng có giới hạn rõ ràng
    Chủ đề này cũng có khía cạnh khó bàn bằng con số
    Giáo dục chính quy có thể giúp xây nền vững chắc cho các khái niệm cốt lõi như toán, phần cứng, OS, compiler...
    Tự học thì thiên về mục tiêu nên có thể bỏ qua nền tảng cơ bản
    Khi bạn còn không biết mình không biết gì, có một người hướng dẫn tốt (giáo sư, một cuốn sách hay) sẽ tiết kiệm được rất nhiều thời gian
    Rất nhiều kỹ sư, trong đó có tôi, đều trải qua cả học chính quy lẫn không chính quy
    Nếu có đam mê, bạn sẽ tự tiếp tục làm ra thứ gì đó và thử nghiệm đủ kiểu ngoài việc học bài bản
    Điều phân biệt kỹ sư thực sự xuất sắc không phải là hình thức giáo dục mà là đam mê rõ ràng
    Những trường hợp như Linus hay Margaret cuối cùng cũng đều là những người có tinh thần học hỏi phi thường

    • Là một lập trình viên tự học, tôi cũng hoàn toàn đồng ý
      Tôi tự học từ thời máy tính 8-bit những năm 80 và chưa từng học đại học
      Khi có công việc lập trình chính thức đầu tiên ở tuổi 19, tôi đã có 9 năm kinh nghiệm lập trình
      Khi đa số người khác tốt nghiệp đại học thì tôi đã code gần 15 năm rồi
      Tôi nghĩ rất khó để xem nhẹ loại đam mê và động lực đó
      Đến giờ, sau gần 40 năm, tôi vẫn tận hưởng phần mềm với tinh thần gần như vậy
      Việc tạo ra thứ gì đó vốn đã vui, và tôi vẫn liên tục đọc paper, theo dõi xu hướng ngành, và viết code cực nhiều
      Tuy vậy, tôi hơi tiếc cách nhìn mặc định rằng người tự học thiếu nền tảng cơ bản
      Thực tế nhiều người tự học cũng đào rất sâu vào phần học thuật—có lẽ còn tùy lĩnh vực
      Có thể họ thiếu thời gian để học theo chiều sâu, nhưng khi tích lũy hàng chục năm kinh nghiệm thì đôi khi nền tảng của họ còn dày hơn cả người chỉ đi học trường lớp
      Tôi cũng đã tuyển dụng/sa thải khá nhiều người, và nhiều lần người tự học cho kết quả tốt hơn
      Suy cho cùng họ đã “làm” nhiều hơn rất nhiều—đam mê cuối cùng thúc đẩy khối lượng học tập

    • Tôi cực kỳ đồng cảm với ý “khi không biết điều mình không biết, có ai đó dẫn dắt hiệu quả sẽ rất hữu ích”
      Tôi là trường hợp nằm đâu đó giữa chính quy và không chính quy
      Tôi chưa học toán rời rạc nâng cao hay đại số tuyến tính, nên thiếu khá nhiều kiến thức nền
      Tôi thậm chí còn không biết phải tìm từ khóa nào
      Có những lĩnh vực thật sự cần ai đó chỉ đường
      Đến tận cuối tuổi 30 mà tìm gia sư để kiểm chứng chương trình toán vector vẫn thực sự rất khó

    • Đam mê thúc người ta tự học, nhưng trong môi trường lớp học thì vì luôn có người giữ bạn trên đường ray nên có thể ít cần nó hơn
      Ngoài ra cũng có kiểu tự học “hướng mục tiêu”, nhưng cũng có người tự học với mục tiêu là hiểu nguyên lý vận hành của cả hệ thống

    • Dù có ai cưỡng ép đưa bạn ra bờ nước, điều đó không có nghĩa bạn chưa từng tự mình đi tới đó
      Theo tôi, điểm khác biệt nhất quán là mọi người tự học ít nhất cũng đã tự mình đi ra bờ nước được một lần

    • Tôi là kiểu kết hợp giữa học chính quy và tự học
      Tôi học rất nhiều môn ở đại học nhưng không lấy được bằng nhờ thi cử
      Việc tôi có thể tự học nốt phần còn lại là nhờ đã xây nền từ các lớp học trước đó

  • Tôi nghĩ các lớp đại học thực sự rất tuyệt
    Khi còn chưa biết gì, tôi sẽ không bao giờ tự mình đào vào socket API của C, dự án bash, hệ thống phân tán, cấu trúc dữ liệu hay thuật toán
    Thực tế tôi đã phỏng vấn nhiều người tự học hoặc tốt nghiệp bootcamp, và họ có xu hướng chỉ đào vào vùng quen thuộc hoặc sụp đổ rất nhanh trước các câu hỏi học thuật
    Ngược lại, người học đại học mà không thực sự code nhiều thì năng lực rất yếu, và ngay cả khi đang học đại học họ cũng quên sạch những gì đã học trước đó
    Tôi nghĩ tổ hợp tốt nhất là có kinh nghiệm code nhất định trước khi vào đại học
    Bạn cần từng tự mình va đập thì mới thật sự biến những lời giải lý thuyết và thanh lịch được giới thiệu trong giảng đường thành của mình
    Càng từng khổ sở vì lỗi quản lý bộ nhớ như RAII, bạn càng đồng cảm sâu hơn với những khái niệm như vậy

    • Nên phân biệt người tốt nghiệp bootcamp với người tự học
      Bootcamp cũng có thể có người giỏi, nhưng những người tôi biết đa phần là kiểu không tự học nổi nên định vào đại học hoặc chuyển ngành, rồi chọn bootcamp vì đó là phương án rẻ hơn
      Trước đây thậm chí còn chưa có bootcamp, còn tôi thì cũng tránh xa các khóa online/cách học truyền thống
      Tôi muốn tạo ra thứ gì đó hay ho, và thấy việc giải quyết vấn đề một cách độc lập thú vị hơn là làm lại theo giáo trình
      Lý do tôi tự học C từ nhỏ cũng là vì có những việc không thể làm được chỉ bằng tài liệu hay code sẵn có, và tôi quá muốn có kết quả ngầu đến mức phải lục forum, đọc tài liệu và thử sai để đạt được nó
      Tôi cho rằng ham muốn học thật mạnh còn quan trọng hơn cả phương pháp học

    • Trước khi vào đại học, tôi đã rất thành thạo C, socket API, và còn có cả kinh nghiệm bàn giao phần mềm
      Một người bạn của tôi hồi cấp ba còn kiếm tiền bằng cách bán game cho C64
      Cả hai chúng tôi đều vượt xa người mới ra trường về kỹ năng code thực chiến
      Thứ tôi thiếu là phần lý thuyết như giải tích, đại số tuyến tính, toán rời rạc, và đôi khi cả cấu trúc dữ liệu, thuật toán
      Chương trình CS đã lấp được những lỗ hổng đó, nhưng không nâng kỹ năng code của tôi lên
      Các môn liên quan đến lập trình chẳng hề khó với tôi, thứ làm tôi vất vả lại là toán và các môn lý thuyết
      Chương trình CS khiến tôi trở thành một kỹ sư cân bằng hơn, chứ không khiến tôi thành một lập trình viên giỏi hơn

    • Hồi tôi học đại học ngày xưa, không khí trong khoa CS hoàn toàn ngược với những gì ngày nay người ta nói là ưu điểm của đại học

      • Những lớp học cố tình đánh trượt sinh viên
      • Các bài giảng nặng lý thuyết, không thực dụng, được giáo sư chọn và dạy theo sở thích cá nhân
      • Cả ngành học được thiết kế theo kiểu khó tiếp cận
        Chính vì vậy tôi đã không chọn CS làm chuyên ngành ở đại học (hiện là senior developer tại một công ty công nghệ Mỹ), và thời đó dù CS là ngành danh giá ở trường top chỉ nhận điểm cao nhất, tỷ lệ trượt, thất nghiệp và bầu không khí từ giảng viên đều tệ nhất
        Dĩ nhiên có người nhận được nhiều giá trị từ đại học, nhưng thực tế không phải lúc nào cũng vậy
        Nhiều người tốt nghiệp CS mà tôi gặp trong công việc lại rất yếu ở giao tiếp, hiểu biết kinh doanh và sắp xếp ưu tiên
        Nhiều người chỉ biết viết code (mà ngay cả vậy cũng không giỏi), và hiếm khi chỉ riêng chương trình CS ở đại học đã chuẩn bị hoàn toàn cho công việc thực tế
        Tôi thậm chí còn nghĩ chính cách dạy ở đại học mới là ví dụ điển hình của việc ở yên trong “comfort zone”
    • Cũng cần thừa nhận rằng bản thân việc tiếp cận/chi trả học phí đại học là một vấn đề giai cấp xã hội và kinh tế
      Và cũng có những người tự học đã tự mình làm đủ thứ như socket API hay dự án bash
      Nhân tiện, người tự học và người xuất thân bootcamp là hai kiểu hoàn toàn khác nhau
      Có thể tôi sẽ gục trong những tình huống được dựng sẵn như phỏng vấn kiểu audition, nhưng khi ở một mình tôi lại giải quyết được vấn đề thực tế rất tốt

    • Có thể nghe hơi kiểu “ông chú”, nhưng tôi cũng thuộc thế hệ từng học đại học rất tốt
      Chúng tôi từng làm compiler, toy OS, giao diện GPS...
      Vài năm trước tôi được mời sang một trường khác để dạy và đã rất thất vọng
      Chương trình học trông như kéo dài bootcamp hiện đại thành vài năm rồi chèn thêm vài môn chẳng mấy liên quan
      Hầu như không có nền tảng cơ bản, ngoài môn thuật toán thì toàn React và các framework đang hot ở startup địa phương
      (Sửa: xem kỹ curriculum thì đúng là có cả các môn business, quản trị, nhân văn, hóa học, môi trường, khởi nghiệp, e-sports)

  • Có vẻ mọi người đang bỏ khá nhiều công sức để tự chấp nhận việc mình thiếu nền giáo dục bài bản
    Có người tự học rất xuất sắc và cũng có người có bằng cấp mà không hẳn thông minh, nhưng từ trải nghiệm cá nhân tôi vẫn nghĩ nếu có bằng CS thì con đường của tôi đã dễ hơn
    CS về bản chất không chỉ là coding, và cũng giống như ME, mỗi nghề có kỳ vọng và vai trò khác nhau
    Kỹ sư cơ khí cũng không giỏi bằng thợ máy trong những việc lặt vặt như rò dầu hay vá lốp
    Nhưng không vì thế mà người ta xem nhẹ bằng kỹ sư
    Lúc đầu tôi cũng từng trực tiếp xắn tay trong xưởng sản xuất và xử lý được cả những thứ kỹ thuật viên không sửa nổi, nhưng đó là do sở thích cá nhân và sự tò mò

  • Người tự học đạt thành tích tốt hơn là vì họ chính là những người có đủ động lực, đam mê và tính tự chủ để trở thành người tự học
    Cuối cùng, nếu có tò mò, tập trung và kỷ luật thì dù chính quy hay không bạn cũng sẽ vượt mức trung bình
    Cũng có thiên lệch sống sót ở đây—thực tế ta chỉ nhìn thấy những người tự học đã sống sót được trong nghề
    Ngược lại, những người tự học thất bại có thể đã làm tốt hơn nếu được dạy dỗ bài bản
    Tôi là trường hợp vừa thích CS/toán trong trường lớp, vừa cảm thấy bản thân hợp với việc tự học hơn về mặt khuôn khổ

    • Khi chẳng có thống kê nào được đưa ra thì tôi nghĩ cũng không cần lo lắng quá về lỗi thống kê
      Từ “thường” chỉ là một cách diễn đạt để bọc lại sự mơ hồ mà thôi
  • Tôi là lập trình viên phần mềm đồng thời là giảng viên CS ở đại học
    Điểm chung của những kỹ sư thực sự thành công cuối cùng vẫn là “sự quan tâm” và “đam mê”
    Người tự học đương nhiên rất quan tâm đến lĩnh vực đó, nên bản thân động lực của họ đã là một dạng kiểm chứng
    Người có bằng thì lẫn lộn hơn—có người chỉ nhắm đến tấm bằng, biết từ ngữ lý thuyết nhưng khó phân biệt năng lực thật

    • Đó chính là cốt lõi
      Người tự học về bản chất là những người có động lực và hứng thú mạnh đến mức sẵn sàng bước ra khỏi hệ thống có sẵn để tự học
  • Hãy hình dung tri thức là một vòng tròn trên bảng
    https://matt.might.net/articles/phd-school-in-pictures/
    Vòng tròn học được ở đại học nhỏ đến kinh ngạc và phần lớn là curriculum giống nhau
    Ví dụ, chẳng có thời gian để dạy thuật toán dmc (thứ được dùng trong thuật toán nén mạnh nhất)
    Thay vào đó, ai cũng lặp lại một curriculum mang tính phổ thông
    Nhưng có những người đã đi ra ngoài vòng tròn đó
    Chính họ là những lập trình viên giỏi nhất ngành—họ tự biết cả những thuật toán hiếm chỉ thấy trong paper nên thể hiện năng lực khác biệt
    Người tự học cũng vậy; họ có thể có những khoảng trống kiến thức ở phần vòng tròn chung mà ai cũng học, nên thường bắt đầu từ động lực cá nhân và sự khiêm tốn
    Nhưng vòng tròn tri thức mà họ có lại được bồi đắp một cách hữu cơ nhờ đam mê
    Tôi nghĩ chính đam mê mới là tín hiệu mạnh nhất cho hiệu suất của một kỹ sư

  • Nói cách khác, “một người đã chứng minh được khả năng tự xác định mình cần học gì một cách độc lập, rồi thực sự học nó, sẽ xuất sắc trong những công việc cũng đòi hỏi đúng năng lực đó”

  • Linus Torvalds đã viết lại MINIX từ đầu khi tạo ra Linux Margaret Hamilton đã tạo ra các khái niệm hiện đại về độ tin cậy phần mềm trong dự án Apollo
    Cả hai đều là những kỹ sư được đào tạo chính quy
    Giáo dục chính quy tạo cơ hội để có được sự trưởng thành về toán học và kỹ thuật, bao gồm cả năng lực “thực hành”

    • Torvalds vào thời điểm công bố phiên bản Linux đầu tiên năm 1991 thì thực ra gần như chưa được đào tạo CS một cách bài bản

    • Tôi cũng đồng cảm
      Bậc cử nhân của chúng tôi cũng từng có bài tập tự viết một OS đa tiến trình bằng assembly 68K
      Nhờ những trải nghiệm như vậy mà việc tiếp cận cấu trúc và nguyên lý vận hành của Linux kernel dễ hơn nhiều
      Nếu còn không biết kernel là gì thì hẳn đã chẳng thể bắt đầu nổi

  • Gần đây tôi đang thử tự học một bài toán phân tích số mà mình chưa có kinh nghiệm (viết sparse LU solver)
    Tài liệu hữu ích nhất không phải là tự triển khai ngay hay mổ xẻ code của solver có sẵn, mà là các lecture notes về chủ đề đó
    Khi xem cả khóa học, tôi còn biết thêm những khái niệm liên quan mà trước đó mình không biết
    Ở các lĩnh vực khác cũng vậy, tài liệu từ các khóa học đại học thường là loại chất lượng cao nhất
    Nếu nói rằng đại học là không cần thiết thì khó giải thích vì sao tài liệu tốt nhất lại thường đến từ đại học
    Cũng có lập luận rằng tự tay xây thứ gì đó là tốt nhất cho năng lực, nhưng ngay cả các project đại học cũng luôn đánh giá rất mạnh phần “xây thật”

    • Hoàn toàn đồng ý
      Sách kỹ thuật chuyên sâu cũng rất tuyệt, nhưng giá trị nhận được hoàn toàn khác nhau tùy bạn tiếp cận với thái độ nào
      Nếu chỉ học lý thuyết thuần túy mà không có ứng dụng thực tế nào thì sẽ nhanh chán và chóng quên
      Nhưng nếu học lý thuyết gắn với nhu cầu thực tế hay công việc liên quan thì nó lập tức biến thành kiến thức thực chiến rất cần thiết
      Một người đã tích lũy đủ trải nghiệm bằng tự học từ sớm rồi vào đại học mà vẫn giữ được đam mê thì có thể làm được những thứ cực lớn trong thời gian ngắn

    • Kết luận là, lý thuyết dĩ nhiên rất quan trọng
      Chỉ là nếu bạn làm thử một thứ gì đó trước rồi mới học lý thuyết, bạn sẽ nhìn ra đâu mới là insight thật sự rõ ràng hơn nhiều