Lựa chọn ngôn ngữ/framework lập trình nào?

Việc sử dụng ngôn ngữ hay framework lập trình nào không phải là quá quan trọng trong việc xử lý vấn đề/sản phẩm của doanh nghiệp.

Kể cả trong 1 dự án cũng vậy. Tuy vậy, nếu mọi người trong team đều sử dụng chung ngôn ngữ, framework thì sẽ có 1 số lợi điểm sau:

Có tiếng nói chung
Dễ dàng nghiên cứu, áp dụng điều mới
Rút kinh nghiệm chéo
Phát triển, triển khai nhanh

Nhược điểm là ngược lại của lợi điểm.
Tuy nhiên, để kết hợp được nhiều ngôn ngữ, framework khác nhau trong 1 dự án phụ thuộc hoàn toàn vào trình độ, khả năng điều phối, phối hợp của project leader

Bản thân là 1 lập trình viên, tôi nghĩ các việc các bạn cần ưu tiên nắm vững như sau:
Kiến thức có bản về lập trình: Phân biệt các thuật ngữ trong lập trình, biến, hàm, vòng lặp, thuật toán cơ bản…
Kỹ năng tự google vấn đề, đọc hiểu tài liệu tiếng anh chuyên ngành
Sau đó là tới ngôn ngữ lập trình.

Khi đã hiểu được các cách vận dụng 1 ngôn ngữ lập trình rồi, bạn bắt đầu tìm hiểu tới framework. Thực tế, bạn hoàn toàn có thể học 1 ngôn ngữ lập trình bằng cách học 1 framework. 2 cái này song hành với nhau, không nhất thiết phải có trước có sau.

Trở lại phần đầu bài, nếu bạn thật sự chuyên 1 ngôn ngữ lập trình nào đó, bạn hoàn toàn có thể đóng góp vào việc hoàn thiện 1 hệ thống, sản phẩm mà không nhất định phải học lại framework mà hệ thống đang sử dụng.

Tất nhiên là kiến thức của bạn phải tương đồng với yêu cầu sản phẩm/hệ thống.

Ví dụ: Bạn không thể tạo ra 1 module cho yêu cầu về server trong khi bạn là chuyên gia về frontend. Bạn cần phải nắm vững các kiến thức, ngôn ngữ lập trình server như JS, dotNet, PHP,…

Vậy khi nào thì bạn cần phải học ngôn ngữ/framework mới?

  1. Lý do quan trọng nhất bao giờ cũng là tiền
    Tiền ở đây là như cầu của người trả lương cho bạn. Nếu công ty/ông chủ có nhu cầu và việc chuyển đổi là bắt buộc thì bạn buộc phải theo.
  2. Nếu bạn không làm việc vì tiền thì chắc chỉ có đam mê
    Học cái mới trong khi mình đã nắm vững cái cũ có thể giải quyết được vấn đề tương đương bao giờ cũng là việc khó.
    Các cụ đã nói trăm hay không bằng tay quen, khi đã quen 1 thứ thì việc chuyển sang thứ khác là điều không dễ dàng, những cản trở về định kiến ban đầu sẽ khiến bạn nhanh chóng bỏ cuộc. Làm sao đam mê của bạn lớn hơn định kiến thì mới chuyển được.
  3. Framework/ngôn ngữ mới giúp bạn giải quyết vấn đề tốt hơn
    Bạn phải tìm hiểu mới có thể rút ra được kết luận này. Cái mới bao giờ cũng khó hơn, nhưng đôi khi lại trở nên thú vị hơn. Cái cảm giác thú vị này chính là khoảnh khắc bạn nên tìm hiểu sâu hơn nữa.

Bất cứ ngôn ngữ/framework nào cũng có ưu/nhược điểm riêng. Đừng chạy theo trào lưu. Tuy nhiên, là dân công nghệ, bạn cần phải luôn cập nhật những thứ mới, đi kịp thời đại. Đồng thời là 1 lập trình viên, bạn cần phải là chuyên gia trong lĩnh vực mà mình làm.