Cách tiếp cận 1 ngôn ngữ/công nghệ mới – Phần 2

Nối tiếp phần 1, ở phần này mình sẽ nói rõ hơn về quá trình tiếp cận công nghệ của bản thân. Trước khi bắt đầu, mong các bạn hãy giữ 3 tư tưởng sau:

1. Học một ngôn ngữ/công nghệ mới không khó. Mình biết có nhiều bạn rất ngại, rất sợ học cái mới, hễ nghe nói cái gì là lạ là lắc đầu nguầy nguậy, bảo “không biết”.

Chúng ta nên có tư tưởng là “không phải không biết mà là chưa biết, chịu khó tìm hiểu một tí là biết thôi thôi”. Mình đã giải thích lý do chúng ta có thể tiếp cận công nghệ mới một cách dễ dàng ở bài viết này.

2. Để học được nhiều cái mới, bạn cần phải giỏi tiếng Anh, không ngại đọc (Không cần giỏi cả 4 kĩ năng, chỉ cần giỏi reading là được).

Ngoại trừ một số ngôn ngữ cũ như C, C++ được nhiều dạy ở nhiều trường , có tài liệu tiếng Việt, các công nghệ mới như NodeJS, AngularJS, Entity Framework thường chỉ có tài liệu hoặc hướng dẫn tiếng Anh.

Nếu chỉ chăm chăm tìm tài liệu tiếng Việt, chỉ biết há miệng chờ hàng người ta dịch sẵn, bạn sẽ đi sau thời đại. Ngoài ra, với vốn tiếng Anh kha khá, khi có bug hoặc gặp vấn đề khó giải quyết, bạn sẽ dễ google và tìm câu trả lời hơn.

3. Hạn chế hỏi linh tinh, hãy google trước khi hỏi.

Mình rất đồng tình với quan điểm “không biết phải hỏi, không giấu dốt”. Tuy nhiên, dân lập trình viên nói chung rất ghét những câu  hỏi ngu, lười suy nghĩ. Trước khi hỏi, hãy thử tìm google trước.

Có khi bạn hỏi chỉ mất 1 phút là có câu trả lời, google để tìm câu trả lời mất tới 1 tiếng. Nhưng trong 1 tiếng đó, bạn sẽ học được rất nhiều điều liên quan khác, cả những điều bạn không biết mình cần phải hỏi.

simpsons_board

Các bạn nhớ đọc lại phần 1 để hiểu khái niệm về: fundamental, information và skill nhé. Dưới đây, mình sẽ chia sẻ quy trình mình áp dụng để học một công nghệ mới. Tất nhiên không phải công nghệ nào cũng vậy, tùy vào việc mình rành kiến thức nền tảng – fundamental của công nghệ đó tới đâu:

Tìm tài liệu học – Giai đoạn sơ khởi

Đây là bước quan trọng nhất. Nếu có người quen rành công nghệ này, bạn có thể nhờ họ chỉ từ khóa, tên sách, website v…v để mình có thể tự tìm hiểu. Họ cũng sẽ chỉ cho những gì cần học. (VD: mình muốn học thiết kế web, cần học trước về html, css, javascript, jQuery.).

Trường hợp xui xẻo hơn, nếu bạn không có người quen, có thể lên amazon.com, đánh tên công nghệ mình muốn học, sau đó chọn 1,2 cuốn ebook đứng đầu, tìm bản ebook và bắt đầu học.

Lưu ý là chỉ cần 1,2 cuốn, không nhiều hơn nhé, nhiều hơn bạn sẽ lười và không đọc đâu. Mình biết có nhiều bạn tải gần cả trăm MB ebook, tưởng mình giỏi, nhiều tài liệu mà bản thân họ chẳng đọc bao giờ.

techbooks

Bắt đầu học – Giai đoạn nhập môn

Tại sao mình lại khuyến khích bạn học từ sách, mà không phải là học qua website, forum… hay gì đó. Lý do là khi xuất bản một cuốn sách, tác giả thường trau chuốt + soạn sẵn một chương trình học cho bạn.

Các kiến thức được trình bày trong sách theo thứ tự tuần tự mạch lạc. Đây là giai đoạn các bạn bổ sung kiến thức dạng nền tảng (fundamentals) và infomation về công nghệ mình muốn học.

Sách technical dĩ nhiên vẫn có code. Mình khuyên các bạn nên làm theo hướng dẫn trong sách, setup môi trường, phải code theo (Đừng đọc code rồi gật gù ờ ờ nhé, chẳng thấm được gì đâu). Lưu ý là gõ code bằng tay để hiểu, không copy code vào rồi chạy nhé!

Vừa gõ, vừa sửa code, vừa thử nghiệm, các bạn sẽ dần dần có một cái nhìn rõ ràng hơn về công nghệ mình đang học. Mình đã tự học HTML, CSS, Javascript, jQuery theo cách này, thông qua series sách Head First.

