Code theo video có giúp bạn nâng cao khả năng lập trình?
learning
19
White

Võ Cao Sơn viết ngày 10/08/2019

Video hướng dẫn, các khóa học online đang dần trở thành những nguồn tài nguyên hữu ích cho developer chúng ta, những người cần liên tục cải thiện, làm mới kiến thức. Chuyện một gã giữa đêm khuya ngồi code theo một gã khác trong máy tính đã trở nên phổ biến, phổ biến đến mức nhiều người lầm tưởng rằng đó là cách học code, cách cải thiện kĩ năng lập trình hiệu quả nhất. Xem nào… Mình không nghĩ vậy.

Phải công nhận rằng việc code theo ai đó để tạo ra được một sản phẩm đem đi khoe thật sự hấp dẫn. Còn gì vui hơn việc bạn có thể tạo ra một trang web đem đi khoe bạn bè chỉ trong vài đêm code theo? Điều mà bạn không thể tự mình làm trong thời gian ngắn như vậy.

Đó chính là vấn đề, vấn đề nằm ở chỗ bạn không thể tự mình làm ra sản phẩm đó, nhưng việc code ra được sản phẩm khiến bạn nghĩ rằng bạn thật sự làm được nó. Để biết được khả năng lập trình của bạn có được cải thiện hay không thông qua việc code theo video, trước tiên chúng ta phải hiểu xem lập trình thật sự là gì?
alt text

Lập trình thật sự là gì?

Bạn định nghĩa lập trình như thế nào? Theo mình, lập trình chính là việc bạn tạo ra thứ gì đó từ hư không. Rõ ràng, từ một ý tưởng vu vơ, bạn cần làm cho máy tính hiểu được ý tưởng đó và làm theo những gì bạn muốn.

Với định nghĩa của mình ở trên, rõ ràng code theo video chẳng phải là lập trình. Bởi vì bạn không tạo ra thứ gì từ hư không cả, cái bạn đang làm đã được tạo ra sẵn bởi gã trong máy tính rồi, bạn chỉ đang copy hắn mà thôi.

Nếu nó không phải là lập trình thì làm sao nó có thể giúp chúng ta cải thiện khả năng lập trình? Bạn không thể chạy tốt hơn thông qua việc ngồi xem các vận động viên chạy trên TV. Bạn không thể có cơ bắp đẹp hơn thông qua việc đọc sách thể hình, trừ khi bạn áp dụng những kiến thức đó vào tập luyện thực sự. Bạn không thể sex tốt hơn thông qua xem phim sex. Tương tự với lập trình.

Có phải các video dạy lập trình đều vô dụng?

Không, chúng khá hữu ích. Nhưng chỉ hữu ích ở một mức độ nào đó mà thôi.

Theo mình, khả năng code của chúng ta thông thường được chia làm 2 phần theo tỉ lệ 2/8.

Phần thứ nhất là cú pháp ngôn ngữ, những kiến thức cơ bản của một ngôn ngữ, framework nhất định. Nếu xem “khả năng lập trình” của bạn là thang 10 thì phần này chiếm 2. Nó cũng giống như việc bạn học chơi thể thao, giả sử bóng chuyền chẳng hạn, bạn sẽ được học cách đệm bóng, phát bóng, đỡ bước một… Rõ ràng biết hết các kĩ thuật đó không có nghĩa rằng bạn là một tay bóng chuyền thực thụ.

Phần còn lại, chiếm 8. Phần này là khả năng giải quyết vấn đề, fix bug, sáng tạo, kinh nghiệm… Những gì tinh túy nhất của một developer nằm ở phần này. Và nó sẽ quyết định “khả năng lập trình” của bạn.

Như vậy, việc code theo video chỉ giúp bạn cải thiện được phần đầu tiên. Có nghĩa là nó chỉ hữu ích trong giai đoạn ban đầu khi bạn mới học lập trình. Những kiến thức cơ bản ban đầu là những gì bạn có thể học được từ việc code theo. Sau đó, khi bạn đã nắm được những kiến thức cơ bản của một ngôn ngữ, công nghệ nhất định thì cho dù bạn có code theo hàng trăm video, có hàng trăm sản phẩm đi nữa, bạn cũng chẳng thể vượt được con số 2.

Một vài lý do

Code theo không đồng nghĩa với code

Như mình đã định nghĩa ở trên, code hay lập trình là quá trình chúng ta tạo ra một thứ gì đó từ hư không. Code là cả một quá trình.

