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.”

Sources

  • Blogs of Prof. John Vu, Carnegie Mellon University