Một số series hay để nhập môn: xxx For Dummies, Head First xxx, sách khác của O’Reilly. Những sách này có ngôn ngữ đơn giản, ảnh minh họa nhiều, việc học rất vui và nhẹ nhàng. Có một số cách học khác như học qua video trên pluralsight, code ngay với codeschool, cũng khá trực quan và dễ hiểu.

ebook

Áp dụng kiến thức – Giai đoạn nâng cao

Bạn đừng lo nếu mình đọc được 1 nửa cuốn sách đã chán, mình cũng từng như vậy. Đọc được 1/2 hoặc 2/3 cuốn sách, bạn đã có kha khá kiến thức nền tảng, cùng 1 chút kiến thức chuyên sâu về công nghệ mình học. Lúc này sách vở không còn nhiều tác dụng nữa, bạn hãy thử áp dụng kiến thức mình đã học vào thực tế.

Bằng cách nào? Hãy thử viết một phần mềm to-do-list, hoặc một trang web to-do-list, hoặc 1 blog bằng công nghệ mình đang học. Đây là những phần mềm dễ viết, yêu cầu rõ ràng, nhưng lại cho bạn cơ hội để tự trải nghiệm công nghệ mình học qua việc làm các chức năng: Chức năng hiển thị, thêm bớt xóa sửa, kết nối database ,….

Nếu gặp khó khăn trong quá trình làm, bạn có thể xem lại sách, tìm cách giải quyết tương tự, hoặc lên stackoverflow để hỏi. Sau khi làm xong, hãy ráng trau chuốt source code, sau đó upload nó lên github. Bạn vừa có project để tham khảo, hướng dẫn cho người sau, vừa có project để giới thiệu cho nhà tuyển dụng.

Ở giai đoạn áp dụng này, bạn sẽ học được nhiều skill, qua đó củng cố thêm fundamental và infomation. Bạn tốt của bạn ở giai đoạn này là stackoverflow hoặc 1 số sách dạng cookbook. Những sách cookbook này khá hay, chúng hướng dẫn cách dùng công nghệ để giải quyết một số yêu cầu thường gặp khi code (Cách parse 1 string sang DateTime trong C#, cách validate 1 form trong jQuery, …)

keep-calm-and-code-on-821

Trên đây là 3 giai đoạn các bạn sẽ trải qua trong quá trình tiếp cận công nghệ. Khi cảm thấy mình có thể giải quyết 80% mọi vấn đề gặp phải, các bạn đã đạt tới cuối giai đoạn “áp dụng”. Các bạn có thể bỏ thời gian nghiên cứu chuyên sâu hơn, hoặc chuyển qua tìm hiểu công nghệ mới, tùy vào đam mê của mỗi người.

Dĩ nhiên mỗi người có một cách học khác nhau, đây chỉ là cách tiếp cận của cá nhân mình. Các bạn có thể góp ý, đóng góp cách học của mình bằng cách comment cho bài viết.

Hoan nghênh mọi ý kiến đóng góp của các bạn. Xin chia sẻ một course pluralsight khá hay về cách học: http://www.pluralsight.com/courses/learning-technology-information-age

9 thoughts on “Cách tiếp cận 1 ngôn ngữ/công nghệ mới – Phần 2”

    1. Chào a Huy Hoàng :),
      Em là newbie, e muốn bắt đầu việc học lập trình bằng ngôn ngữ C#.
      Mục đích của e là có thể biết cách lập trình hướng đối tượng sau 3 tháng.
      Anh có thể hướng dẫn em không ạ?
      Cụ thể là lời khuyên về cách Sách, Ebook(Tiếng Việt) =))
      Và một số lời khuyên a dành cho em. EM cám ơn

      Like

      1. Em lên youtube tìm “Nhập môn lập trình” và “lập trình hướng đối tượng” nhé.

        Lời khuyên dành cho em là chịu khó Google và rèn luyện khả năng tự học chứ đừng nên chờ người khác hướng dẫn ;).

        Like

  1. đôi khi có sư phụ chỉ làm cho việc học nhanh hơn ,vì gì cũng sư phụ sư phụ…không còn 1 tí nào động não và giải quyết vấn đề,khi đi làm sẽ rất hụt hẫng.
    mình có 1 sư phụ rất vĩ đại..cứ có gì hỏi là google đi con…nhưng bù lại sư phụ làm sẵn những cái kết quả , làm mình phải thèm khát đi theo và google..để làm ra…hihi
    cũng từ google mà giờ cũng tự học kha khá hàm excel,macro excel,autoit và hiện nay là php

    Like

  2. Cảm ơn anh Hoàng!
    Đối với các bạn có kỹ năng reading tốt mình muốn chia sẻ trang web này:
    http://www.allitebooks.com/

    Đây là trang chia sẻ ebook miễn phí, với rất nhiều đầu sách mới và hay của các NXB nổi tiếng như O’Reilly, Apress…

    Liked by 2 people

Leave a comment