Kế hoạch học JavaScript cho người mới bắt đầu

Khi mà đây là thời điểm tốt nhất để học một kĩ năng mới thì việc xác định được phương pháp học nào tốt nhất lại khiến ta đau đầu giữa vô số những lựa chọn và chất lượng khác nhau của những nguồn tài liệu này. Nếu như bạn đã từng được giới thiệu về Eloquent Javascript khi trải qua những bước đầu trên chặng đường coding của mình thì bạn biết tôi đang nói về điều gì.

Tôi hi vọng sẽ làm sáng tỏ lộ trình đề cập đến trong bài viết này cho những người mới theo đuổi, những con người bắt đầu trên hành trình chinh phục Javascript của mình. Đây chính là lộ trình mà tôi đã theo đuổi, tôi đã đạt được những thành công nhất định từ nó và gần đây tôi cũng đã hoàn thành chứng chỉ Front-end của FreeCodeCamp.

Đừng quên viết cho tôi vài dòng trong vòng 3 tháng khi bạn đã giải quyết xong mọi thứ và đưa ra quyết định hành động nào là tốt nhất ( hay chuyển sang phương án khác hiệu quả hơn).

Cách 1: Javascript của FreeCodeCamp

FreeCodeCamp là một nguồn tài liệu tuyệt vời cho việc tìm hiểu những điều cơ bản (và hơn thế nữa) về phát triển web.

Kể từ đoạn này trở đi, tôi sẽ giả định rằng bạn đã rành về HTML và CSS, nhưng nếu các bạn hoàn toàn là những người mới lập trình thì FreeCodeCamp cũng là chỗ dành cho bạn.

Với việc có thể sử dụng một cách thân thiện, trong trình soạn thảo trên trình duyệt, FreeCodeCamp đầu tiên sẽ mang đến cho bạn một sự trải nghiệm nhỏ về thư viện Javascript phổ thông, Jquery và sau đó là đi sâu vào những cú pháp Javascript thuần túy và cách thực hiện các tác vụ khác nhau như các thao tác boolean, chuỗi và thao tác mảng, vòng lặp và nhiều thứ khác.

Cách 2: Củng cố với Codecademy’s Javascript track

Nếu bạn giống như tôi, bạn cũng muốn củng cố một số thứ. Không phải mọi thứ sẽ chìm vào trong bước đầu tiên.

Phương án đầu tiên là chỉ cần làm lại các bài tập trên FreeCodeCamp, nhưng tôi thì thích sử dụng đa dạng các nguồn tài liệu khiến cho mọi thứ luôn mới mẻ và thú vị. Nó cũng giúp ta đón nhận được những quan điểm của nhiều người khác nhau về cùng một chủ đề. CodeAcademy thật tuyệt cho điều này. Bạn sẽ được trải nghiệm nhiều lĩnh vực và các vấn đề từ các góc độ khác nhau.

Cách 3: Javascript của Tony Alicea: Understanding The Weird Parts

Khi bạn đã hoàn thành mọi thứ thông qua các mô đun lập trình hướng đối tượng và các thao tác trên FreeCodeCamp và CodeAcademy Javascrip track, bạn hy vọng sẽ sẵn sàng cho một thứ gì đó sâu hơn.

Javascript: Understanding the Weird Parts là một chuỗi các video cao cấp và tuyệt vời đi sâu vào các hoạt động của ngôn ngữ theo một cách rất dễ tiếp cận và dễ hiểu. Chuỗi video 11.5h với đầy nhưng thông tin thực tiễn mà bạn có thể áp dụng chúng vào trong chương trình của mình.

Bạn sẽ được học về scope, closures,  prototypal inheritance, first-class functions và nhiều thứ khác trong loạt bài tổng hợp này. Chỉ với 20$ khóa học này thật đáng giá.

Cũng như với bất kỳ một cuốn sách hay khóa học qua video nào, hãy chắc chắn code theo và ghi chú lại cho việc tham khảo sau này.

Khi bạn học qua chuỗi bài này rồi, hãy tiếp tục đương đầu với các thử thách của FreeCodeCamp và bắt đầu với các thử thách front-end trung gian của họ. Những dự án này không có người hướng dẫn, điều này nghe qua có vẻ đáng sợ, nhưng tôi đảm bảo rằng bạn sẽ học được rất nhiều thứ từ việc thực hiện chúng. Chúng buộc bạn phải đối mặt với những lỗ hổng trong kiến thức của mình và sẽ giúp bạn phát triển nhanh chóng kĩ năng Googling của bạn khi bạn gặp khó khăn và không biết làm thế nào để thực hiện một chức năng nhất định.

Cách 4: You don’t know JS của Kyle Simpson

