Ngôn ngữ lập trình

Một sinh viên Khoa học máy tính năm thứ nhất hỏi tôi: “Em nên học ngôn ngữ lập trình nào để có được việc làm tốt trong công nghiệp máy tính? Em sợ điều em học ở trường hôm nay có thể lỗi thời vào lúc em tốt nghiệp. Xin thầy lời khuyên.”

 

Đáp: Nếu em giỏi một ngôn ngữ lập trình, em có thể học ngôn ngữ lập trình khác một cách nhanh chóng. Theo một điều tra gần đây của Hội máy tính (ACM), ngày nay Python đã vượt qua Java là ngôn ngữ được dùng hàng đầu trong công nghiệp máy tính. Hiện thời, nhiều đại học Mĩ đang chuyển sang Python như ngôn ngữ dạy chính thức, nhưng Java vẫn là ngôn ngữ ưa chuộng ở nhiều nơi. Sự kiện Python được dạy rộng rãi vì nó là ngôn ngữ được dùng trong Thông minh nhân tạo, Khoa học dữ liệu và Học máy. Nhưng Java và JavaScript vẫn là phổ biến trong phát triển web và tính toán vạn năng.

Có nhiều việc làm tốt trong công nghiệp máy tính, tuỳ theo kĩ năng của em và điều em muốn làm. Chẳng hạn, làm việc như Nhà khoa học dữ liệu, Người phân tích dữ liệu, hay Kĩ sư dữ liệu, em sẽ cần có kĩ năng trong Python, NonSQL, MapReduce, Machine Learning, Khai phá dữ liệu, Phân tích doanh nghiệp và Quản lí dự án.

Để làm việc như người thiết kế Web, em sẽ cần có kĩ năng trong Java, JavaScript, Thiết kế giao diện người dùng, thiết kế đồ hoạ, kiến trúc thông tin và HTML 5.

Để làm việc như Kĩ sư phần mềm, em sẽ cần có kĩ năng trong C hay C++, Java, Tính toán mây, vòng đời phát triển phần mềm, phát triển Agile như Scrum; SQL và Quản lí dự án.

Bên cạnh kĩ năng kĩ thuật, em cũng cần ít nhất một ngoại ngữ (tiếng Anh được ưa chuộng hơn) và kĩ năng mềm như trao đổi, làm việc tổ, trình bày, dịch vụ khách hàng, lãnh đạo và chiến lược doanh nghiệp.

 

—English version—

 

Programming Languages

A first-year Computer Science student asks me: “Which programming language I should know to get a good job in the computer industry? I am afraid what I learn in school today maybe obsolete by the time I graduate. Please advise.”

 

Answer: If you are good in one programming language, you can learn another language quickly. According to a recent survey by the Association for Computing Machinery (ACM), today Python has surpassed Java as the top language used in the computer industry. Currently, many U.S. universities are switching to Python as the official teaching language, but Java is still a favorite language in many places. The fact that Python is widely taught because it is the language used in Artificial Intelligence, Data Science, and Machine learning. But Java and JavaScript are still popular in web development and general purpose computing.

There are many good jobs in the computer industry, depending on your skills and what you want to do. For example, to work as Data Scientist, Data Analyst, or Data Engineer, you will need to have skills in Python, NonSQL, MapReduce, Machine Learning, Data Mining, Business Analyst, and Project Management.

To work as a Web Designer, you will need to have skills in Java, JavaScript, User Interface Design, Graphic design, Information architecture, and HTML 5.

To work as Software Engineer, you will need to have skills in C or C++, Java, Cloud computing, Software development life cycle, Agile development such as Scrum; SQL and Project management.

Beside technical skills, you also need at least one foreign language (Prefer English) and soft-skills such as communication, teamwork, presentation, customer service, leadership, and business strategy.