• No products in the cart.
Back to Top

FCT Club

Trung Nguyễn Axie Infinity: 80% kiến thức của tôi là do đọc, và thứ tôi đọc nhiều nhất là code của người khác

Trung Nguyễn: Từ ghét bỏ đến sứ mệnh phổ cập blockchain
CEO Sky Mavis Nguyễn Thành Trung (Trung Nguyen). Ảnh: Viet Nam Finance

Chân tình và cởi mở, Trung Nguyễn, CEO công ty tỷ đô Sky Mavis, chia sẻ về quá trình học tập, khởi nghiệp và làm sản phẩm của mình. Anh cũng đưa ra những lời khuyên gần gũi, dễ thực hiện dành cho các bạn nhỏ muốn học lập trình. Bài này tóm tắt nội dung cuộc nói chuyện của anh với các học viên và cộng đồng của CLB Tài năng lập trình FPT Software (FCT Club), tháng 10/2021. Độc giả muốn xem video xin mời vào youtube channel của CLB.

Các bạn nhỏ và các vị phụ huynh có thể đăng ký thành viên FCT Community để được mời tham dự trực tiếp các cuộc nói chuyện do CLB tổ chức. Việc tham gia hoàn toàn miễn phí và tự nguyện. Hướng dẫn ở cuối bài.

Phần 1. Quá trình học tập

Q: Anh đã học lập trình như thế nào?

A: Tôi bắt đầu tiếp xúc với máy tính từ năm 8 tuổi. Thời gian đầu chắc không gọi là học lập trình, mà là gõ lại các bài giảng Pascal. Gõ các câu lệnh và chạy thử. Hồi đó tôi chưa biết gì, nên gõ cả số thứ tự các dòng lệnh vào, vì vậy chương trình không chạy. Phải đi hỏi mới biết. Lúc đầu cứ gõ như thế, sau mới suy ngược lại xem các dòng lệnh đó để làm gì.

Việc này có liên quan đến chơi game, vì chơi game cho ta cảm giác điều khiển một vật gì đó. Lập trình là điều khiển máy tính thông qua các dòng lệnh. Đầu tiên là lập trình các bài toán đơn giản như tính chu vi đường tròn, rồi “đồ sộ” hơn như chương trình trắc nghiệm. Cứ thế hình thành đam mê, cả trong lập trình thi đấu lẫn làm sản phẩm thi tin học trẻ.

Q: Theo anh, bây giờ các bạn trẻ nên bắt đầu như thế nào? Nên phân bổ thời gian thế nào để tự học lập trình?

A: Tôi thường không gặp khó khăn với việc học ở trường, nên có nhiều thời gian để làm các thứ khác và không gặp vấn đề phân bổ thời gian. Lên cấp 3 chuyên tin thì các thầy cô tạo điều kiện, không phải học các môn khác nhiều. Chọn Đại học FPT cũng là để không mất quá nhiều thời gian lên lớp, nên có thể đi làm sớm ở các đơn vị trong FPT.

Tôi nghĩ, các bạn nhỏ cần cố gắng hoàn thành nhiệm vụ ở trường hiệu quả nhất. Sử dụng thời gian hợp lý mà vẫn có kết quả tốt. Nếu muốn đi theo lập trình, cần nhiều kiến thức khác như toán hay tiếng Anh. Các kỹ năng làm việc nhóm. Cả văn học. Do đó kiểu gì cũng cần học đầy đủ.

Các bạn ở CLB may mắn được tiếp xúc với tin học sớm, có thể tận dụng để tạo đà sớm, có lợi thế sau này. Tóm lại vẫn cần hoàn thành xuất sắc chương trình ở trường.

Q: Hồi học phổ thông, anh dành bao nhiêu tiếng mỗi tuần để học lập trình? Và bây giờ các bạn nhỏ nên dành bao nhiêu thời gian?

A: Hồi lớp 6 lên 7, hè, tôi phải làm phần mềm đi thi tin học trẻ, nên đã thức trắng đêm để hoàn thành. Tất nhiên, nói chung thì không nên thế, nên kiểm soát thời gian để không bị dồn việc. Các bạn nhỏ không nên thức đêm.

Theo tôi, để học hiệu quả, trong tuần thì mỗi ngày 1-2h, cuối tuần thì nhiều hơn.

Học lập trình không nhất thiết ngồi máy tính quá lâu, vì thời gian các bạn không ngồi máy tính vẫn có thể bổ sung kiến thức tin học, ví dụ đọc sách. Đọc những lúc phù hợp. Sách dạy ngôn ngữ lập trình.

Q: Để giỏi lập trình, cần học Toán đến mức nào?

A: Toán rất rộng, có những phần liên quan đến lập trình. Nếu là đi thi đấu – toán rời rạc, lý thuyết đồ thị… Lý thuyết xác suất, thống kê, ma trận. Machine learning, AI network. Nếu một lập trình viên không hiểu sâu toán thì vẫn có thể sử dụng thư viện của người khác. Nhưng để đào sâu, có thể tùy biến cho mình, thì cần hiểu đến mức có thể thay đổi. Không giỏi toán thì không hiểu được bản chất vấn đề. Tuy nhiên, một người không hiểu sâu về toán thì vẫn có thể phát huy thế mạnh khác như hiểu thị trường, v.v. và vẫn thành công.