Tôi không chắc rằng những gì tôi nói trong loạt bài này chưa từng được nói ở một nơi nào khác tính đến thời điểm này, nhưng nó thật khó tin. Khi bạn hoàn thành khóa học của Tony Alicea, bạn hãy bắt đầu đọc You don’t know JS trong khi bạn vẫn làm việc với các dự án và chương trình của FreeCodeCamp. Khóa học của Simpson có giá trị hơn số tiền bạn phải bỏ ra, nhưng nếu bạn không đủ khả năng chi trả, thì tất cả cuốn sách trên Github của anh ấy  đều miễn phí dành cho bạn.

Bạn ít nhất là nên đọc những cuốn sách về Scope & Closures và This & Object Prototypes. Những cuốn sách này sẽ củng cố thêm những kiến thức bạn học được từ Tony Alicea và đôi khi cũng thấy được sự mâu thuẫn với những tài liệu kia. Điều này tốt thôi! Kyle Simpson là một người ngoan cố, và thật đáng quý khi có được cái nhìn dưới góc độ chuyên gia của anh ấy về mọi thứ, cũng giống như sự hữu ích của mô hình lập trình hướng đối tượng trong một ngôn ngữ như Javascript. Thậm chí có một vài vấn đề bạn cảm thấy nằm ngoài tầm với của mình, thì vẫn có giá trị khi đơn giản là nhận thức được chúng.

Loạt bài này sẽ giúp bạn trở thành nhà phát triển tốt hơn đồng thời cũng cho bạn thấy được sự xung đột giữa các quan điểm khác nhau đang diễn ra trong cộng đồng Javascript.

Một vài lưu ý về sự đối lập, không có câu trả lời và sự kiên trì.

Sẽ có nhiều lần bạn sẽ va phải một bức tường nào đấy – khi bạn không biết câu trả lời cho một số vấn đề và bạn cảm thấy rằng có lẽ sẽ không bao giờ mình tìm ra được đáp án.Tôi muốn chia sẻ cho bạn một vài cách thức giải quyết khi vấn đề này xảy ra.

1. Hãy đi ra ngoài

Nghỉ ngơi một lúc. Bước ra khỏi máy tính. Thưởng thức một tách trà hay cà phê. Hãy suy nghĩ về một cái gì khác trong chốc lát. Điều đó giúp làm sạch não bộ của bạn trong một thời gian ngắn. Bạn sẽ ngạc nhiên về khoảng thời gian bạn có thể giải quyết vấn đề khi bạn quay trở lại.

2. Nhờ giúp đỡ

Đừng lúng túng hay xấu hổ khi yêu cầu được giúp đỡ. Đôi khi một cú huých đúng chỗ là tất cả những gì bạn cần để trở lại đúng đường. Theo kinh nghiệm của tôi, thì mọi người đều thích giúp đỡ những người khác, và cảm thấy hạnh phúc hơn khi dành một vài phút cho vấn đề của bạn. Cộng đồng FreeCodeCamp trên Gitter và kênh CodeNewbie Slack là địa chỉ lý tưởng cho việc này.

3. Chuyển sang một thứ khác

Nếu bạn thực sự không thể làm nó, thì cũng không sao nếu chuyển sang một chủ đề khác. Thật tuyệt khi có một vài dự án mà bạn có thể nhảy qua khi bạn cảm thấy bị mắc kẹt giữa một hoặc một dự án khác.

Đây chỉ là một bài học

Việc học tập đề cao tính cá nhân. Tất cả những nguồn tài liệu mà tôi đề cập phía trên đều cực kỳ hữu ích cho tôi trên hành trình trở thành một nhà phát triển Javascript độc lập.

Tôi viết bài này chính từ những thất bại tôi đã trải nghiệm khi cố gắng lựa chọn giữa hơn một triệu tài liệu giáo dục ngoài kia. Thật tuyệt khi cuối cùng cũng tìm ra được một kế hoạch làm việc cho bản thân sau khi nhận được một vài lời khuyên có thiện chí nhưng sai hướng (như “Eloquent JavaScript là một cuốn sách tuyệt vời cho người mới bắt đầu!”), và sau hàng đống lần bắt đầu rồi dừng lại.

Tôi gần như đã trở thành một chuyên gia về Javascript, nhưng tôi hy vọng vẫn đem đến cái nhìn từ một người vẫn còn nhớ những gì giống như tất cả những người mới bắt đầu. Đa số các tài liệu giảng dạy hiện nay đều được việc bởi các bậc thầy trong nghề. Nhưng nhiều người trong số những người thầy đó đã quên mất rằng kinh nghiệm của những người mới học vẫn còn thấp, và họ cho rằng những người mới có thể hiểu về những sự liên quan ngớ ngẩn và sự mập mờ trong logic. Đây là lý do tại sao có nhiều tài liệu giảng dạy có thể coi như hoàn toàn vô ích.

Bởi Techmaster Team