Học viên nào ngồi xuống trước mặt chúng tôi cũng hỏi gần như cùng một câu: học javascript mất bao lâu? Đây là thắc mắc rất hợp lý. Bạn muốn biết cần bỏ ra bao nhiêu tháng, mỗi ngày nên dành bao nhiêu giờ, và khi nào thì thấy kết quả rõ ràng. Nói ngắn gọn, phần lớn người mới mất khoảng ba đến sáu tháng để nắm nền tảng. Sau đó họ làm được một sản phẩm nhỏ của riêng mình. Con số này không cố định. Nó phụ thuộc vào việc bạn có giữ nhịp học đều đặn hay không.
Học JavaScript mất bao lâu? Trả lời nhanh trước khi đi sâu
Chúng tôi gặp câu hỏi này gần như trong buổi tư vấn đầu tiên nào cũng có. Nhiều bạn chưa rõ mình định dùng JavaScript để làm gì. Nói đơn giản, JavaScript là ngôn ngữ giúp trang web phản ứng khi người dùng bấm nút, gõ chữ hay cuộn trang. Vì vậy thời gian học không chỉ dành để thuộc cú pháp.
Quãng thời gian ấy còn là lúc bạn làm quen với cách máy tính xử lý từng việc một, theo đúng thứ tự. Đôi khi nó vận hành theo những cách bạn không ngờ tới. Chúng tôi thường chia thành ba mốc. Người mới bắt đầu cần khoảng ba đến sáu tháng để nắm nền tảng. Trong giai đoạn này, bạn làm được những sản phẩm nhỏ như bộ đếm thời gian hay danh sách việc cần làm.
Để đi làm ở vị trí junior, thường phải thêm sáu đến mười hai tháng. Khoảng thời gian đó nên dùng để làm các dự án đủ thật, để có thứ gì đó giới thiệu với nhà tuyển dụng. Mốc cuối cùng thì tùy mục tiêu của bạn: học để hiểu, học để làm web, hay học để đi làm.
Các mốc thời gian học JavaScript theo từng giai đoạn
Đội ngũ chúng tôi thường tách việc học thành ba giai đoạn. Lý do là mỗi giai đoạn cần một kiểu luyện tập khác nhau. Giai đoạn đầu gồm biến, kiểu dữ liệu, điều kiện, vòng lặp và hàm. Nhiều người nghĩ phần này dễ nên lướt qua rất nhanh.
Thực tế thì không phải vậy. Nếu hiểu chưa chắc ở đây, mọi thứ phía sau sẽ khó theo kịp. Lúc đó bạn phải quay lại sửa từng chỗ, và việc ấy tốn thời gian hơn nhiều so với đọc kỹ ngay từ đầu.
Giai đoạn thứ hai là làm việc với DOM, tức cấu trúc trang web mà JavaScript có thể thay đổi. Bạn sẽ học lắng nghe sự kiện khi người dùng thao tác. Bạn cũng học xử lý bất đồng bộ khi gọi API để lấy dữ liệu từ máy chủ. Nghe có vẻ phức tạp, nhưng bất đồng bộ về cơ bản là chờ dữ liệu về mà không làm đứng cả trang.
Chúng tôi thấy nhiều bạn mất khá nhiều thời gian ở đoạn này. Đặc biệt là khi gặp lỗi lần đầu mà không biết nó nằm ở đâu. Giai đoạn cuối là làm dự án nhỏ, đọc mã của người khác và đưa code lên GitHub. Bước này hay bị bỏ qua nhất. Vì thế có những người học xong vẫn không tự tin khi được hỏi về sản phẩm của chính mình.
Thời gian học thực tế theo số giờ mỗi ngày
Số giờ bạn dành cho việc học gần như quyết định tốc độ. Nếu chỉ có khoảng một giờ mỗi ngày, lộ trình thường kéo dài tám đến mười hai tháng để đạt trình độ làm việc cơ bản. Với người đi làm, đây lại là nhịp học bền nhất. Kiến thức có thời gian lắng xuống, bạn không phải nhồi nhét. Buổi tối vẫn còn sức gõ thêm vài dòng code.
Học hai đến ba giờ mỗi ngày thì bốn đến sáu tháng là đủ để nắm nền tảng khá vững. Còn nếu học toàn thời gian, phần cốt lõi có thể rút xuống còn hai đến ba tháng. Nhịp nhanh như vậy dễ khiến bạn đọc qua mà ít gõ code. Khi đó, cảm giác hiểu bài đôi khi chỉ là ảo giác.
Số liệu tham khảo cho người học tại Việt Nam
Dưới đây là vài mốc chúng tôi thường dùng khi tư vấn. Đây chỉ là con số để bạn hình dung, không phải cam kết, vì mỗi người xuất phát từ một nền tảng khác nhau.
- Trình độ cơ bản: khoảng 80 đến 120 giờ học có hướng dẫn và luyện tập đều đặn.
- Trình độ junior: khoảng 300 đến 500 giờ, trong đó có ít nhất vài dự án thực tế.
Tự học có ưu điểm rõ ràng là chi phí thấp và chủ động được giờ giấc. Nhược điểm là dễ hổng kiến thức nếu không có ai kiểm tra bài làm. Nhiều lỗi nhỏ mà chính người học không nhận ra cũng sẽ theo bạn rất lâu. Học theo khoá có người phản hồi tốn tiền hơn, nhưng ít bị đi lạc, nhất là khi mới bắt đầu.
Nếu bạn đang cân nhắc giữa hai hướng này, hãy đọc bài so sánh chi phí, rủi ro và lộ trình giữa khoá học và tự học. Bài đó sẽ giúp bạn có cái nhìn đầy đủ hơn trước khi quyết định.
Những yếu tố khiến thời gian học dài hơn dự kiến
Lý do phổ biến nhất chúng tôi gặp là học lan man. Có bạn vừa làm quen với hàm đã nhảy sang framework. Rồi khi gặp lỗi, họ không biết lỗi đến từ JavaScript hay từ thư viện. Cách học này nghe có vẻ nhanh, nhưng thực ra tốn nhiều thời gian quay vòng để tìm nguyên nhân.
Yếu tố thứ hai là chỉ xem video mà không gõ code. Bạn sẽ thấy mình hiểu, gật gù theo từng dòng giảng viên viết. Nhưng khi ngồi trước màn hình trống thì không biết bắt đầu từ đâu. Yếu tố thứ ba là thiếu dự án để áp dụng. Kiến thức không được dùng sẽ mờ rất nhanh, và bạn phải học lại đúng những thứ đã học hôm trước.
Cách rút ngắn thời gian học JavaScript
Điều chúng tôi khuyên nhiều nhất là nắm chắc JavaScript thuần trước khi học React hay bất kỳ thư viện nào khác. Thư viện chỉ là công cụ hỗ trợ. Nền tảng mới là thứ giúp bạn đọc được thông báo lỗi và tự gỡ khi có chuyện bất ngờ xảy ra. Nếu muốn hiểu rõ hơn về các kiểu dữ liệu tập hợp hay dùng hằng ngày, bạn có thể đọc bài về mảng trong JavaScript để củng cố phần nền.
Mỗi tuần nên làm một bài tập nhỏ có đầu ra rõ ràng, như một bộ đếm thời gian hoặc danh sách việc cần làm. Khi có sản phẩm để nhìn, bạn biết mình đã học được gì và còn thiếu gì. Đừng chỉ dựa vào một nguồn duy nhất. Hãy đọc tài liệu chính thức song song với các hướng dẫn chi tiết. Nếu cần một khung học bài bản để không bị loạn, bạn có thể tham khảo khoá học lập trình web có lộ trình rõ ràng mà chúng tôi đã xây dựng.
Ngoài ra, khi muốn nhìn JavaScript trong bối cảnh lập trình chung, bạn có thể xem các bài viết về JavaScript trên site. Những tình huống thực tế người khác đã vấp phải sẽ giúp bạn tránh được một số cái bẫy tương tự.
Một ví dụ lộ trình sáu tháng cho người đi làm bận rộn
Chúng tôi từng đồng hành cùng một bạn làm kế toán ban ngày, buổi tối mới có thời gian học. Bạn ấy không có nền tảng lập trình nào và chỉ dành được khoảng hai tiếng mỗi tối. Vì vậy lộ trình được chia khá chậm, nhưng đều đặn.
Tháng một và hai, bạn tập trung vào cú pháp và cách suy nghĩ như lập trình viên. Tức là chia nhỏ vấn đề rồi giải từng phần. Tháng ba và bốn chuyển sang DOM và sự kiện. Bạn làm vài trang web tương tác đơn giản, như bảng tính chi phí cá nhân. Tháng năm và sáu, bạn làm một dự án riêng, đưa lên GitHub và viết lại ghi chú về những chỗ mình từng bị kẹt.
Sau sáu tháng, bạn đã có thứ để giới thiệu khi xin việc. Quan trọng hơn, bạn có thể giải thích cách mình viết ra nó.
Khi nào nên học theo khoá học thay vì tự học
Nếu bạn dễ mất động lực, hoặc chưa biết bắt đầu từ đâu, một khoá học có lộ trình sẽ giúp bạn không bị loạn giữa muôn vàn tài liệu. Nó cũng hữu ích khi bạn cần người kiểm tra bài và góp ý. Nhiều lỗi nhỏ mà bản thân người học không thấy, người khác chỉ cần nhìn qua là phát hiện ra ngay.
Còn nếu mục tiêu là tìm việc trong thời gian ngắn, một khoá học có định hướng nghề nghiệp thường đáng cân nhắc hơn việc tự mò mẫm. Điều cần kiểm tra là khoá học có phần thực hành đầy đủ. Hãy tránh những khoá chỉ toàn lý thuyết, vì kiến thức không qua tay gõ code sẽ không ở lại lâu trong đầu bạn.
Sai lầm thường gặp khi ước lượng thời gian học
Sai lầm đầu tiên là nghĩ học vài tuần là đủ đi làm. JavaScript nhìn bề ngoài có vẻ đơn giản. Nhưng để viết chương trình ổn định và dễ bảo trì, cần thời gian dài hơn nhiều so với cảm giác ban đầu.
Sai lầm thứ hai là đánh giá thấp thời gian để hiểu bất đồng bộ và kỹ năng gỡ lỗi. Hai thứ này quyết định bạn có làm được việc thật hay không. Sai lầm thứ ba là học dồn vài ngày rồi nghỉ cả tuần. Não bộ cần lặp lại nhiều lần mới ghi nhớ. Vì vậy học ngắn mà đều thường hiệu quả hơn học dài mà đứt quãng.
Câu hỏi thường gặp
Học JavaScript có khó không đối với người chưa biết lập trình?
Khó ở mức vừa phải. Phần khó nhất thường không nằm ở cú pháp mà ở việc làm quen với tư duy chia nhỏ vấn đề. Nếu bạn kiên nhẫn gõ code mỗi ngày, các khái niệm sẽ dần rõ ràng. Bạn sẽ bất ngờ vì mình đã đi xa hơn dự đoán.
Có cần biết HTML và CSS trước khi học JavaScript không?
Nên biết sơ qua. JavaScript thường làm việc trực tiếp với HTML để thay đổi nội dung trang. Nếu chưa hiểu cấu trúc trang thì khó hình dung kết quả của một đoạn code. Vài buổi học cơ bản về HTML và CSS là đủ để bắt đầu.
Học JavaScript bao lâu thì có thể làm freelance?
Với việc nhỏ như sửa giao diện hay thêm một tính năng đơn giản, nhiều người có thể nhận việc sau khoảng sáu đến chín tháng luyện tập nghiêm túc. Nên bắt đầu với việc nhỏ và phạm vi rõ ràng, để tránh rơi vào tình huống khó xử khi yêu cầu thay đổi giữa chừng.
Nên học React ngay sau JavaScript hay chờ thêm?
Chúng tôi khuyên nên chờ thêm một chút. Khi đã thoải mái với hàm, mảng, đối tượng và xử lý bất đồng bộ, React sẽ dễ hiểu hơn nhiều. Học quá sớm thường khiến người mới chỉ copy code mà không hiểu vì sao nó chạy được.
Tự học JavaScript có đủ để xin việc không?
Có thể, nếu bạn có ít nhất vài dự án cá nhân đưa lên GitHub và biết giải thích cách mình viết code. Nhà tuyển dụng thường quan tâm đến việc bạn có tự giải quyết vấn đề hay không, hơn là tấm bằng bạn đang cầm trên tay.
Lời khuyên cuối cùng của chúng tôi: hãy chọn một mốc nhỏ cho tuần này, ví dụ hoàn thành bài tập về hàm, rồi làm nó đến cùng. Lộ trình dài thường chỉ đi tiếp được khi bạn có những bước nhỏ làm được ngay hôm nay.