Stop Telling Kids to Major in Computer Science
7 min read
Here’s my spicy take for the day: if you’re advising a high school senior on what to study, stop defaulting to computer science.
Get a business degree. Minor in CS.
I know that sounds backwards. I’ve spent 20+ years building software, leading dev teams, and turning around broken engineering organizations. And I’m telling you the most important skill in this industry has never been writing code. It’s understanding the problem you’re solving.
AI just made that gap a canyon.
Most Companies Don’t Do Computer Science
There are two kinds of companies: ones that use software to solve business problems, and ones where software is the business problem. Understanding which one you work at, and your role in it, is one of the most important things you can figure out early in your career.
Computer science is algorithms, computational theory, data structures, operating systems, compiler design. It’s the deep math and logic behind how computers actually work. That’s the second kind of company, where software itself is the product and the problem domain.
That matters if you’re working at NVIDIA on GPU architectures. It matters at Apple and Microsoft building operating systems. It matters in the narrow slice of FAANG/MANGO where you’re designing distributed systems at planet-scale.
But the overwhelming majority of companies are the first kind. They use software to solve business problems. And almost nobody in academia wants to say what that means out loud: most software jobs have very little to do with computer science.
That SaaS platform managing insurance claims? Not computer science. The logistics app optimizing delivery routes? Closer, but the hard part isn’t the routing algorithm. It’s understanding the constraints of a driver’s actual day. The internal tool tracking inventory across warehouses? That’s a business problem wearing a software costume.
The vast majority of this industry is translating business needs into working software. And CS programs spend almost no time teaching that translation.
What CS Programs Actually Teach (and What They Don’t)
A four-year CS degree gives you:
- Algorithms and data structures you’ll rarely implement from scratch
- Theory of computation that’s intellectually interesting and professionally irrelevant for most roles
- A semester of software engineering that barely scratches the surface
- Four years of writing apps whose only purpose is to prove you can write code that compiles
- Little to no exposure to how businesses actually operate
What it doesn’t give you:
- How to gather and refine requirements from non-technical stakeholders
- How to decompose a business process into deliverable increments of software
- How to prioritize competing needs when everything is “urgent”
- How to communicate trade-offs to people who don’t speak code
- How to understand the financial, operational, and strategic context that should drive every technical decision
I’ve led teams where brilliant CS graduates couldn’t write a story that made sense to anyone but themselves. Not because they lacked intelligence. Because nobody ever taught them to think from the business side of the table.
AI Changes the Equation Permanently
This is where it gets uncomfortable for CS purists.
AI can write code. Good code. It’s getting better every quarter. The gap between “what an AI can generate” and “what a junior developer produces” is shrinking to zero for most standard application development.
What AI cannot do is understand your business. It can’t sit in a room with your operations team and figure out that the real problem isn’t the software. It’s the process the software is automating. It can’t look at a product roadmap and tell you which features will actually move revenue. It can’t sense that a stakeholder is asking for one thing but needs something completely different.
The developers who will thrive in an AI-native world aren’t the ones who understand code the deepest. They’re the ones who understand the problem the deepest.
The person who understands the business can frame the problem correctly. That framing is what AI needs to build the requirements and then the solution. The entire chain from problem to production starts with someone who can articulate what needs to happen and why. AI handles the how.
A business grad who knows supply chain logistics will get better results from AI than a CS grad who knows sorting algorithms but has never talked to a customer. That’s not hypothetical. That’s the trajectory we’re already on.
The Developers I Turn Around Aren’t Missing CS Knowledge
Here’s where this gets personal.
I coach engineering teams for a living. I walk into organizations where sprint completion rates are in the 20-30% range, developers are working in isolation, and nothing ships on time. I’ve turned those teams into high-performers: 85%+ completion, double the output, predictable delivery.
The problem is never that the developers don’t understand enough computer science.
It’s that the system around them doesn’t connect the work to the business. Stories are poorly defined because nobody taught them to think about the user’s actual problem. Sprints fail because the work was scoped by someone who understood the code but not the business constraint. Features get built and sit in UAT for months because developers shipped what was specified without understanding what was needed.
Every single time, the turnaround involves building a bridge between the technical work and the business context. The teams that cross that bridge fastest are the ones with developers who can think in both languages.
A CS degree doesn’t teach that. A business education does.
What I’d Actually Recommend
For students starting college: Major in business. Management information systems, operations management, or general business administration are all strong choices. Minor in computer science. You’ll get enough CS to understand what AI is producing, read code critically, and spot structural problems. And you’ll get something most pure CS grads never develop: the ability to understand why software exists in the first place.
For current CS students: Get a business minor at minimum. Take accounting, operations, project management, strategy. Learn how a P&L works. Understand what your future employer actually cares about. The technical skills will get you hired. The business skills will get you promoted.
For hiring managers: Stop requiring CS degrees for roles that are really about business problem-solving. The best developer on your team might be the one who worked in your industry for five years before learning to code. They understand the domain. The code part is increasingly the easy part.
The Exception
I’ll be honest about where this breaks down.
If you want to work on GPU compilers at NVIDIA, you need a CS degree. Probably a master’s. If you want to build operating systems at Microsoft or work on core infrastructure at Google, computer science is the right path.
But those jobs represent a tiny fraction of the industry. If you’re one of the rare people drawn to that kind of work, you already know it. You were the kid who wanted to understand how the computer itself works, not just what it can do.
For everyone else, and that’s most of you, the computer is a tool. Learn enough about the tool to use it well. Spend the rest of your education learning about the problems it can solve.
This Isn’t Hypothetical Advice
I’m not theorizing. I lived this.
I started college as an Asian Studies major. Switched to Graphic Design. Dropped out and spent most of my career without a degree at all. What I did do, during those years, was take every business class I could find and read everything I could get my hands on: management, operations, strategy, finance. I gave myself the business education I knew I was missing.
I finally finished my business degree in 2005. Not a CS degree. A business degree. And I’ve spent the 20 years since leading software teams, turning around broken engineering organizations, and building systems that actually deliver.
The CS knowledge I needed, I picked up on the job. The business knowledge is what made me effective.
I gave this exact advice last month to a college freshman who’s currently a CS major. He’s the friend of my step-son, a smart kid who likes technology and figured CS was the obvious path.
I told him: at the very least, pick up a strong business minor. Better yet, consider flipping it. The CS fundamentals he needs to collaborate with AI and read code critically would fit in a minor. The business knowledge he needs to build a real career (understanding how organizations work, how decisions get made, how to translate between technical and non-technical stakeholders) is a full major’s worth of education.
The world doesn’t need more people who can write code. AI handles that now. The world needs people who understand what code should do, and can prove it matters to the business.
That’s a business education.
Coach's Playbook
AI workflows, team systems, and engineering leadership. Practical. Actionable. Weekly. Get it in your inbox — free.
Subscribe to Coach's Playbook →