Bài viết được sự cho phép của tác giả Phạm Bình
Chào các bạn,
Lập trình đang là ngành nghề hot hiện nay. Đua theo xu hướng này, là các trung tâm đào tạo lập trình ngày càng nhiều, các trường Đại Học cũng thi nhau bổ sung thêm các ngành, khoa liên quan tới CNTT. Việc có nhiều đơn vị đào tạo như vậy là rất tốt, các bạn muốn theo ngành IT sẽ có nhiều cơ hội học tập hơn. Nhưng các bạn cũng đừng quên rằng “Học lập trình thì tự học là chủ yếu”, đừng ỷ lại vào các trung tâm đào tạo, hay trường học, đừng gán cho họ cái trách nhiệm “phải biến bạn thành lập trình viên”.
Cũng như mình vừa viết “Học lập trình thì tự học là chủ yếu”, và dưới đây là 4 lý do để chứng minh điều này.
Lưu ý: Tự học không có nghĩa là không được học từ người khác, tự học nghĩa bạn phải chủ động tìm hiểu kiến thức, không đợi người khác phải dục, phải bắt ép, hay phải hướng dẫn một cách quá chi tiết như “cầm tay chỉ việc”.
Kiến thức lập trình rất rộng, bạn không thể đợi người khác dạy thì mới học
Tuy lập trình chỉ là một góc của Công nghệ thông tin, nhưng nó cũng đủ rộng để bạn “học mãi mà không hết”. Thực tế, cái “góc nhỏ” lập trình rộng tới nỗi không ai có thể biết hết được. Và mặc dù không ai có nhu cầu học hết mọi thứ, nhưng người ta vẫn luôn có xu hướng học thêm những kiến thức mới.
Mình đã theo đuổi nghề lập trình khá lâu rồi, mình chưa bao giờ đặt mục tiêu là phải học tất tần tật kiến thức lập trình. Nhưng mình vẫn phải nạp thêm kiến thức mới vì nó thật sự có ích cho công việc.
Điều đó cho thấy rằng dù không ai đặt mục tiêu là học hết, chỉ cần học một phần nhỏ để đáp ứng được công việc, nhưng như vậy thôi cũng đủ để người ta “học mãi mà không hết”.
Như vậy, nếu bạn cứ đợi ai đó dạy thì mới học, thì sớm muộn những kiến thức bạn có cũng sẽ bị lỗi thời, hoặc là nó quá cơ bản, không giúp bạn đạt được hiệu quả cao trong công việc.
Chi phí để học rất cao, bạn sẽ không đủ tiền và thời gian
Giả sử quan điểm của mình ở mục I không đúng với bạn, tức là bạn đều đặn tham gia một khóa học nào đó để tiếp thu kiến thức mới – đồng nghĩa là luôn có người dạy bạn. Thì mình cho rằng mỗi tháng bạn sẽ phải tham một khóa học khác nhau, với học phí giao động từ 1 – 10 triệu, và tiêu tốn khoảng 16 – 24 giờ học. Các kiến thức càng mới, càng khó thì học phí càng cao và thời gian học cũng càng nhiều. Liệu bạn có đủ tài chính và thời gian để “học lập trình” theo cách này.
Kiến thức khó thì không có ai dạy
Khi đi làm, biết các kiến thức căn bản có thể giúp bạn hoàn thành được 80% công việc, nhưng đó chỉ là các công việc đơn giản kiểu “ai cũng làm được nếu họ chịu làm”. 20% công việc còn lại, dù ít, nhưng nó lại là các công việc quan trọng, có độ khó nhất định, có tính quyết định đến toàn bộ tính năng của sản phẩm. Nhưng thật sự rất khó để tìm được nơi dạy bạn giải quyết các vấn đề khó đó.
Các kiến thức lập trình được dạy ở các trung tâm đào tạo, hoặc các trường Đại học đa phần đều là những kiến thức căn bản, hoặc dạng lý thuyết hàn lâm. Những kiến thức chuyên sâu, kiến thức khó thì lại chẳng có ai dạy, hoặc có người dạy nhưng không hiểu:
- Người dạy giỏi thì thường không giỏi công nghệ: Mỗi người chỉ có 24h, nếu họ tập trung vào kỹ năng dạy, họ sẽ không có thời gian để tìm hiểu công nghệ chuyên sâu.
- Người biết thì không truyền đạt được: Cũng như ý trên, nếu họ tập trung vào kỹ năng công nghệ, họ sẽ không có thời gian để rèn luyện khả năng trình bày, hoặc đơn giản là họ không có thời gian để truyền đạt cho người khác.
- Ít người quan tâm tới các vấn đề khó: Mình cũng chỉ ra rồi, chỉ 20% công việc là khó, nên cũng ít người quan tâm. Việc khó đã chẳng ai dạy, đã thế lại còn chẳng ai học, cứ vậy nó tạo nên cái vòng luẩn quẩn.
Vậy nếu bạn muốn học các kiến thức khó, các kiến thức chuyên sâu, cách tốt nhất vẫn là tự học.
Mỗi lập trình viên luôn có “n” vấn đề
Mỗi lập trình viên luôn có các vấn đề của riêng họ, trong khi các trung tâm đào tạo hay trường học mở ra là để dạy cho nhiều người, nên sẽ có nhiều kiến thức buộc bạn phải tự học thì mới biết được, như cách dùng một thư viện (thư viện lập trình) nào đó, hoặc cách dùng một framework mới mẻ, hoặc đơn giản là chữa một lỗi khó hiểu.
Tất cả các vấn đề kể trên đều đòi hỏi đến khả năng tự học, tự tìm hiểu, bởi không có ai giống ai, vấn đề của bạn người khác chưa chắc đã quan tâm, nên khả năng cũng sẽ không có ai giúp bạn.
Bài viết này không có ý nói rằng “học lập trình thì bắt buộc phải tự học”, hay cũng không có ý nói rằng học lập trình tại các trung tâm hay trường Đại học là không hiệu quả. Cách tốt nhất vẫn là học theo cả hai cách này, dù không có một tỷ lệ nào giữa việc được người khác dạy và tự học, nhưng qua trải nghiệm của bản thân, mình có thể khẳng định Học lập trình thì tự học là chủ yếu.
Bài viết gốc được đăng tải tại phambinh.net
Bài viết liên quan
Học lập trình cần học các kiến thức cơ bản nào?
Top 7 phương pháp tự học lập trình tốt nhất dành cho Developer
Xem thêm Việc làm IT hấp dẫn tại TopDev