Quá trình đó bao gồm việc bạn cần đọc hiểu yêu cầu khách hàng, yêu cầu của task được giao, từ đó xử lý logic. Tiếp theo đó bạn cần học cách thiết kế cấu trúc chương trình, tách module, phân chia function, class một cách hợp lý… Tiếp theo nữa là debugging, testing…, cùng đủ thứ lằng nhằng khác.

Code theo video chẳng giúp được gì trong những điều mình vừa nêu cả. Tất cả những điều quan trọng nhất bạn cần rèn luyện đã được làm bởi gã trong máy tính. Từ việc nhỏ nhất là cách đặt tên biến, tên hàm cho đến những logic phức tạp nhất, tất cả đều là hắn làm, sau đó hắn nói với bạn rằng “khóa học kết thúc và bạn đã có thể tự tạo cho bản thân được một sản phẩm như chúng tôi đã cam kết”.

Cuộc sống không dễ dàng như thế

Khả năng quan trọng nhất của một developer, như mình đã nói trước đây, đó là khả năng giải quyết vấn đề. Mọi thứ xung quanh chúng ta đều là vấn đề, một ứng dụng trong thực tế có vô số vấn đề cần giải quyết. Đôi khi chỉ một dòng code là đủ để khiến bạn tốn cả đêm tìm hiểu, nghiên cứu để giải quyết nó. Thế nhưng tại sao mấy tay trong video chẳng bao giờ gặp lỗi, hay có vấn đề khó khăn cần giải quyết? Có 2 lý do, thứ nhất là bởi họ chỉ làm những ứng dụng cơ bản, không thể sử dụng trong thực tế được, vì vậy cũng chẳng gặp vấn đề gì nhiều. Thứ hai là có thể họ đã gặp lỗi trong quá trình code, nhưng đã tìm hiểu, giải quyết nó sau đó mới đưa lên video.

Đây là lý do tại sao một vài bạn khi mới đi làm thường rơi vào trạng thái “trầm cảm”. Họ thường lẩm bẩm “thế quái nào code đến đâu lỗi đến đó, ở nhà làm theo có bao giờ lỗi đâu?”.

Không học theo video thì học sao đây?

Đây đây, may quá mình có viết sẵn một bài về cách cải thiện khả năng code rồi. Qua bài này đọc cho cụ thể nhé.

Kết

Tóm lại, qua bài này mình rút ra 3 điều cơ bản:

Xem phim 18+ không giúp bạn cải thiện quá nhiều trong chuyện phòng the. Tương tự với code.
Hãy hiểu rõ những gì bạn muốn làm. Cũng như việc hiểu rằng kĩ năng lập trình được chia thành 2 phần theo tỉ lệ 2/8.
Cái này không có trong bài. Hãy chọn lọc kĩ các nguồn tài liệu. Không phải gã nào làm video dạy trên mạng cũng là bậc thầy, cẩn thận học phải một gã gà mờ.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Võ Cao Sơn

15 bài viết.
39 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
29 7
Gần đây mình thấy rất nhiều bài viết câu like dạng như: “Chấm để tham gia khóa học lập trình A, B, C miễn phí”, ngạc nhiên là những bài như vậy đượ...
Võ Cao Sơn viết 4 tháng trước
29 7
White
29 1
Ngày nay, thời đại của thông tin, của mạng xã hội, chúng ta có xu hướng bị đắm chìm trong những thông tin vô bổ, kém hữu ích. Video game show, thôn...
Võ Cao Sơn viết 4 tháng trước
29 1
White
8 2
Ly trà sữa siêu to siêu khổng lồ, nồi lẩu thái siêu cay siêu khổng lồ…, mình chẳng biết mấy cái này có còn là trend không nhưng có vẻ như chúng ta ...
Võ Cao Sơn viết 26 ngày trước
8 2
Bài viết liên quan
White
4 0
Bạn có muốn trở thành một developer tầm cỡ không? Ok, mình có cách, mình sẽ chỉ cho bạn ngay bây giờ. Một bí quyết duy nhất, vô cùng đơn giản, đó l...
Võ Cao Sơn viết 3 tháng trước
4 0
White
30 2
Khi các ban cố gắng học bất cứ ngôn ngữ cũng như coding skill nào, họ thường gặp một số thách thức tương tự như: Một số khái niệm có thể gây nhầm...
Hoàng Nguyễn viết hơn 3 năm trước
30 2
White
29 1
Ngày nay, thời đại của thông tin, của mạng xã hội, chúng ta có xu hướng bị đắm chìm trong những thông tin vô bổ, kém hữu ích. Video game show, thôn...
Võ Cao Sơn viết 4 tháng trước
29 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
39 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!