I'm 18 and currently majoring in Cybersecurity with a minor in Data Science. I want to keep building things for fun, such as games, plugins, tools, and other programming projects. My concern is that by not majoring in Computer Science, I might miss important programming theory and foundational concepts. Can I learn those topics independently, or would switching to a Computer Science major make a significant difference?
4 Answers
If programming is mainly something you want to enjoy and explore, you don’t necessarily need to change your major. A Computer Science degree focuses heavily on theory and computing fundamentals; it isn’t simply a programming degree. You can learn the concepts you need as your projects become more advanced.
You can absolutely build software without formal Computer Science training, much like someone can build furniture without studying carpentry. Since this is a hobby for you, start making projects and learn whatever concepts come up along the way.
A degree isn’t required to become capable at programming, especially for personal projects. I’ve worked as a full-stack developer for years without one, and self-study is enough to support a hobby. If you eventually want programming experience to carry more weight on a résumé, a relevant degree can help, but your skills and completed projects matter a lot too.
I originally considered Software Engineering or Computer Science, but the job market feels uncertain. My cybersecurity and IT experience, along with my interest in data analytics, may give me more than one direction to pursue.
The name of your degree usually matters less than what you can actually do. A Data Science or Cybersecurity graduate can still become a software developer if they build strong projects and understand the fundamentals. Use your degree to open doors, then demonstrate your abilities through a portfolio. You can also follow structured courses and university lecture materials to fill in gaps in algorithms, data structures, and other theory.
I think my worry is mostly about being unable to access important information rather than a specific career requirement. I may be overthinking the degree title instead of just starting to build things.

That makes sense. I’m comfortable with my current majors and mainly want to keep experimenting with programming as something enjoyable.