Tôi biết điều đó nghe có vẻ lạ. Vấn đề là, có quá nhiều tài nguyên để học viết mã khiến bạn dễ cảm thấy mất hứng thú và choáng ngợp. Nhưng tiếp cận giáo dục mã hóa của bạn như thể bạn đang học một ngôn ngữ khác sẽ cung cấp cho bạn một khuôn khổ hữu ích để vận hành.
Sử dụng một khuôn khổ sẽ cho phép bạn cấu trúc tiến trình học tập của mình. Điều này sẽ cung cấp cho bạn phương hướng, các mốc quan trọng trên con đường của bạn và đích đến khi kết thúc.
Một trong những ưu điểm chính của kỹ thuật này là nó chia con đường của bạn từ mới bắt đầu đến nâng cao thành các giai đoạn. Phân biệt các giai đoạn này sẽ giúp bạn hiểu rõ hơn về những gì bạn đang làm.
Ví dụ, nếu bạn biết bạn hiện đang chơi ở cấp độ nào, kiến thức đó sẽ đặt ra kỳ vọng của bạn. Nếu bạn vẫn đang ở giai đoạn mới bắt đầu, đừng cảm thấy rằng bạn sẽ có thể dễ dàng đạt được các kỹ năng trung cấp hoặc nâng cao. Có những kỳ vọng thực tế sẽ giúp bạn không quá nản lòng hoặc thậm chí bỏ cuộc.
Nghe hay đấy? Hãy bắt đầu với một bài tập nhỏ thú vị:
Mục tiêu cuối cùng của bạn là gì?
Khi bạn học một ngôn ngữ, mục tiêu không chỉ là học một danh sách các từ vựng và cụm từ ngẫu nhiên. Hầu như không ai cố gắng học một ngôn ngữ chỉ vì mục đích học từ mới. Luôn có một số loại ứng dụng trong thế giới thực. Bạn muốn cuối cùng có thể làm điều gì đó hữu ích với nó, phải không? Bạn thậm chí có thể có một mục tiêu cuối cùng cụ thể trong đầu. Có thể là tổ chức một cuộc trò chuyện trôi chảy với ai đó, đi du lịch ở quốc gia đó hoặc đọc một cuốn sách bằng ngôn ngữ đó.
Học mã hóa cũng nên theo cùng một cách. Bạn nên có một mục tiêu cuối cùng không chỉ là “học viết mã”. Đó có thể là tìm một công việc toàn thời gian mới, bán một ứng dụng di động hoặc làm việc cho chính bạn. Mục tiêu đó sẽ giúp bạn có động lực để tiếp tục học tập ngay cả khi nó trở nên khó khăn. Đó sẽ là phương bắc thực sự của bạn khi bạn điều hướng thế giới lập trình.
Hãy ngừng đọc bài viết này một chút và dành một phút để xem xét mục tiêu cuối cùng của bạn trong việc học viết mã là gì. Tại sao anh làm điều này? Động lực ban đầu khiến bạn bắt đầu con đường này là gì? Viết ra mục tiêu của bạn trên một tờ giấy. Đặt nó ở nơi bạn sẽ nhìn thấy nó hàng ngày - như bên cạnh máy tính hoặc trên gương trong phòng tắm của bạn. Khi bạn đọc ghi chú đó, bạn sẽ được nhắc nhở về lý do tại sao bạn chọn bắt đầu cuộc hành trình của mình. Ghi nhớ lý do cốt lõi của bạn sẽ giúp bạn có động lực để không bỏ cuộc.
Bạn đã đạt được mục tiêu? Tốt. Sau khi bạn đọc xong bài viết này, hãy để lại bình luận bên dưới để chia sẻ mục tiêu của bạn là gì. Chúng ta luôn có thể tìm thấy sự khích lệ khi nghe câu chuyện của nhau và tôi muốn nghe câu chuyện của bạn.
Bây giờ, hãy chuyển sang viết mã thông thạo!
Ngôn ngữ đầu tiên là khó nhất
Chỉ tập trung vào học một thứ tại một thời điểm
Cũng giống như có nhiều ngôn ngữ nói trên thế giới (trên thực tế là hơn 6.000!) - có rất nhiều ngôn ngữ lập trình và bạn có thể chọn để học. Nếu bạn mới bắt đầu, tôi không khuyên bạn nên cố gắng học Python, Ruby, JavaScript, React và Java cùng một lúc. Điều đó sẽ vô cùng phi thực tế. Bạn sẽ không cố gắng học tiếng Trung, tiếng Tây Ban Nha, tiếng Đức và tiếng Bồ Đào Nha cùng một lúc, phải không?
Nếu bạn đang cố gắng chọn ngôn ngữ đầu tiên của mình để học, đừng căng thẳng - chỉ cần chọn một ngôn ngữ và học nó ở mức độ thông thạo hợp lý. Ngôn ngữ đầu tiên này sẽ là ngôn ngữ khó học nhất vì bạn không chỉ học một ngôn ngữ - bạn còn học cách lập trình hoạt động. Khi bạn thành thạo một ngôn ngữ, bạn sẽ dễ dàng học ngôn ngữ thứ hai và thứ ba hơn.
Tất cả các ngôn ngữ lập trình đều có các nguyên tắc chung chạy qua chúng. Và một khi bạn học được những nguyên tắc đó, vấn đề sẽ là học cú pháp và từ vựng mới, nếu bạn muốn. Rõ ràng, mỗi ngôn ngữ đều có những điều kỳ quặc riêng. Nhưng một khi bạn đã đặt nền tảng cho việc học lập trình, việc học thêm các kỹ năng sau này sẽ dễ dàng hơn nhiều.
Bây giờ bạn đã chọn ngôn ngữ đầu tiên của mình, hãy bắt đầu ở giai đoạn đầu tiên trong hành trình của bạn:
Cấp độ người mới bắt đầu
Xin chào cả thế giới!
Điều đầu tiên bạn học cách nói bằng ngoại ngữ là gì? Thông thường, đó là lời chào cơ bản nhất, cách nói "xin chào". Không phải ngẫu nhiên, học cách xuất ra “Hello, world!” thường là điều đầu tiên bạn học cách làm bằng ngôn ngữ lập trình.
Sau khi học chào hỏi, bạn chuyển sang ghi nhớ các từ vựng và ngữ pháp cơ bản. Trong lập trình, bạn sẽ học các khái niệm như kiểu biến, phương pháp, cú pháp và cách cấu trúc tệp dự án. Có thể không phải là tất cả những gì thú vị khi học các hàm theo cách thủ công và mắc phải những lỗi cú pháp có vẻ nhỏ. Nhưng thành thạo các khối xây dựng này sẽ cung cấp cho bạn các kỹ năng để tiếp tục phát triển.
Ở giai đoạn đầu này, có thể bạn sẽ mắc rất nhiều sai lầm. Không, bạn sẽ mắc rất nhiều sai lầm. Nhưng điều đó hoàn toàn ổn! Vấn đề ở đây không phải là học một thứ gì đó một cách hoàn hảo trước khi bạn cố gắng sử dụng nó. Trên thực tế, phạm sai lầm là một điều tốt, bởi vì bạn có thể học hỏi từ những sai lầm đó. Nếu bạn quá sợ rủi ro làm sai điều gì đó mà bạn không cố gắng, bạn sẽ cản trở quá trình học tập của chính mình. Chìa khóa ở đây là phạm sai lầm, thử nghiệm những điều mới mà bạn đang học.
Đây là một cách bạn có thể thử nghiệm:
Nếu bạn đang xem hướng dẫn viết mã để học ngôn ngữ của mình, hãy làm theo các bài học như bình thường. Nhưng sau đó hãy dành một chút thời gian để tự làm và chỉ thử với mã trong trình chỉnh sửa của bạn. Xem liệu bạn có thể phá vỡ mã mà bạn đang làm việc hay không và cố gắng hiểu cách thức và lý do tại sao nó bị hỏng. Sau đó, cố gắng tự viết lại mã từ đầu, chỉ xem lại ghi chú bài học khi bạn gặp khó khăn.
Thử nghiệm như thế này sẽ đòi hỏi sự đầu tư trước về thời gian và năng lượng, nhưng nó sẽ mang lại hiệu quả về lâu dài. Bằng cách chơi với các khái niệm mã hóa, bạn đang tìm ra điều gì khiến chúng được đánh dấu và điều này sẽ giúp những kỹ năng đó bám vào não bạn tốt hơn. Bạn có thể biến điều này thành một phần nội tại của cách bạn tiếp cận những ý tưởng mới bất kể trình độ kỹ năng của bạn. (Kỹ thuật thực hiện thí nghiệm như một con đường dẫn đến kiến thức chuyên môn này là chủ đề của một bài đăng gần đây của Michael Simmons)
Trung cấp
Ghép các mảnh lại với nhau
Đối với ngoại ngữ, đây là lúc mọi thứ bắt đầu trở nên thú vị hơn - bạn càng biết nhiều, bạn càng có thể làm được nhiều điều với ngôn ngữ mới của mình. Bạn sẽ phát triển các kỹ năng trò chuyện và có thể hiểu được phần lớn những gì bạn đang đọc và nghe bằng ngôn ngữ đó. Bạn thậm chí có thể kết bạn với những người bản ngữ nói ngôn ngữ đó, nhờ vào các tài nguyên học ngôn ngữ trực tuyến.
Trong lập trình, trình độ trung cấp có nghĩa là bạn bắt đầu hiểu nhiều hơn về các nguyên tắc của ngôn ngữ và những gì bạn có thể làm với nó. Bạn vẫn cần tiếp tục làm việc với những điều cơ bản - đọc sách, xem qua các hướng dẫn và thử nghiệm. Nhưng bạn đang bắt đầu xây dựng một khuôn khổ mà bạn có thể tiếp tục cải thiện theo thời gian. Bạn cũng có thể học cách tương tác với các nhà phát triển có kinh nghiệm hơn trong các cộng đồng như GitHub. Trên thực tế, việc nghiên cứu cách người khác lập trình có thể giúp bạn rất nhiều.
Ví dụ:bạn có thể xem các kho lưu trữ GitHub khác nhau mà bạn quan tâm và xem cách các nhà phát triển khác giải quyết các vấn đề cụ thể. Khi bạn nghiên cứu một kho lưu trữ cụ thể, bạn thậm chí có thể nhận thấy một bản sửa lỗi có thể xảy ra cho một sự cố và cố gắng gửi một yêu cầu kéo. Ngay cả khi chủ sở hữu không chấp nhận yêu cầu của bạn, bạn vẫn sẽ có một chút kinh nghiệm làm việc với mã. Hãy tiếp tục cố gắng và tiếp tục học hỏi.
Bạn cũng có thể nhận được sự trợ giúp và hỗ trợ từ các lập trình viên khác từ các diễn đàn trực tuyến như Stack Overflow, nhóm Facebook và kênh Slack. Có rất nhiều người sẵn sàng giúp bạn tìm ra lỗi và chỉ bạn đi đúng hướng. Có một cộng đồng toàn thế giới gồm những người đang học cách viết mã!
Vượt qua sự sụt giảm
Bây giờ tôi phải thông báo một chút tin xấu cho bạn… Tại một số thời điểm trong quá trình học tập, bạn sẽ cảm thấy như mình đã hoàn thành tốt công việc. Mặc dù bạn sẽ không ở bên dốc của đường cong học tập nữa, nhưng bạn có thể cảm thấy như còn rất nhiều khoảng cách để bao quát, không có điểm cuối trong tầm mắt. Thành thật mà nói, điều đó thật tệ.
Tuy nhiên, đừng tuyệt vọng! Sự sụt giảm này là một phần bình thường của việc chọn bất kỳ kỹ năng mới nào. Ngay từ đầu, bạn sẽ tiến bộ rất nhiều và cảm thấy như bạn đang nhanh chóng đạt được các kỹ năng. Tuy nhiên, khi bạn ngày càng giỏi hơn, các kỹ năng trung cấp và nâng cao sẽ khó học hơn, bởi vì, chúng ngày càng nâng cao hơn. Thành thạo bất kỳ kỹ năng nào sẽ luôn mất nhiều thời gian hơn là trở thành một người mới bắt đầu thành thạo.
Nếu bạn cảm thấy mình đang mắc kẹt trong tình trạng tụt dốc này, đừng bỏ cuộc. Hãy kiên nhẫn với bản thân và hiểu rằng sẽ chỉ mất nhiều thời gian hơn để tiếp tục nâng cao kỹ năng. Cố gắng đừng kiệt sức và đừng tạo áp lực quá lớn cho bản thân để trở nên xuất sắc và hoàn hảo. Trên hết, bây giờ là lúc có một mạng lưới hỗ trợ mạnh mẽ, trong cuộc sống thực và trực tuyến, có thể giúp bạn. Tiếp cận với những người khác có thể cùng hội cùng thuyền với bạn và trao đổi những câu chuyện và lời động viên.
Cấp độ nâng cao
“Này, tôi nghĩ tôi thực sự có thể giỏi việc này!”
Khi học ngoại ngữ, trở nên thành thạo là cái đích mà hầu hết mọi người đều phấn đấu vươn tới. Thành thạo có nghĩa là bạn khá tự tin rằng bạn có thể diễn đạt bất kỳ ý tưởng hoặc cảm xúc nào bằng ngôn ngữ mà bạn muốn. Bạn thực sự thông thạo ở giai đoạn này!
Đạt được mức độ thành thạo trong một ngôn ngữ lập trình hoặc công nghệ cảm thấy thực sự tốt. Mặc dù thỉnh thoảng bạn vẫn phải vật lộn với hội chứng kẻ mạo danh, nhưng nhìn chung, bạn sẽ cảm thấy tự tin hơn vào kỹ năng của bản thân và giá trị của mình với tư cách là một lập trình viên. Bạn sẽ có thể đánh trúng hầu hết mọi thứ mà khách hàng hoặc sếp ném vào bạn. Bạn biết rằng ngay cả khi bạn không biết chính xác cách làm điều gì đó, bạn vẫn có công cụ để có thể nghiên cứu (tức là Google) và tìm ra giải pháp theo thời gian.
Tuy nhiên, bây giờ không phải là lúc để bạn nghỉ ngơi trên vòng nguyệt quế. Lập trình là một lĩnh vực thay đổi liên tục và nó phát triển nhanh chóng. Bạn cần phải tiếp tục trau dồi các kỹ năng của mình, bởi vì nếu bạn dừng lại, trình độ khó có thể giành được của bạn sẽ bắt đầu mất dần đi. Trở nên tự mãn và trì trệ cuối cùng sẽ là hồi chuông báo tử cho sự nghiệp lập trình viên của bạn. Tuy nhiên, tin tốt là đến thời điểm này, bạn đã học khá tốt. Việc phải học một ngôn ngữ, khuôn khổ hoặc công cụ mới sẽ không khiến bạn mất nhiều thời gian như trước đây. Và bạn thậm chí có thể tận hưởng quá trình này!
Mục tiêu cuối cùng của bạn là gì? Để lại bình luận bên dưới…
Tôi hy vọng bạn thích đọc bài viết này về cách học lập trình. Giống như tôi đã nói ở trên, tôi muốn biết mục tiêu lập trình của bạn là gì cũng như những gì bạn đang học ngay bây giờ.