21 Jan, 2021
Học cái gì
Một học sinh trung học viết cho tôi: “Tình cờ em thấy website của thầy và thích thú đọc các bài viết của thầy cho dù em không hiểu được một số bài thật rõ. Em sẽ vào đại học tháng chín này nhưng em vẫn không chắc về học ở khu vực nào. Em muốn có việc làm tốt khi tốt nghiệp khỏi đại học. Thầy có thể cho em vài lời khuyên được không.”
Câu trả lời của tôi: Nếu bạn đọc các bài trong website của tôi, có lẽ bạn biết quan điểm của tôi về công nghệ thông tin. Lời khuyên của tôi là đơn giản: “Nếu bạn muốn có việc làm được trả lương cao khi tốt nghiệp khỏi đại học, hãy học khu vực công nghệ thông tin như Khoa học máy tính, Kĩ nghệ phần mềm, hay Quản lí hệ thông tin.” Có vài nghiên cứu chỉ ra rằng triển vọng việc làm trong khu vực công nghệ là tốt hơn và lương khởi điểm của chúng cũng cao hơn các khu vực khác. (Ở Mĩ, lương cho người tốt nghiệp trong khu vực này là giữa $87,000 tới $116,000 năm 2010).
Trong ba năm qua, đăng tuyển trong khu vực công nghệ thông tin đã tăng lên đáng kể khi ngày càng nhiều sinh viên khám phá ra rằng đây là khu vực tăng trưởng nhanh. Ngay cả trong khủng hoảng tài chính, các công ti thuê sinh viên tốt nghiệp CNTT đã không có gì thay đổi và không có dấu hiệu về việc chậm lại. Nhu cầu về sinh viên CNTT đang lên cao mọi lúc trong năm nay khi phục hồi kinh tế đã bắt đầu. Theo vài báo cáo đại học quãng 97% sinh viên CNTT tìm được việc làm ngay sau khi tốt nghiệp cả ở Mĩ và châu Âu. Tôi không có dữ liệu từ châu Á nhưng cả Ấn Độ và Trung Quốc cũng báo cáo thiếu hụt trầm trọng công nhân CNTT có kĩ năng cho nên tôi tin rằng đây là vấn đề toàn cầu. Ở các trường hàng đầu như CMU, Stanford và MIT, phần lớn sinh viên tốt nghiệp đều nhận được trung bình 3.4 đề nghị việc làm trong năm 2010. Nhiều công ti quan tâm tới sinh viên CNTT ngày nay hơn các năm trước, cho dù một số công ti không trong khu vực công nghệ.
Ts. Mehran Sahami tại đại học Stanford đã công bố một cuộc điều tra về sinh viên đại học và thấy rằng 68% coi Công nghệ thông tin là chọn lựa an toàn hơn trong thời kinh tế thách thức này. Số sinh viên học lớp máy tính tăng lên 25% mỗi năm cho dù nhiều người không chuyên về công nghệ thông tin. Sinh viên trong khoa học tự nhiên và y học cũng phải học lớp máy tính bởi vì có các khu vực mới trong y tính toán, sinh học tính toán, công nghệ sinh học và sinh tin học. Sinh viên về kinh doanh cũng học các lớp máy tính vì có các khu vực mới như tính toán quản lí rủi ro, tính toán đầu tư và ngân hàng đầu tư. Tôi tin xu hướng này sẽ tiếp tục trong mười năm tới khi nhiều khu vực đang thêm các môn máy tính và nhiều công ti đang dùng máy tính để tự động hoá công việc của họ.
Có một số khác biệt giữa Khoa học máy tính, Kĩ nghệ phần mềm, và Quản lí hệ thông tin cho dù chúng tất cả đều là các bộ phận của khu vực Công nghệ thông tin. Khoa học máy tính liên quan tới cả các khía cạnh vật lí và chức năng của công nghệ. Nó giải quyết với các lí thuyết và nghiên cứu về cách máy tính làm việc ở mức rất thấp (cả phần mềm/phần cứng). Phần lớn các chương trình đều hội tụ vào cấu trúc dữ liệu, thuật toán cho ứng dụng đặc biệt. Nếu bạn thích toán học, qui luật, lí thuyết và độ phức tạp của thuật toán nào đó thì đây là lĩnh vực dành cho bạn.
Kĩ nghệ phần mềm liên quan tới mọi khía cạnh của phát triển phần mềm máy tính để giải quyết các vấn đề. Nó bao quát toàn bộ vòng đời phát triển từ quan niệm tới thực hiện và nó chủ trương rằng mọi người làm việc trong tổ để giải quyết vấn đề. Sản phẩm phần mềm phải tuân thủ theo yêu cầu của khách hàng để cho toàn bộ việc phát triển phải được ‘kĩ nghệ’ để giải quyết cho bản chất phức tạp và lớn. Nếu bạn thích cái gì đó thực tế, ít lí thuyết hơn thì lĩnh vực này là dành cho bạn.
Quản lí hệ thông tin liên quan tới việc quản lí hệ thông tin trong môi trường doanh nghiệp. Nó hội tụ vào cái vào, thao tác và cái ra của dữ liệu và ứng dụng của hệ thống để đáp ứng mục đích và mục tiêu của doanh nghiệp. Nếu bạn không thích kĩ thuật nhưng vẫn muốn ở trong khu vực CNTT thì lĩnh vực này dành cho bạn vì nó có nhiều khía cạnh quản lí hơn là khía cạnh kĩ thuật.
Chẳng hạn, nhà khoa học máy tính thiết kế hệ thông tin, cả phần cứng và phần mềm (thuật toán). Người kĩ sư phần mềm phát triển kiến trúc phần mềm, xây dựng sản phẩm phần mềm tương ứng với yêu cầu để giải quyết vấn đề. Người quản lí hệ thông tin quản lí toàn thể hệ thống (phần cứng, phần mềm) để chắc chắn rằng nó đáp ứng nhu cầu của doanh nghiệp. Sinh viên quản lí hệ thông tin ISM cũng học các môn doanh nghiệp và cách tiếp cận CNTT theo cảnh quan quản lí.
—-English version—-
What to study?
A high school student wrote to me: “I found your website by accident and enjoyed reading your articles even I did not understand some very well. I will be attending college this September but I am still not sure about what area to study. I want to have a good jobs when graduate from college. Could you give me some advices.”
My answer: If you read my website’s articles, you probably know my view about information technology. My advice is simple: “If you want to have a high paying job when graduate from college, study information technology area such as Computer Science, Software Engineering, or Information System Management”. There are several studies indicated that job prospects are better in the technology areas and their starting salaries are also higher than other areas. (In the U.S, the salary of graduates in this area is between $87,000 to $116,000 in 2010).
In the past three years, enrollment in information technology area was increasing significantly as more and more students discovered that this was a fast growing area. Even during the financial crisis, company hiring of IT graduates had remain unchanged with no sign of slowing down. The demand for IT graduates is reaching all time high this year as the economic recovery has began. According to several university reports about 97% of IT students found job immediately after graduated in both the U.S and Europe. I do not have data from Asia but both India and China also reported critical shortage of skilled IT workers so I believe that this is a global issue. At top schools such as CMU, Stanford and MIT, most graduate students received an average of 3.4 job offers in 2010. More companies are interested in IT students today than previous years, even some of them are not in the technology area.
Dr. Mehran Sahami at StanfordUniversity published a survey of college students and found that 68% considered Information technology is a safer choice in this challenging economic times. The number of student taking computer classes increase 25% each year even many are not majoring in information technology. Students in natural science and medicine must also take computer classes because of the new areas in Computation medicine, Computation biology, Biotechnology and Bioinformatics. Students in business also take computer classes because the new areas of Risk management computation, Investment computation and Investment banking. I believe this trend will continue for the next ten years as more areas are adding computer courses and more companies are using computers to automate their works.
There are some differences between Computer Science, Software Engineering, and Information System Management even they are all part of the Information Technology area. Computer Science is concerned with both the physical and functional aspects of technology. It deals with theories and research on how computers work at a very low level (both software/hardware). Most programs are focusing on data structures, algorithms for specific application. If you like mathematics, laws, theories, and complexity of certain algorithms than this is a field for you.
Software Engineering is concerned with all aspects of the development of computer software to solve problems. It covers the entire development life cycle from conceptual to implementation and it advocates that people work in team to solve problems. The software product must conforms to the requirements of the customers so the entire development must be “engineered” to deal with the large and complexity nature. If you like something practical, less theoretical than this field is for you.
Information System Management is concerned with the management of the information system in a business environment. It focuses on input, manipulation and output of data and the application of the system to meet business goals and objectives. If you do not like technical but still want to stay in the IT area than this field is for you as it is more on the management aspect rather than the technical aspects
For example, the computer scientist designs the information system, both the hardware and software (algorithms). The software engineer develop software architecture, build the software product according to requirements to solve a problem. The IS manager manages the entire systems (Hardware, software) to make sure that it meet the needs of the business. ISM students also take business courses and approach IT from a management perspective.