Con đường nào cho các bạn tự học lập trình?
So với việc học Đại Học, con đường tự học – học đại có nhiều thử thách và gian nan trắc trở hơn nhiều. Do vậy, mình dành nguyên bài viết này để định hướng, chia sẻ về con đường dành cho các bạn muốn tự học lập trình. Hi vọng chúng sẽ có ích cho bạn.Xác định lý do muốn học lập trình
Đầu tiên, phải xin cảnh báo trước với các bạn là việc học và việc lập trình không hề dễ dàng. Chuyện tự học lại càng khó khăn hơn và không phải ai cũng có thể theo đến cùng.
Kiến thức lập trình phức tạp, khó tiếp thu. Khối lượng kiến thức nhiều lại hay thay đổi. Đây là lý do mà nhiều bạn dễ cảm thấy nản lòng, muốn bỏ cuộc khi đang học.
![]() |
Ngoài ra, việc xác định lý do học sẽ giúp bạn dễ dàng lựa chọn lộ trình học hơn. VD bạn muốn làm web thì chỉ cần học về web, muốn làm app di động thì chỉ cần học kĩ về di động, không phải lan man học đại trà.
Lựa chọn một con đường để đi
Để có thể đi làm, lập trình ra một thứ gì đó, hầu như lập trình viên nào cũng trải qua những giai đoạn sau:
Nhập môn: Chọn một ngôn ngữ nào đó (C, C++, Python) để nhập môn, hiểu các khái niệm cơ bản trong lập trình (biến, hàm, con trỏ, module). Giai đoạn này mất khoảng 1-2 tháng.
Nhập môn sâu hơn: Học C++ hoặc Java/C# để tìm hiểu về các khái niệm OOP, về cấu trúc dữ liệu và thuật toán. Ngoài ra, bạn còn phải học về cách thiết kế database và cách chúng hoạt động. Giai đoạn này cũng mất khoảng 1-2 tháng.
Những giai đoạn về sau mất từ vài năm cho tới vài chục năm để thành thục.
Chuyên sâu về ngôn ngữ: Sau khi đã nắm các khái niệm cơ bản, các bạn bắt đầu tìm hiểu chuyên sâu một ngôn ngữ nào đó: Ngôn ngữ đó điểm mạnh điểm yếu gì, làm được những gì, cách thiết kế code, cách viết hàm ra sao. Bạn cũng phải tìm hiểu về hệ sinh thái của ngôn ngữ đó (C# thì đi với Window, MS SQL và VS, PHP thì đi với Linux, MySQL, ….)
Kiến thức nâng cao: Mỗi ngôn ngữ đều đi cùng với nhiều framework và thư viện. Phải có những kiến thức nâng cao này thì bạn mới có thể xin việc làm, làm được việc.
Bạn chọn Java Web, bạn phải biết về Struts, Hibernate…
Theo Android thì phải rành Java, hiểu rõ về LifeCycle của app Android, các khái niệm như Acitivty, Fragment,…
Theo C# thì bạn phải biết ASP.NET MVC, Entity Framework…
Kiến thức phụ thêm: Kiến thức về cách dùng Git/SVN, về HTTP và AP Về cách viết code, về kiến trúc phần mềm, caching….
Mình khuyên các bạn tự học cũng nên đi theo hướng tượng tự. Hãy xác định thứ mình muốn học rồi tìm tài liệu “nhập môn lập trình” để học những thứ cơ bản trước, sau đó học dần lên.
Điều quan trọng ở đây là các bạn phải rèn cho mình thói quen học tập, có thói quen, bạn sẽ không dễ dàng bỏ cuộc giữa chừng.
0 nhận xét:
Đăng nhận xét