Learn Computer Science

image

Learning how to exit VIM.

I’ve been thinking about the value of learning computer science, particularly at a young age, even for those who will not pursue a career in software engineering or in tech. Tech layoffs are widespread and are here to stay. Tech jobs are getting harder to find. AI is affecting organizations’ appetite to grow their tech teams. I hear from time-to-time that learning programming and computer science is a waste of time and won’t provide future value.

I disagree!

Eight of the ten richest people in the world either studied computer science in college or have meaningful exposure to CS in college or early in their career. Jimmy Wales, the creator of the biggest encyclopedia of the World, studied computer science. Renaissance Technologies, the most successful investment company in the world, was founded, and it’s operated by people with computer science experience. David Baker, a computational biologist, was awarded the 2024 Nobel Prize in Chemistry—in chemistry!

Among the top YouTubers and creators, you’ll find plenty of people who studied or learned computer science to a certain extent: Marques Brownlee (MKBHD), Destin Sandlin (Smarter Every Day), Derek Muller (Veritasium), Randall Munroe (XKCD), Simone Giertz, and more.

If you go to Amazon and pick the top 100 books, you’ll find that a disproportional amount of them were written by people who studied computer science, formally or informally. Why?

Is it selection bias because being admitted to a CS major is hard so it screens for people who were already smart? I don’t think so. Most of the people that I mentioned above learned computer science before it was a competitive field.

In my opinion, the answer is the breadth of skills that you develop when studying computer science, even if you are doing an introductory class in middle school. Learning computer science offers benefits that go beyond programming or working in the tech field.

⭐️ Problem-solving Mindset: It encourages systematic thinking. You learn how to break down complex problems into sub-problems and solve each piece (a.k.a., divide-and-conquer).

⭐️ Abstract Thinking: It helps you look at ideas and systems from a high-level perspective, identify patterns and relationships before going into the specifics.

⭐️ Logical Reasoning: Writing and running your code helps you develop a structured approach to reasoning and better understanding of cause-and-effect—It’s also a dopamine hit when it works!

⭐️ Creativity & Innovation: Experimenting with programming foster a mindset of exploration, curiosity, and learning from failures. You are constantly asking yourself, what if?

⭐️ Research Skills: It encourages you to learn how to find answers even when you are not clear about what you are looking for.

⭐️ Analytical Thinking: It helps you understand how to handle data, develop and test hypothesis, and analyze problems.

I don’t think there is any other class in K-12 that has these combined benefits. Even for adults who are learning it for the first time, I can’t think of an equivalent practice that you do by yourself (or in a classroom) that packs those skills together.

I’m not arguing that everyone should become a professional programmer, but I do believe there are tremendous benefit to learning to program. I’m also not saying that other fields are not valuable or important. Every once in a while, you see someone pushing back against teaching kids computer science and arguing that we should teach kids more about art, so they develop more empathy. These are not conflicting ideas. Kids can be taught both, and more.

Marcelo Calbucci

Marcelo Calbucci

I'm a technologist, founder, geek, author, and a runner.

Book time with me

Get notified of new posts