Hôm nay, tụi mình muốn bắt đầu bằng câu hỏi cơ bản nhất đặt ra cho các bạn lập trình viên: lựa chọn ngôn ngữ lập trình nào? 
Lý do phổ biến bạn chọn một ngôn ngữ như javascript, python, hay swift là gì? Câu trả lời tụi mình thường nghe được là: tại vì em có một người anh đi trước bảo ngôn ngữ này đang hot, em thấy nó cũng hay hay. Hoặc ngôn ngữ này dễ xin việc, được trả lương cao...
Các lý do trên không sai, nhưng đó không phải gốc của vấn đề. Và nếu không biết tận gốc lý do, mình tin là các bạn LTV sẽ luôn thường trực câu hỏi: nên tiếp tục theo hay bỏ ngôn ngữ mình đang học? 
Các bạn biết không? Một ngôn ngữ lập trình, bạn cần theo tối thiểu 5 năm để có thể lên mức senior, vì vậy việc định hướng sai sẽ làm bạn mất rất nhiều thời gian. 
Với tập này, tụi mình sẽ cung cấp cho các bạn 5 câu hỏi cơ bản, bạn cần hỏi bản thân khi lựa chọn một ngôn ngữ để đi sâu. Đây cũng là 5 câu hỏi mà các công ty phần mềm hay sử dụng để định hướng việc đào tạo nhân lực nội bộ.
5 yếu tố cần xem xét khi lựa chọn ngôn ngữ lập trình:

1. Ứng dụng (application): 

Hiểu đơn giản là mục đích bạn học lập trình để tạo ra sản phẩm gì? Bạn muốn tạo nên các ứng dụng cool ngầu trên di động, các ứng dụng game với đồ họa hoành tráng, hay muốn tạo nên những phần mềm phức tạp, gắn liền với nghiệp vụ của các công ty như Base.vn? Mục tiêu này quyết định việc bạn sẽ chọn học ngôn ngữ lập trình nào? Ví dụ như tại ICTS, chúng mình tập trung vào việc phát triển các phần mềm liên quan tới nghiệp vụ CSKH, mobile app, web app cho các công ty dịch vụ, logistic, hoặc các công ty liên quan đến crypto currencies, thì ngôn ngữ mà các LTV bên mình cần học và master là javascript, python, solidity.

2. Nhà cung cấp và nền tảng (platform): 

Platforms là các môi trường mà ứng dụng, sản phẩm bạn phát triển sẽ chạy trên đó. Ví dụ iOS, Android... Mỗi một nền tảng sẽ hỗ trợ những ngôn ngữ lập trình khác nhau. Vì vậy nếu bạn muốn xây dựng các ứng dụng trên Androids, bạn bắt buộc phải biết Java, hay ứng dụng trên iOS, bạn phải biết Swift hoặc Objective-C. Tùy vào môi trường mà sản phẩm của bạn chạy trên đó, bạn sẽ phải chọn ngôn ngữ phù hợp.

3. Hệ sinh thái và cộng đồng hỗ trợ (community): 

Khi học một ngôn ngữ mới, một trong những yếu tố rất quan trọng đó là các nguồn tài nguyên và sự hỗ trợ của cộng đồng sử dụng chung ngôn ngữ đó. Những sự hỗ trợ này sẽ giúp bạn vượt qua được các điểm bí khi học một ngôn ngữ mới mà không mất quá nhiều chi phí và thời gian. Hơn tất cả thì thời đại ngày nay mọi kiến thức đều được tìm thấy trên mạng. Tại sao lại không tận dụng tài nguyên miễn phí và dồi dào như vậy đúng không? 
6 cộng đồng dành cho lập trình viên nổi tiếng trên thế giới mà bạn có thể tham gia:
Stack Overflow
Github
Freecodecamp
Hacker News
Hacker Noon
Reddit

4. Nhu cầu thị trường và xu hướng ngành: 

Làm sao để dự đoán nhu cầu thị trường nhân lực cho ngôn ngữ bạn chọn? Hay đơn giản là chọn ngôn ngữ nào để ra trường dễ tìm việc trong 2-5 năm tới. 
Cách 1: Tìm đọc các báo cáo nhân lực ngành IT (có sẵn rất nhiều trên mạng, thường được tổng hợp bởi các nền tảng tìm kiếm việc làm như Vietnamworks, TopCV, Indeed...). Nếu bạn tự tin với khả năng đọc hiểu tiếng Anh, và sử dụng Google Translate, thì bạn có thể xem các báo cáo, survey về công nghệ của riêng các cộng đồng LTV như Stack Overflow Developer Survey, hay Jetsbrain The State of Developer Ecosystem... 
Đây là những thông tin quý giá giúp bạn nắm được xu hướng sử dụng ngôn ngữ lập trình của cộng đồng LTV thế giới. 
Cách 2: Sử dụng 1 Công cụ rất phổ biến trong Marketing, đó là Google Trends. Tưởng tượng bạn đang phân vân giữa một số ngôn ngữ phổ biến như JavaScript, Python, Java, PHP cách nhanh nhất để kiểm tra xư hướng ngành là vào google trends, nhập 4 từ khóa đó, chọn Vietnam là filter về địa điểm tra cứu, chọn dữ liệu của 5 năm đổ lại, Google Trends sẽ xuất ra báo cáo Interest Over Time. Từ đồ thị, bạn có thể dễ dàng xác định ngôn ngữ nào đang được quan tâm, và ngôn ngữ nào sự quan tâm đang giảm dần. 
Một điểm nữa mà Google Trend còn giúp bạn xác định đó là interest của từng ngôn ngữ phân chia theo từng vùng miền trên khắp Việt Nam. Nếu bạn là người trẻ tuổi, sẵn sàng xê dịch tìm bến đỗ công việc phù hợp, thì đây là một kim chỉ nam bạn cần phải biết.

5. Bạn thích gì? 

Nếu bạn ám ảnh với việc có một giao diện đẹp đẽ dành cho người dùng, thì các ngôn ngữ phục vụ cho việc lập trình frontend sẽ là bến đỗ đời bạn. Nếu bạn hâm mộ việc xây dựng những hệ thống phức tạp, nhiều chi tiết, những bộ dữ liệu khổng lồ thì hãy học ngay .net, java, PHP, C++... bởi đây là các ngôn ngữ dành cho việc phát triển các database applications. 
Ngoài ra bạn còn có thể cân nhắc các yếu tố về môi trường làm việc: bạn muốn làm startup, hay muốn làm các môi trường chuyên nghiệp của các tập đoàn lớn. Việc này cũng quyết định ngôn ngữ bạn nên học. Ví dụ, muốn startup thì tập trung vào các ngôn ngữ giúp xây sản phẩm nhanh, gọn nhẹ như Javascript, muốn làm corporate thì tập trung các ngôn ngữ cho việc vận hành, maintain hệ thống lớn như Java, .net, php. Ở môi trường nào cũng có cơ hội cho bạn tỏa sáng, miễn là bạn phải đạt được level nhất định.
Trên đây là 5 yếu tố cần xem xét khi lựa chọn ngôn ngữ lập trình dành cho LTV Việt Nam rồi. Hy vọng sẽ giúp ích cho các bạn Lập Trình Viên và sinh viên IT định hướng tốt hơn sự nghiệp của mình nha.
Source: nội dung được tạo bởi kênh Lập Trình Viên 4.0, kênh thông tin định hướng sự nghiệp hữu ích dành cho các lập trình viên Việt Nam, do ICTS Custom Software khởi xướng.