Các em còn trẻ, do đó nên chuẩn bị hành trang đầy đủ, để có thể đối mặt với các vấn đề khác nhau trong tương lai. Không nên để hổng chỗ nào mà mình không biết, vì như vậy sẽ bị giới hạn. Đang còn nhỏ thì nên chuẩn bị foundation tốt.

Q: Chương trình của FCT Club thiên về học nền tảng, trong khi một số bạn muốn học nhiều thuật toán để đi thi. Vậy nên dung hòa thế nào giữa việc học nền tảng, học các môn lý thuyết của Khoa học Máy tính (CS) với việc học nhiều thuật toán, dạng bài để đi thi đấu?

A: CS là nền, nhưng cũng cần nhiều skill nếu muốn lập trình thi đấu. Còn làm sản phẩm lại cần rộng hơn. Sẽ có những người đi đến level cực cao của lập trình thi đấu hay ngược lại. Có những LTV làm trong công ty nhưng vẫn tham gia các website thi đấu. Theo tôi mọi thứ đều hội tụ lại. Các bạn nhỏ nên coi các môn học bây giờ là thử nghiệm, vì sau này sẽ có nhiều hướng đi. Nên mài giũa kiến thức kỹ năng cơ bản.

Q: Ngày nay có nhiều công nghệ mới hấp dẫn, nên nhảy vào học ngay, hay nên học tuần tự từ nền tảng lý thuyết trước?

A: Có lẽ nên kết hợp kiến thức nền tảng với việc sử dụng công nghệ mới. Nếu không có kiến thức nền tảng, thì đến một lúc sẽ phải quay trở lại bổ sung. Nên duy trì đam mê bằng cách có thành công nho nhỏ, sản phẩm nho nhỏ, rồi sẽ thấy hổng và quay lại bổ sung kiến thức. Cũng rất khó nếu yêu cầu cứ nghiền ngẫm nền tảng đi.

Muốn giỏi hơn, tiến bộ hơn, thì bắt buộc phải học liên tục. Nếu không sẽ đứng lại ở đó.

Thói quen đọc rất quan trọng. Với cá nhân tôi, khoảng 70-80% kiến thức là có từ việc đọc.

Lúc lập trình thì thứ mà tôi đọc nhiều nhất là code của ng khác. Tôi có thói quen như vậy và thấy rất có ích. Thử nghĩ xem người ta nghĩ như thế nào. Code đẹp là thế nào, cấu trúc nên làm ra sao. Giống như tham khảo từ một tác phẩm đẹp. Tiếp sau là đọc bài viết, blog. Ít xem video vì đọc nhanh hơn.

Bây giờ thì nên học python, và các hình thức học lập trình qua video.

Tại sao nên đọc code? Vì có nhiều kiến thức mới trong lập trình mà ko được thể hiện trong sách, nên đọc code thì học được những cách xử lý tài tình. Trong code có vô vàn cách xử lý tinh tế.

Phần 2. Khởi nghiệp

Q: Mọi người rất quan tâm câu chuyện tạm dừng học ĐH để đi khởi nghiệp. Liệu anh có thể chia sẻ?

A: Thật ra lúc đó tôi đã quyết định là bỏ luôn chứ không phải tạm dừng, sau này quay trở lại học nốt mới gọi là tạm dừng. Khi đó đã phải tranh đấu với gia đình. Cũng vì lúc đó tôi đã tự chủ về tài chính, nên gia đình cũng ít gây sức ép hơn. Sau này thì tôi quay lại học nốt, để hoàn thành lới hứa.

Các bạn nên chọn một trong hai. Nên học cho xong và có bằng, dễ xin visa, có mối quan hệ với các bạn, có thể đồng hành sau này.

Còn nếu bỏ thì bỏ luôn để tập trung vào việc. Quay lại học nốt rất khó, rất dễ bỏ lần 2.

Lúc đó tôi rất muốn làm Lozi, và nếu vẫn đi học thì không tập trung được, nên bỏ. Có một bạn rủ tôi, tôi thì tâm đắc với ý tưởng. Tiền do bạn kia đầu tư. Đó là câu chuyện một hành trình, khởi nghiệp của tuổi trẻ, học hỏi.

Nếu các bạn trẻ muốn khởi nghiệp, thì theo tôi có hai thứ. Trước tiên phải chứng minh, thuyết phục gia đình, để gia đình không phản đối được. Thứ hai là phải tự chủ về tài chính, không phụ thuộc, nếu không gia đình ngưng chi tiền là sẽ không làm gì được.

Theo tôi thì các bạn cứ nên học xong, vì lúc đang học thì có thể kết hợp mềm dẻo, vừa đi học vừa vẫn thử nghiệm gì đó được. Đi kiểu này vững chắc hơn.

Q: Trong quá trình khới nghiệp với Lozi, anh có gì vui và có gì nhức đầu?

