Skip to content

Dev Note

Có nhiều bạn mới vào nghề cũng như đã vào nghề được một thời gian thường boăn khoăn không biết là để giỏi hơn thì mình nên học một ngôn ngữ…

Progamming Language - Bao Nhiêu Ngôn Ngữ Lập Trình là Đủ Xài?

February 18, 2021

Có nhiều bạn mới vào nghề cũng như đã vào nghề được một thời gian thường boăn khoăn không biết là để giỏi hơn thì mình nên học một ngôn ngữ lập trình thật sâu hay là học nhiều ngôn ngữ lập trình để đụng gì cũng làm được?

Mình cũng đã từng trải qua giai đoạn này và với kinh nghiệm của người đi trước, mình xin chia sẻ với các bạn là nên học như thế nào để có thể trở thành một kỹ sư giỏi. Đầu tiên, chúng ta cần phải hiểu rõ:

Học Sâu Một Ngôn Ngữ có Lợi Ích Gì?

Học sâu một ngôn ngữ có rất nhiều cái lợi. Ngôn ngữ lập trình sinh ra là để giải quyết một tập hợp các bài toán nhất định, và các ngôn ngữ lập trình phổ biến như Python, Ruby, Golang, Java đều để giải quyết cùng một tập bài toán. Cái bạn học khi làm nghề lập trình là cách dùng nhiều thuật toán và công nghệ khác nhau để giải quyết bài toán business như thế nào. Khi bạn học sâu một ngôn ngữ, bạn đã rèn luyện được óc phân tích và giải quyết vấn đề một cách khoa học. Hơn nữa, khi học sâu một ngôn ngữ bạn sẽ va chạm nhiều với các low-level APIs và các phương pháp lập trình khác nhau, và kĩ năng code của bạn cũng ngày một tốt lên. Với kiến thức này, khi bạn tiếp cận một ngôn ngữ mới, bạn có thể trở thành expert rất nhanh vì bạn đã biết rất rõ bạn cần gì ở ngôn ngữ mới. Cá nhân mình, để trở nên rất thành thạo một ngôn ngữ bất kì thì mình thường mất không quá một tuần.

Học Nhiều Ngôn Ngữ có Lợi Ích Gì?

Học nhiều ngôn ngữ có rất nhiều điểm lợi, mình sẽ chỉ ra một số như sau:

  • Mỗi ngôn ngữ sẽ có cách tiếp cận và giải quyết vấn đề khác nhau, học thêm ngôn ngữ giúp bạn học được các cách tiếp cận vấn đề khác nhau. Càng biết nhiều giải pháp tiếp cận và giải quyết vấn đề khác nhau giúp bạn trở thành một senior thực thụ.

  • Mỗi ngôn ngữ sẽ phục vụ tốt nhất cho một tập các bài toán khác nhau, biết nhiều ngôn ngữ giúp bạn có thể sử dụng đúng ngôn ngữ để giải quyết vấn đề của bạn.

  • Mỗi ngôn ngữ sẽ đi kèm các phương pháp và công cụ khác nhau để lập trình, biết nhiều ngôn ngữ giúp bạn hạn chế được khiếm khuyết của ngôn ngữ mình đang sử dụng và làm sao để học cái hay từ các ngôn ngữ khác để viết code đẹp hơn

  • Bạn sẽ trở nên sexy hơn trong mắt nhà tuyển dụng, và đương nhiên cơ hội việc làm của bạn sẽ nhiều hơn khi bạn biết nhiều ngôn ngữ hơn

  • Và nhiều lợi ích khác nữa…

Vậy Cuối Cùng Là nên học Một hay Nhiều Ngôn Ngữ?

Mình khuyên các bạn nên học ngôn ngữ lập trình với lộ trình như sau:

  1. Bắt đầu bằng việc học sâu một ngôn ngữ lập trình phổ biến
  2. Sau khi đã thành thạo phần cơ bản của một ngôn ngữ rồi, hãy cố gắng tìm việc sử dụng ngôn ngữ đó và tiếp tục rèn luyện với ngôn ngữ đó cho thật sự thành thạo. Trong lúc rèn luyện này, học thêm một ngôn ngữ khác để làm giàu hơn kiến thức của bản thân.

Vậy với ngôn ngữ đầu tiên thì nên chọn học ngôn ngữ nào?

Theo ý kiến của mình thì các bạn nên chọn ngôn ngữ như sau:

  • Nếu bạn là Frontend Engineer hoặc bạn chưa biết sẽ là Frontend hay Backend: Chọn JavaScript. Nếu thích Backend thì học thêm NodeJS (vẫn là JavaScript)

  • Nếu bạn là Backend Engineer, bạn có thể tuỳ chọn một trong: Java, Golang, Ruby, Python hoặc C++. Tất cả các ngôn ngữ này đều đã rất là mature và có đủ các tooling để các bạn có thể học, sử dụng, và áp dụng qua cho các ngôn ngữ tiếp theo. Chú ý là ngôn ngữ C mình ko liệt kê vào đây vì hiện nay nếu các bạn lập trình web thì sẽ ít dùng.

Vậy với khi đã thành thạo một ngôn ngữ thì nên chọn học ngôn ngữ nào tiếp theo?

Bạn nên chọn ngôn ngữ nào có thể cùng giải quyết được tập bài toán với ngôn ngữ đầu tiên của bạn và tốt nhất là khác biệt nhiều so với ngôn ngữ bạn đã biết.

  • Bạn đã giỏi Python hoặc Ruby, hãy học thêm Java hoặc Golang hoặc Scala hoặc JavaScript…
  • Bạn đã Golang hoặc Java, hãy học thêm Python hoặc Rust hoặc Erlang…

Trường hợp nên tránh là bạn đã thành thạo Python và bạn chọn học Ruby là ngôn ngữ tiếp theo. Với sự lựa chọn này bạn sẽ học rất nhanh Ruby, nhưng sẽ không học được thêm gì mới.

Quan trọng nhất là khi học nên tránh sự nôn nóng. Mình cũng đã từng trải qua giai đoạn mình học rất nhanh và nghĩ là mình rất giỏi nhưng thực sự là mình đã phải cần thêm thời gian để rèn luyện thì mới thực sự trở nên lão luyện và việc nôn nóng làm mình phải mất thời gian đi lại những cái cơ bản mà mình đã nghĩ là “không quan trọng”.


An Pham
An Pham's Personal Blog
An enthusiastic software engineer who always strives for excellence. 😍