Điều gì cản trở bạn trong việc học lập trình? Hay điều gì khiến bạn chưa trở thành 1 lập trình viên chuyên nghiệp? Hãy đọc thử bài viết này nhé.
Mình có trò chuyện nhiều với các bạn đang học lập trình web và các bạn đang làm việc fresher/junior web developer và thấy điểm yếu và cũng là nổi sợ của hầu hết các bạn là:
Đúng rồi, chính nó - "Data structure and algorithms" (D&A), nổi ám ảnh của không ít các bạn sinh viên ha.
Điều gì ngăn cản bạn nuốt trôi nội dung kiến thức này? Đó chính là những niềm tin (định kiến) sau:
Code chạy được thì ai cũng có thể viết, vậy điều gì tạo nên sự khác biệt của một lập trình viên? Đó là: Tư duy giải quyết vấn đề Đây cũng là mục tiêu quan trọng nhất của học phần này. Vì cùng một vấn đề, sẽ có nhiều giải pháp. Sự khác nhau nằm ở chỗ giải pháp nào hay và phù hợp cho dự án. Một số tiêu chí được xem xét như: độ chính xác, sự tối ưu về thời gian thực thi và bộ nhớ lưu trữ, ... Hmmm, toàn là những tiêu chí đánh giá cho một chương trình tốt. Chả trách mấy công ty công nghệ toàn test ứng viên dăm ba cái thuật toán học cả đời không hết. 😂
Nếu "Cấu trúc dữ liệu và giải thuật" cho chúng ta tư duy giải quyết vấn đề thì "Phương pháp lập trình hướng đối tượng" (OOP) cho chúng ta tư duy hệ thống về việc tổ chức mã nguồn. Mọi người cũng hay bỏ qua hoặc học đại khái món OOP này, khiến cho việc học code gặp nhiều khó khăn vì không hiểu được bản chất đằng sau những dòng code. Và rồi, chúng ta sẽ chấp nhận làm theo như một lẽ dĩ nhiên (vì code mẫu viết thế) mà không biết vì sao phải làm như vậy.
Ví dụ như trong HTML DOM, tại sao lại là element.style.backgroundColor mà không phải là element.backgroundColor, document.getElementsByClassName('demo') có gì khác document.querySelectorAll('.demo'). Hay như trong ReactJS, tạo một component mới là quất vô cái extend liền. Nó là gì? Có bắt buộc phải có không?
Nếu không hiểu được bản chất code hoạt động thế nào, rất khó để chúng ta viết được những dòng code xịn. D&A và OOP đều là những kiến thức nền tảng, giúp chúng ta có thể đi xa trong sự nghiệp và làm chủ được công nghệ mới. Nếu mọi người đang cảm thấy còn yếu thì cố gắng dành thời gian tự học nha.
Mình đề xuất một số tài nguyên sau để các bạn có thể tìm hiểu và ôn tập nha:
Hay là, một cách đơn giản, nhanh chóng, gọn gàng, vui vẻ, hào hứng là... tham gia khóa học Tư duy lập trình nâng cao với Javascript của Kmin nhé.
Học 3 tháng offline với muôn vàn thứ hay ho, gom lại thì có mấy cái này:
Vừa học nền tảng mà còn code bằng Javascript nữa, dành riêng cho Web developer luôn đó nha. Gia cố nền tảng --> Gia tăng công lực --> Gia đình hạnh phúc.
Link tham khảo tại đây nhé!
Liên hệ
Copyright by Kmin Academy