2 khó khăn khi học lập trình và hướng giải quyết
Học gì cũng vậy, giai đoạn "dạo đầu" luôn luôn khó khăn và thử thách. Tuy nhiên nếu vượt qua được thì khả năng tiến bộ sẽ tăng nhanh. Với góc nhìn sau 2 năm học lập trình, mình viết bài này để chia sẻ với mọi người những khó khăn mà bạn có thể gặp phải như mình.
Không biết chọn đúng ngành không?
Nhiều bạn giống như mình, chọn ngành CNTT vì tiếp xúc máy tính sớm biết chơi game hay biết cài Windows. Từ những trải nghiệm đó mà chúng ta nghĩ mình hợp với ngành này. Một số bạn khác thì chọn ngành dựa theo độ hot, hay thấy bạn mình nộp CNTT nên cũng bắt chước nộp theo. Phần còn lại là chọn đại, tới đâu tới.
Nhưng lập trình không đơn giản như thế :). Vấn đề bắt đầu xảy ra khi chúng ta học lập trình một cách nghiêm túc và bài bảng. Với những kiến thức lập trình mới mà chúng ta chưa biết như hàm, con trỏ, tham trị, tham biến, đệ quy, thuật toán, hướng đối tượng, vv
Sẽ có nhiều trường hợp các bạn học không hiểu, theo không kịp. Lúc này bạn cảm thấy nghi nghờ quyết định chọn ngành của mình liệu đúng hay sai. "Liệu mình có chọn đúng ngành không ta?", "Chắc mình không hợp với lập trình đâu", "Thôi ôn thi lại cho rồi" là những câu hỏi xuất hiện trong tâm trí bạn lúc bấy giờ. Bạn tự hỏi đam mê của bản thân là gì?
Nghi ngờ về lựa chọn ngành có thể là khó khăn đầu tiên cũng như là cuối cùng nếu không có giải pháp. Vì bạn sẽ chẳng học được gì nếu vẫn cứ nghi nghờ về đam mê của mình.
Hướng giải quyết:
Muốn chữa được bệnh, phải hiểu nguyên nhân gây bệnh:
Thầy cô dạy khó hiểu, không theo kịp
Hiểu bài nhưng vẫn không có hứng thú
Bị ảnh hưởng bởi bạn bè
Chưa nổ lực
Nếu bạn không hiểu bài, có thể là do thầy cô dạy khó hiểu. Hoặc bạn không tìm được nguồn tài liệu thích hợp. Hãy tìm nguồn tài liệu học ở bên ngoài. (Có thể là khóa học, blog, video trên youtube, sách vv) Không nhất thiết phải đến trường học mà có thể cúp ở nhà tự học. Hãy nhớ rằng bản thân phải luôn chủ động trong việc học lập. Giáo trình trên trường được biên soạn cho cả ngàn học sinh, từ năm này qua năm khác. Nó không phù hợp với bạn cũng không phải chuyện lạ. Mình xin giới thiệu một trang web dạy lập trình cơ bản rất hay mà mình từng học: http://laptrinhccanban.com/ Với kiến thức tại đây khá đầy đủ, anh này trình bày cũng dễ hiểu. Ngoài ra nếu bạn có vốn tiếng Anh tốt, hãy đăng ký các khóa học lập trình chất lượng quốt tế
Với trường hợp hiểu bài nhưng không có hứng thú. Bạn hãy thử tự học lập trình có giao diện - lập trình trực quan ( như Winform, lập trình di động, web app, ). Lập trình cơ bản, kỹ thuật lập trình, hướng đối tượng hay giải thuật chủ yếu làm việc trên màn hình console huyền thoại có thể khiến bạn buồn chán.
Màn hình console huyền thoại
Sao bạn không đổi gió một chút. Mình hồi năm nhất cũng thấy chán lập trình nên cũng thử học lập trình winform và cảm thấy bắt đầu thích lập trình hơn.
Hãy thử học lập trình có giao diện nhé!
Không biết học công nghệ gì?
Sau khi vượt qua giai đoạn khó khăn thứ nhất và bạn đã quyết tâm theo đuổi lập trình. Bạn sẽ cảm thấy mông lung và vô định như Kiều ở lầu Ngưng Bích. Sẽ học công nghệ gì đây, theo lập trình di động, web, game, . Mà trong mỗi hướng lại có nhiều hướng con, cháu, chắt trong đó. Ví dụ như lập trình di động có Android, IOS, WindowPhone. Hướng game lại có game 2D, 3D, game di động, có nên sử dụng game engine hay không? Web thì nên theo front end, backend hay full stack luôn, nên học PHP, Rails, Python, hay React, vv
Với khó khăn này, mình đã nói trong bài viết Học công nghệ gì bây giờ?. Hy vọng có thể giúp ích được cho bạn.
Bạn nên chọn một công nghệ bạn thích nhất và đào sâu tìm hiểu về nó. Khi bạn đã có kiến thức sâu rộng về một lĩnh vực thì việc chuyển sang lĩnh vực khác cũng không có gì khó. Điều quan trọng nhất là làm sao biết mình thích gì?
Suốt 2 năm qua mình luôn tìm hiểu mình thích công nghệ gì. Cũng giống như muốn biết mình thích ai thì đầu tiên phải... gặp người đó! Bạn không thể nói tui thích lập trình di động mà chưa từng thử tạo một ứng dụng nhỏ cho IOS, Android hoặc WindowPhone được. Tuy nhiên tất cả chỉ là lý thuyết. Có những trường hợp gặp cái thích liền hay "tiếng sét ái tình". Mình gặp không ít trường hợp "thánh cuồng". Họ chỉ cuồng C#, Javascript ngay từ cái nhìn đầu tiên. Âu cũng là duyên phận.
Lời kết:
Học lập trình sẽ dễ dàng hơn nếu bạn có định hướng cũng như biết con đường mình sẽ đi. Bạn có gặp những khó khăn như mình không? Cùng comment và chia sẻ với mọi người nhé!