Cách mà tôi học một công nghệ mới
Là một lập trình viên chắc hẳn ai cũng từng phải học hay tiếp cận một công nghệ mới. Nếu công nghệ đó có người đi trước dẫn lối thì...
Là một lập trình viên chắc hẳn ai cũng từng phải học hay tiếp cận một công nghệ mới. Nếu công nghệ đó có người đi trước dẫn lối thì chúc mừng bạn, bạn đã là người may mắn. Nếu công nghệ hoàn toàn mới với công ty cũng như bản thân bạn thì bạn phải trải qua một cảm nhận không mấy dễ chịu. Nhưng mà yên tâm đi sau khi bạn có thể làm chủ được công nghệ qua quá trình tự học này thì kiến thức và trình độ của bạn đã đạt tới một cảnh giới mới.

Vấn đề chẳng có gì để nói khi bạn có thời gian tìm hiểu và thực hành một điều gì mới. Vấn đề là thời gian bạn có rất ngắn, nhiều thì bạn có 3 ngày đến 1 tuần. Ít thì bạn chỉ có 1 ngày để bắt đầu làm với nó. Đến đây có lẽ bạn bắt đầu sợ rồi đúng không.
Bản thân mình với công nghệ power platform ở bài viết trước mình chỉ có duy nhất một buổi chiều với nó. Vì là công nghệ mới và khá ít tài liệu, cộng động lại không có nhiều nên mình gặp khá nhiều khó khăn.
Dưới đây là một số tips mà mình ngộ ra được trong quá trình học một công nghệ mới, hi vọng có thể giúp ích được các bạn trong quá trình tự học một cách nhanh và hiệu quả nhất nhé!
Đầu tiên, chỉ với một keyword công nghệ mình thường search google với từ khoá đó dưới dạng hình ảnh. Từ một người chưa biết gì sau khi tìm kiếm hình hảnh mình bắt đầu mường tượng nó là cái gì, những stack công nghệ liên quan đến từ khoá đó, nó giúp tôi hình dung được cái nhìn tổng quát và các mối tương quan của một công nghệ mới nào đó.
Đọc thêm:
Từ cái hình dung về công nghệ với hình ảnh ở trên mình bắt đầu tìm đến sách, hoặc tìm kiếm các trang document chính thức của công nghệ đó (thường một công nghệ nào ra mắt sẽ đều có tài liệu chính quy liên quan. Mục đích lúc này không phải là học từ A tới Z với đống tài liệu đó mà là mình xem phần mục lục. Thường mình sẽ đọc một hết một lượt mục lục và ghi chú lại toàn bộ mục lục đó nhằm định hướng được thứ tự học trước học sau của một công nghệ. Với bước này mình thường dùng mind map để ghi chú, nó giúp mình có cái nhìn tổng quan nhất về công nghệ mà mình hướng đến. Một bức tranh toàn cảnh sẽ giúp bạn nắm được công nghệ này một cách nhanh nhất có thể, hơn nữa nó còn giúp bạn xâu chuỗi các kiến thức mà bạn sẽ học tới đây.
Tiếp đến sau khi ghi chú lại những danh mục theo thứ tự học rồi thì giờ mình sẽ đọc lướt một lượt nhằm mục đích nhặt ra những từ khoá và định nghĩa quan trọng của công nghệ đó. Thường muốn nắm được một công nghệ bạn phải hiểu được những mảnh ghép nhỏ trong công nghệ đó, và bước này sẽ giúp bạn nhặt và hiểu được từng mảnh ghép nhỏ trong một bức tranh tổng quát trên. Với mỗi từ khoá mình tìm được mình tiếp tục ghi chú lại và tiếp tục search google với từ khoá nhỏ như vậy nhằm hiểu thêm rõ ràng hơn về mảnh ghép nhỏ này. Đọc đến đây bạn có thể hình dung với việc chia để trị, chia nhỏ kiến thức lớn thành những kiến thức nhỏ hơn và tiếp tục một vòng lặp với những kiến thức nhỏ này trước. Với điểm này nếu bạn có hỏi một ai đó cũng sẽ dễ dàng hơn, bạn có bức tranh tổng quát ở bước 1, bạn có lộ trình và trình tự học ở bước 2, bạn có ngữ cảnh và những mảnh ghép nhỏ ở bước 3, khi này việc đặt câu hỏi của bạn sẽ sát sườn hơn và làm cho người trả lời cũng dễ dàng có thể giúp bạn hơn.
Được rồi, sau khi tìm hiểu nhanh những mảnh ghép nhỏ trong công nghệ rồi thì vấn đề bây giờ là bạn phải thực hành. Do mình không có nhiều thời gian để tìm hiểu một công nghệ nên đến bước này mình sẽ có 3 cách, một là mình làm một ứng dụng nhỏ để hiểu cú pháp, quy trình, cách chạy, cách thức vận hành, cách deploy lên môi trường nào đó; hai là mình sẽ lên xem những đoạn video ngắn hướng dẫn cách hoạt động của công nghệ; ba là mình sẽ tìm những mã nguồn mở liên qua đọc và chạy thử trên môi trường của mình. Đôi lúc mình kết hợp cả ba cách này một cách linh hoạt để có thể tiết kiệm thời gian nhất. Đây là một bước quan trọng, học bất cứ cái gì mà bạn không thực hành với nó thì sẽ chẳng đi đến đâu, ở đây mình đang đề cập đến việc học trong thời gian ngắn, còn nếu bạn có thời gian dài hơn, mình nghĩ các bạn nên thực hành thật kỹ những lý thuyết mà bạn đã học từ đó tự chiêm nghiệm lại cho bản thân mình.
Đọc thêm:
Dưới đây là 4 bước trong quá trình nếu bạn được coi là hoàn thiện một công nghệ nhé, đừng vội tự tin mình làm chủ công nghệ khi chưa trải qua đủ 4 bước này.
- Nền tảng (Fundamentals)
- Kiến thức (Information)
- Kỹ năng (Skills)
- Nâng cao (Innovation)
Với mình trong quá trình học và sử dụng một công nghệ mình thường ghi lại những gì mình tìm hiểu được, những lỗi và cách fix hay những tips tricks thông qua các bài viết trên blog nhằm mục đích nhớ lâu hơn và có thể tra cứu lại được, hơn nữa có thể chia sẻ cho những bạn đang và muốn học có thể tiếp cận một cách hiệu quả hơn nữa.
Dù sao thì cộng đồng lập trình nói chung và những người đang bán thân nói riêng thì buôn có bạn bán có phường, chúng ta luôn phải tự tạo cho bản thân một cộng đồng chia sẻ kinh nghiệm với những công nghệ mới. Không chỉ đơn thuần là cùng nhau học, mà là khi xử lý lỗi phát sinh trong quá trình phát triển phần mềm cũng dễ dàng hơn. Bạn thấy đó, những công nghệ mà cộng đồng càng lớn thì công nghệ đó càng được đánh giá cao và phát triển rất nhanh.
Trên đây là bài viết chia sẻ kinh nghiệm của bản thân về quá trình học một công nghệ mới nào đó. Hi vọng bài viết có thể giúp ích được phần nào cho các bạn trong quá trình học bơi giữa một đại dương kiến thức.
Hãy nhớ rằng, kiến thức là vô tận, hãy cùng nhau phát triển nhé!

Phát triển bản thân
/phat-trien-ban-than
Bài viết nổi bật khác
- Hot nhất
- Mới nhất

Lạc Quan
Trước có xem 1 clip của 1 anh bên youtube và đọc bài viết này mới thấy suy nghĩ của Nam (chắc Nam sinh năm 94). Mình hơn bạn 3 tuổi, mình nghĩ chưa chắc đã học hỏi được nhiều công nghệ bằng bạn nhưng mình nghĩ kinh nghiệm của mình là hơn bạn. Đứng trên 1 góc độ khác mình không hề khuyến khích việc học công nghệ thật nhanh và như bạn nói là nắm bắt nó. Đứng trên góc độ công ty thuê bạn làm outsource thì họ chả quan tâm bạn nắm bắt nó nhanh hay có phù hợp không? Họ chỉ muốn bạn làm được cái đó để họ kiếm tiền về cho họ, họ không quan tâm bạn hiểu sai hiểu đúng, không quan tâm bạn tiếp thu được cái gì sau đó. Tức là việc bạn học nhanh trong vài ngày hay tuần chắc chắn không mang lại giá trị cho bạn mà chỉ mang lại giá trị cho họ. Bạn nhanh chóng quên cái công nghệ đó dù chưa hiểu hoặc dùng nó đúng cách. Còn nếu là công ty làm product họ không bao giờ khuyến khích bạn học 1 công nghệ trong thời gian ngắn vì họ cân đo đong đếm xem công nghệ đó ra sao, công nghệ đó có bền vững hay vài ngày bỏ, công nghệ đó có tốt không? Nếu tốt cho product thì họ có dám mạo hiểm để bạn học trong vòng vài ngày, tuần sau đó áp dụng cho product không? Chắc chắn là không rồi, họ cần tìm chuyên gia. 4 bước của bạn có thể đúng nhưng chỉ đúng với việc công nghệ tương đương nhau và 2 bước đầu tiên bạn đã dành nhiều năm trước đó để tích lũy. Ví dụ công nghệ Web thì nếu có nền tảng công nghệ Web rồi thì bạn sẽ nhanh chóng chuyển ngôn ngữ dù PHP hay NodeJS cũng không vấn đề. Nhưng công nghệ đó là Swift, Machine Learning ... thì sao. Thì bạn không phải dùng 1 tuần, 1 tháng hay 1 năm đâu. Mà bạn sẽ phải lặp lại 2 bước đầu tiên trong nhiều năm trước khi bước sang được bước thứ 3 thứ 4. Gặp những công ty mà cần công nghệ bắt học trong 1 tuần hay 1 tháng xong sau này không bao giờ có ích hoặc không bao giờ sử dụng lại thì thôi out đi trước khi bạn trở thành 1 mớ hỗn độn.
- Báo cáo

Ntech 

Đồng quan điểm với anh. Vấn đề là công ty outsource sau khi bid ra được tech stack rồi thì việc học nhanh để làm chứ k phải học cho biết đâu ạ. Phận lính đánh thuê nhiều dự án sẽ hiểu cảm giác có rất ít thời gian để tiếp cận.
- Báo cáo

Tùng Lâm
Em muốn xin lời khuyên của anh ạ. Hiện tại em là sinh viên năm 4 ạ vậy thì em nên chọn 1 công ty outsource hay 1 công ty product để join vào sau khi tốt nghiệp ạ. Em cám ơn anh ạ
- Báo cáo

Lạc Quan
Vào product thì tốt hơn nhưng product không hay dùng sinh viên mới ra trường ít kinh nghiệm. Dù outsource hay product thì vào công ty nào có quy trình làm việc rõ ràng hen.
- Báo cáo

5 ngày ngủ 3
thank anh đã chia sẻ, công nghệ bây giờ ra nhiều và nhanh quá, học phải làm nhiều mới nhớ nổi không là quên tuốt, nhất là mấy tech bên devops. 

- Báo cáo

Ntech 

Đúng rồi đó bạn. Học mãi mà có hết đâu. Mà k học thì k làm được, k làm được thì k có ăn :)))
- Báo cáo