A: Các vấn đề vừa làm nhức đầu nhưng đồng thời cũng tạo ra niềm vui khi giải quyết. Chỉ có những mâu thuẫn cá nhân là không đáng có. Đã đành không tránh được mâu thuẫn, nhưng có những quan hệ độc hại, toxic, không dẫn đến lợi ích gì.

Bây giờ tôi chú ý chọn người cho phù hợp, có những điểm chung về chuẩn cư xử. Mâu thuẫn chỉ về quan điểm, dễ giải quyết. Chuẩn chung về tính cách, đạo đức. Khi đó có thể dùng lý để giải thích, ôn tồn.

Phần 3. Làm sản phẩm và công nghệ blockchain

Q: Anh có thể chia sẻ về quá trình làm sản phẩm với các bạn nhỏ?

A: Quan trọng nhất là phải trả lời câu hỏi, làm sản phẩm cho ai, hay đang làm cho một nhu cầu không có thật, mà do mình tưởng tượng ra. Nếu vậy thì có thể vẫn có sản phẩm, nhưng chả để làm gì cả.

Để bắt đầu, các bạn hãy làm sản phẩm mà bản thân mình cần, và cho những người giống mình, có cùng painpoint. Các khâu đoạn khác thì giải quyết dần khi gặp: tìm cộng sự, mktg.

Lỗi hay mắc phải là làm sản phẩm mà ko ai cần.

Q: Thường khi làm sản phẩm thì mình bị cuốn vào và khăng khăng là sản phẩm sẽ được đón nhận. Lỗi này làm sao tự kiểm tra?

A: Đúng là đang ở trong trạng thái thích thú thì khó thuyết phục. Do đó, có lẽ cứ để họ làm, rồi đem ra xem có ai cần không. Làm gì đó nhỏ nhất, nhanh nhất có thể rồi đem thử xem có ai cần hay không. Đó là cách để ngăn ngừa việc làm sai sản phẩm.

Q: Anh hãy chia sẻ ý tưởng, cảm hứng xây dựng Axie? Tại sao game này thành công?

A: Chúng tôi bắt đầu bằng phiên bản nhỏ, chứa đựng cách chơi chính. Rồi đưa ra thử. Có lợi thế là Axie đã có inspiration từ những game khác, ví dụ pokemon. Ý tưởng là các con thú trong game vừa có đặc điểm từ thế giới thực, lại vừa cổ tích.

Vấn đề không phải là ý tưởng, mà là làm tốt được đến đâu. Lúc đầu cũng ít người đón nhận. Phải cải thiện liên tục. Phải mất một thời gian khá dài mới được mọi ng đón nhận. Nhìn lại thì thấy mạo hiểm, vì chúng tôi đã phải mất nhiều thời gian cho đến lúc có câu trả lời thành công hay ko. Khá mạo hiểm.

Q: Tại sao anh chọn blockchain cho game này?

A: Từ góc độ kỹ thuật, blockchain là một giải pháp kỹ thuật, có thể coi nó như internet hoặc một nền tảng lập trình khác.

Tôi chọn blockchain vì ngày xưa chơi game thấy hạn chế vì người chơi không trao đổi mua bán lẫn nhau được. Có game có trao đổi mua bán thì nhà phát hành lại can thiệp, điều khiển, có thể tạo thêm những đồ hiếm làm ảnh hưởng người chơi cũ. Đó là vấn đề lớn. Blockchain có thể giải quyết chuyện này, đưa quyền sở hữu đến tay người chơi. Người phát hành không có quyền tối thượng nữa.

Các bạn nhỏ nên tìm hiểu, vì blockchain có kiến thức thường thức, về lập trình và tài chính. Học lập trình là học tư duy giải quyết vấn đề. Tài chính là cách thức thế giới vận hành. Quản lý tài chính cá nhân, phục vụ cho cuộc sống của mình. Hai thứ này gộp lại có thể coi là blockchain.

Vậy muốn học blockchain thì nên bắt đầu từ đâu? Nên bắt đầu bằng việc thử làm những thứ đơn giản, thử lập trình.

Q: Theo anh, cần có kỹ năng gì để phát triển game?

A: Làm game cần cả các kỹ năng bên ngoài công nghệ. Ví dụ yếu tố mỹ thuật, tạo phong cách của game. Phải tìm đồng đội để giúp về mỹ thuật. Ngoài học lập trình, cần học chuyên sâu hơn về phát triển game. Ví dụ ngày trước tôi dùng Game Maker 4. Công cụ kiểu như vậy, giúp làm game đơn giản, giúp tập trung vào lập trình. Bắt đầu bước đầu tiên.

Q: Theo anh, nên làm marketing cho game như thế nào?

A: Ở lứa tuổi các bạn, nên bắt đầu từ những người xung quanh mình trước. Đem khoe với bạn bè, những người có cùng nhu cầu. Tận dụng internet, đưa lên website. Post lên facebook, tìm hội nhóm liên quan. Các việc như chi tiền quảng cáo, v.v. thì là về sau.

Xin cám ơn anh rất nhiều!

Các độc giả quan tâm có thể tìm hiểu và đăng ký thành viên FCT Community tại đây.

 6,510 total views,  4 views today

Post a Comment