Một sinh viên gửi cho tôi một email hỏi: “Em muốn xin vào chương trình bậc thạc sĩ kĩ nghệ phần mềm ở Mĩ. Yêu cầu nhập học là gì? Loại việc làm em có thể mong đợi cùng với bằng cấp này? Em có thể được lương loại nào? Nếu em muốn tiếp tục học bằng tiến sĩ (Ph.D) em phải làm gì? Xi thầy cho lời khuyên.”

Đáp: Công nghiệp phần mềm yêu cầu người có kĩ năng cao để phát triển và bảo trì các chương trình phần mềm từ hệ thống quản lí tài chính tới hệ thống kiểm soát chế tạo v.v. Sinh viên điển hình trong chương trình thạc sĩ là ai đó có ít nhất bằng cử nhân đại học từ một đại học được công nhận và đáp ứng yêu cầu cơ bản (có trung bình điểm tốt (GPA), đáp ứng yêu cầu ngôn ngữ (điểm tốt trong TOEFL), có thư giới thiệu tốt (2 tới 3 thư từ các giáo sư đại học hay người quản lí) và một đoạn phát biểu ngắn giải thích lí do tại sao bạn muốn vào trường sau đại học. Vì từng trường có thể có những yêu cầu riêng, bạn nên kiểm các website của họ để biết thêm chi tiết.

Có vài chương trình sau đại học về Kĩ nghệ phần mềm ở Mĩ và việc cung cấp cũng biến thiên từ tổng quát tới chuyên môn. Một số trường có chương trình rất rộng bao quát mọi thứ từ lập trình tới quản lí, điều theo ý kiến tôi, có thể không khác nhiều mấy với chương trình đại học. Những chương trình này phần lớn được thiết kế cho những người có bằng đại học KHÔNG trong lĩnh vực máy tính nhưng muốn học lĩnh vực này. Nếu bạn đã có bằng trong lĩnh vực máy tính, thì bạn bên chọn một chương trình bậc thạc sĩ hội tụ vào phát triển các kĩ năng chuyên môn, KHÔNG vào chương trình tổng quát. Là sinh viên tương lai, bạn phải chọn trường cho cẩn thận để tìm ra chương trình đáp ứng nhu cầu của bạn. Bạn phải nhận diện khu vực nào bạn muốn hội tụ khi xin vào. Chẳng hạn: Hệ thống nhúng, an ninh hệ thống, quản lí dịch vụ CNTT, Robotics, quản lí dự án, Trí tuệ nhân tạo, Học máy v.v. Vì đăng tuyển có tính cạnh tranh cao, bạn nên nộp đơn vào ít nhất 5 trường hay hơn, nếu bạn muốn có có hội chấp nhận tốt hơn. Nhiều trường hàng đầu gặp khó khăn khi xin vào vì có nhiều đương đơn cho nên lời khuyên của tôi là xin vào một số trường hàng đầu, một số trường nhà nước, và một số trường tư, điều cho bạn nhiều cơ hội hơn.

Với bằng thạc sĩ, bạn có thể dễ dàng tìm việc gần như ở mọi nơi tuỳ theo chuyên môn và vị trí của bạn. Ở Mĩ việc làm phổ biết nhất cho mọi người có bằng thạc sĩ có lẽ là Quản lí dự án với lương khởi điểm $95,000 – $120,000; Chuyên gia an ninh có thể kiếm được giữa $90,000 – $125,000; Chuyên gia Robot có thể kiếm giữa $97,000 – $110,000; Người quản trị cơ sở dữ liệu có thể được giữa $94,000 – $120,000; một chuyên gia phần mềm nhúng có thể kiếm được giữa $90,000 – $107,000;

Nếu bạn muốn tiếp tục học tập của mình tới bằng tiến sĩ, bạn nên chọn một trường cung cấp cả bằng thạc sĩ và tiến sĩ để bạn có thể tiếp tục đào tạo của bạn mà không phải đổi trường. Vì trường đã biết bạn, sẽ dễ dàng để bạn tiếp tục học tập hơn nhiều. Tất nhiên, tuỳ theo bạn làm tốt đến đâu trong chương trình thạc sĩ và bao nhiêu giáo sư biết bạn và giới thiệu bạn cho chương trình Tiến sĩ.

—-English version—-

Master Degree in Software

A student send me an email asking: “I want to enroll in a Software Engineering Master degree program in the U.S. What are the admission requirements? What kind of jobs can I expected to get with this degree? What kind of salary can I get? If I want to continue to a doctorate degree (Ph.D) what should I do? Please advise.”

Answer: The software industry requires highly skilled people to develop and maintain software programs that do everything from managing financial systems to controlling manufacturing systems etc. A typical student in the Master program is someone who has at least a Bachelor degree from an accredited university and meet the basic requirements (Having good grade point average (GPA), meet the language requirements (Good score in the TOEFL), have good letter of recommendations (2 to 3 from university professors or managers) and a short statement paragraph explaining the reason why you want to go to graduate school. Since each school may have specific requirements, you should check their websites for more details.

There are several Software Engineering graduate programs in the U.S. and the offering also varies from general to specific. Some schools have very broad program that cover everything from programming to management, which in my opinion, may not differ much from an undergraduate program. These programs are mostly designed for people whose undergraduate degrees are NOT in the computer field but want to study this field. If you already have degree in the computer field, than you should select a Master degree program that focuses on developing specific skills, NOT general. As prospective student, you must choose the school carefully to find the program that meet your need. You must identify what area that you want to focus on when applying. For example: Embedded software, System security, Managing IT services, Robotics, Project management, Artificial Intelligence, Machine Learning, etc. Since enrollment is highly competitive, you should apply at least 5 schools or more, if you want to get better chance for acceptance. Many top schools are difficult to get in because there are so many applicants so my advice is to apply at some top schools, some state schools, and some private schools which give you much better chance.

With a M.S. degree, you can easily find job almost anywhere depends on your specialty and location. In the U.S. the most popular job for people with a M.S degree is probably Project Manager with starting salary at $95,000 – $120,000; A Security Specialist can get between $90,000 – $125,000; A Robotic Specialist can get between $97,000 – $110,000; A Database Administrator can get between $94,000 – $120,000; An embedded software specialist can get between $90,000 – $107,000;

If you want to continue your study to a doctorate degree, you should choose a school that offer both M.S. and Ph.D degree so you can continue your training without have to change school. Since the school already know you, it is much easier to continue with your study. Of course, depend on how well you are doing in the M.S. program and how many professors that know you and recommend you to the Ph.D program.