I'm my own Soulmate
Bổ ích quá, đúng cái mình đang tìm. Cảm ơn tác giả!
- Báo cáo
Nguyễn Xuân Hùng
Anh ơi giữa việc tự code với cop code từ stackoverflow thì nên làm cái nào hơn ạ? Em mới tập tãnh tự học vào ngành IT, ước mơ sau này là tự làm một con AI cho riêng mình. Anh có lời khuyên nào không ạ? Em xin cảm ơn ạ!
- Báo cáo

Ntech 

Không ai cấm việc copy cả. Có cộng đồng sẽ giảm bớt việc phải tự mình suy nghĩ như kiểu đứng trên vai những người khổng lồ. Thường thì người ta sẽ ít khi xây dựng lại thư viện kiểu như chứng minh lại công thức có sẵn trong toán học. TUY NHIÊN, dùng là phải hiểu, hiểu thật kỹ hãy dùng vì nó có thể gây ra nhiều hệ luỵ phía sau, do code đó chỉ đúng trong ngữ cảnh của người đó tại thời điểm đó, chưa chắc dùng vào ngữ cảnh của mình đã đúng, sau cùng lỗi mình chịu chứ k ai chịu, một khi không hiểu mà dùng sau lỗi ngồi khóc gọi bụt cũng chẳng ai giúp. Có những người hay những công ty chấp nhận bỏ thời gian và chi phí xây dựng lại để có thể nắm được cái lõi, họ chấp nhận đi chậm để đi được xa hơn là ăn xổi phần ngọn rồi đến lúc chi phí bỏ ra maintain code quá chết. Nói tóm lại tuỳ mục đích cuối của e muốn nhanh có tool hay muốn học hay muốn cả hai thì e sẽ có quyết định cho riêng mình
- Báo cáo

Ntech 

Mình xin phép được tạo nhóm review sách chuyên ngành công nghệ thông tin trên goodread.
Hi vọng có thể giúp cho cộng đồng review sách nói chung và lập trình viên nói riêng có thể được mở rộng.
https://www.goodreads.com/group/show/1160277-review-s-ch-c-ng-ngh-th-ng-tin
- Báo cáo