Should you study systems engineering?
Systems engineering is the most useful and most worthless college major.
Worthless
Engineering schools are organized by discipline: electrical, chemical, mechanical, etc. Each one of these gives you a tangible skillset to go out and solve specific problems. Systems engineering does not give you a very tangible “hard” skill. Super math-y systems programs (e.g. operations research and model-based-systems-engineering) will disagree, but let’s put a pin in that because you should just study math at that point.
Useful
Systems engineering places more emphasis on problem formulation than problem solving. You’re trained to ask questions like:
Are we solving the right problem?
Who is affected by this problem?
Who else is affected by this problem?
What are the assumptions?
What are the constraints?
Systems engineering really emphasizes the human element of engineering. Learning technology, techniques, and hard skills is not the primary focus1. Spending time asking a lot of questions instead of jumping into solving a problem is why nobody likes systems engineers (except other systems engineers).
To a hammer, every problem looks like a nail. But a systems engineer isn’t given a hammer, they’re given this thing called Systems Thinking.
Systems thinking gives you an appreciation that problems are multifactorial and people and their goals/visions can be hard to debug.
What does it mean to engineer a system?
Truly complex systems can’t be engineered. That’s why studying systems engineering teaches you to answer “it depends” to every question about a complex system. Frustrated stakeholders seek out simple answers and are rebutted by “it depends” and a steep invoice.
When the system engineer does provide a direct answer, it is caveated confidence intervals.
Uncertainty is a theme of complex systems. Just when you think you’re certain of a behavior or characteristic, you get a curve ball.
Systems engineers have to straddle the line of being accurate vs being useful. It’s accurate to slap a wide confidence interval on all your estimates, but it’s not very useful for a decision maker.
How does a systems engineer make themselves useful, besides repeatedly chanting “it depends”?
We can’t time the stock market or predict earthquakes. But we can learn to accept that there are things outside our control. We can hedge our bets and make contingency plans. We can try to collect more data and question assumptions. We can try to think about unintended consequences because maybe it’s not a good idea to swallow a spider to catch a fly — but maybe it is — it depends.
It’s kind of a weird major that simultaneously prepares you for everything while preparing you for nothing.
You still take all the engineering school prereqs and you take more math and statistics than other engineers. Many core systems classes are math and programming heavy too (e.g. deterministic decision models, discrete event simulation, stochastic decisions models, linear statistical models).