Aha! Develop is the agile tool that links strategy to delivery.


Learn more
Zach Schneider · 2015-10-14 · college

Why You Should Not Major in Engineering

My college algorithms class was the final weed-out course in the computer science program. It covered advanced topics like computational complexity and graph theory. If you passed, you would likely graduate. If you didn’t, the universe might be hinting that you aren’t cut out for a computer science career.

My friend David (name changed) and I often studied together. As we commiserated, it became clear that I could solve problems differently than he could. Once I figured out how to click the puzzle pieces together, I easily “thought in code” while typing the solution. While David was very good at reasoning on a high level, he got bogged down in the nitty-gritty details of the solution.

We both passed the course, but David switched his major to psychology after the semester. He realized he had no passion for computer science, but felt pressure (from society and home) to choose a “marketable” degree. David is now happily in grad school and not much worse for wear.

But his poor initial choice of major cost him an extra year of college. Sadly, I have met many folks like David: well-intentioned, bright, and in the completely wrong field.

Here are three reasons you should not be an engineer:

Engineering does not teach you how to think

People often describe computer science and related fields as problem-solving fields – writing code (or designing architecture or building circuit boards) to solve a particular problem. As a result, the best engineers are described as good problem-solvers – not only skilled but also creative and able to think outside the box.

People don’t learn to solve problems by majoring in engineering; they major in engineering to give them the tools to use the problem-solving skills they already have.

I acquired a wide variety of tools for solving particular coding problems during my computer science degree. I can sort arrays efficiently and I can write a script to interface with an API. But coding techniques are merely tools – in the hands of an unskilled problem-solver, they are as inept as a blowtorch in the hands of an amateur welder. I didn’t learn how to think in my computer science classes – how to take a step back, contextualize the problem, or invent new solutions.

Rather, I learned how to think from the things I did outside of computer science. I participated in competitive debate throughout college – this experience taught me to think critically and consider a variety of viewpoints on a given issue. I minored in philosophy – this taught me how to analyze arguments and use sound logic. I ran a student newspaper – this taught me how to write well and work with people.

College is not the end of your learning

Many people pick up additional skills after leaving college, perhaps even pivoting entirely in their choice of career. And most colleges don’t teach you the skills you need in the contemporary tech industry anyway. The languages and techniques I learned in my degree program were easily 10 years behind the times; I acquired the skills that landed me a tech job by doing side projects in my spare time.

Many people with successful careers in tech or even engineering never graduated from college or earned a degree in a completely unrelated field. But college is a unique time to learn how to learn.

For the first and often last time in your life, you have the liberty and the free time to grow as a person – to make mistakes, take classes in subjects you love, take classes in subjects you think you love but eventually hate, participate in extracurriculars, and ultimately set the stage for how you will live the rest of your life.

You can pick up tech skills anytime. If you love coding, you’ll probably end up doing more of it outside of class than in, regardless of whether the class is machine learning or underwater basket-weaving. If you don’t, maybe you will in five years, or maybe you never will because you find some other career that fulfills you.

Businesses need problem solvers

At Aha! we are fortunate to have a variety of skilled and passionate people working in their particular fields of strength. Most of them never write a line of code. They learned how to communicate, how to think, how to write, and how to filter, contextualize, and process information to create incredible marketing solutions. They’re all exceptionally bright individuals – I have no doubt that any one of them could have completed a degree in computer science.

But it’s likely that their talents would never have blossomed in such a field, and they certainly would not have become the core contributors to a thriving tech company that they are today.

The magic of the Internet era is that you can learn to code anytime and from anywhere. Don’t squander your short four years of college staring at some code that won’t compile.

I’m not telling every engineer they should drop out of their degree program. For many people, such as me, engineering can be a fulfilling and enjoyable major, allowing you to hone your skills and learn from experts in a variety of technological studies.

But if you’re struggling through a semester of engineering classes simply because you don’t think you can get a job otherwise, I’m here to tell you: you shouldn’t major in engineering.

Zach Schneider

Zach Schneider

Zach was a director of software engineering at Aha! — the world’s #1 product development software.

Follow Aha!