Một học sinh viết cho tôi: “Nếu bằng đại học không còn bảo đảm cho việc làm, tại sao em cần vào đại học? Em đã học Python và Java từ Coursera trong vài tháng. Em KHÔNG cần bốn năm nữa để học điều đó? Thầy nghĩ em có thể có được việc làm trong công nghiệp công nghệ bây giờ không? Xin thầy lời khuyên.”
Đáp: Thứ nhất, tôi muốn em phân biệt sự khác biệt giữa việc làm và nghề nghiệp. Có thể có khả năng với em kiếm được việc làm như người lập trình bằng kĩ năng lập trình của em nhưng để đi lên trong nghề nghiệp, em sẽ cần nhiều điều hơn chỉ là kĩ năng viết mã. Việc làm là cái gì đó em làm để làm ra tiền. Nghề nghiệp là nghề có bao gồm đào tạo đặc biệt hay giáo dục chính thức nơi em có thể làm việc cả đời. Là người lập trình, nếu em quyết định điều đó là đủ và dừng học tập, em sẽ thấy bản thân mình bị rắc rối nghiêm trọng khi công nghệ thay đổi và kĩ năng của em không còn được cần nữa.
Thứ hai, em vào đại học để được giáo dục. Giáo dục đại học giúp em thu nhận tri thức trong nhiều môn học, cũng như tri thức chuyên môn mà em quan tâm tới. Nó giúp em phát triển khả năng suy nghĩ độc lập và phê phán. Là sinh viên đại học, em sẽ khám phá ra đam mê riêng của em về môn học nào đó cũng như học về bản thân em và trưởng thành là người có trách nhiệm. Ngày nay thế giới đang thay đổi nhanh chóng. Phần lớn các việc làm tốt đều yêu cầu bằng đại học nơi em có nhiều cơ hội hơn để chọn lựa.
Nếu em KHÔNG muốn vào đại học mà ưa thích học từ MOOCs, em vẫn cần có bản kế hoạch nghề nghiệp. Em cần nhận diện mọi kĩ năng và khu vực mà thị trường việc làm cần. Biết cách lập trình chỉ là bước đầu tiên nhưng em cần nhiều hơn kĩ năng viết mã. Chẳng hạn, em muốn làm việc ở khu vực đặc biệt nào? Nếu em muốn làm việc như người phát triển Web, em cần học JavaScript, PHP, HTML, CSS và một số tri thức về cơ sở dữ liệu. Nếu em muốn làm việc như người phát triển app di động, em cần biết về Android, IOS và nền tảng nào đó về an ninh cyber. Nếu em muốn xây dựng sản phẩm phần mềm, em cần biết về vòng đời phát triển phần mềm, và các phương pháp như theo kế hoạch, agile hay DevOps v.v. Bên cạnh kĩ năng kĩ thuật, em cần phát triển kĩ năng mềm như trao đổi, cộng tác, làm việc tổ, trình bày và kĩ năng quan trọng nhất: “Học cả đời.”
—English version—
Going or not going to college?
A student wrote to me: “If a college degree is no longer guarantee for a job, why do I need to go to college? I already learned Python and Java from Coursera in a few months. I do NOT need another four years to learn that? Do you think I can get a job in the technology industry now? Please advise.”
Answer: First, I would like you to distinguish the difference between a job and a career. It is possible for you to get a job as a programmer with your programming skills but to move up in a career, you will need more than just coding skills. A job is something you do to make money. A career is a profession that involves special training or formal education where you can work for your whole life. As a programmer, if you decide that is enough and stop learning, you will find yourself in serious trouble when technology changes and your skills are no longer needed.
Second, you go to college to get educated. A college education helps you to acquire knowledge in many subjects, as well as specific knowledge that you are interested in. It helps you to develop the ability to think independently and critically. As a college student, you will discover your own passion for certain subjects as well as learning about yourself and mature to be a responsible person. Today the world is changing rapidly. Most of the good jobs require a college degree where you have more opportunities to choose from.
If you do NOT want to go to college but prefer to learn from MOOCs, you still need to have a career plan. You need to identify all the skills and areas that the job market needs. Knowing how to program is only the first step but you need more than the coding skills. For example, what specific areas do you want to work on? If you want to work as a Web Developers, you need to learn JavaScript, PHP, HTML, CSS and some knowledge of database. If you want to work as a mobile app developer, you need to know about Android, IOS and some fundamental of cybersecurity. If you want to build software products, you need to know about software development lifecycle, and methods such as plan-driven, agile or DevOps etc. Besides technical skills, you need to develop soft-skills such as communication, collaboration, teamwork, presentation and the most important skill: “Lifelong learning.”