I’ve spent the past seven (wow.) years officially training as an engineer. Technically, I’m shooting for a Doctorate of Philosophy in Engineering, so I think I’m allowed to muse on these things.
During the course of literally dozens of classes, I’ve encountered the same concepts repeatedly (this is a good thing.) This repeated exposure always addresses how to use Fourier transformations, vector math, linear algebra, and other tools of the trade. But not one class addressed when or why to use them beyond the situations in the textbook.
Imagine knowing how to use a screwdriver, a drill with a screwdriver tip, and an impact driver. They can all be used to attack the same problem, but there is a best tool for the problem based on their strengths and limitations.
I realize very engineering approach has more subtleties than can be compressed into a class. The existence of these subtleties and the need to keep that in the back of your head gets glossed over far too often. And that is what’s dangerous.
Why aren’t there classes about engineering philosophy? Few disciplines actually take the time to step back and look at how they do what they do. Speaking for myself and from the interactions I’ve had with other engineers, I think there would be a lot of benefit to a class that taught us to ask certain questions:
What are the limitations of the approach?
What are the strengths? What are the weaknesses?
Is this method more powerful and time consuming than I need?
What assumptions are built in?