Engineering school is about learning how to frame problems. So is data science.
I have a degree in mechanical engineering from a good school, but I’ve never worked a day in my life as an engineer. Instead, I’ve dedicated my career to “data science” — I help people solve business problems using data. Despite never working as a mechanical engineer, that education dramatically shapes how I do my job today.
Most baccalaureate mechanical engineering programs require you to take ten or fifteen core classes that are specific to the domain: statics, stress analysis, dynamics, thermodynamics, heat transfer, fluid dynamics, capstone design, etc. These cover a lot of content, but only a tiny fraction of what you actually face in practice, and so by necessity mechanical engineering programs are really about teaching you how to think about solving problems.
My thermodynamics professor taught us two key things about problem solving that shape how I solve data problems today.
“Work the process”
On the first day of class, rather than teach us anything about entropy or enthalpy, he taught us a twelve step problem solving process. He said that the way to solve any problem was to take a piece of paper and write in numbered sections the following:
- Your name
- The full problem statement
- The ‘given’ facts
- What you’ve been asked to find
- The thermodynamic system involved
- The physical system involved
- The fundamental equations you will use
- The assumptions you are making
- The type of process involved
- Your working equations
- Physical properties or constants
- The solution
The entire course was based on this process. Follow the process and get the wrong answer? You’ll still get a decent grade. Don’t follow the process but get the right answer anyway? Too bad.
Some of these steps are clearly specific to thermodynamic problems, but the general approach is not. If you start from a clear articulation of the problem, what you know, what you’re trying to solve for, and the steps you will take to solve it, you’ll get to the right answer most of the time, no matter how hard the problem looks at the start.
“There is no voodoo”
The other thing that this professor taught us right away was that there was no “voodoo” in anything we were going to study, and that everything can be explained if you take the time to understand it properly.
I’d argue that the fundamental reason why data science is a hot topic now is that businesses want to understand why things happen, not just what is happening — they want to peel back the voodoo. There’s always a fundamental reason: applications don’t suddenly get slow without an underlying cause, nor do people start or stop using a feature without something changing. We may not always be able to find the reasons as well as we’d like, but there is fundamentally an explanation, and the job of a diligent engineer or data scientist is to look for it.
It was totally worth it
People sometimes ask me if I feel like I wasted my time in college by not studying statistics or computer science since the career I’ve ended up in is more closely aligned to those. My answer is a categorical “no” — I can’t imagine a better education to prepare me for data science.
Eric D. Brown
on 29 Mar 13Nice work Noah.
I am a trained physicist and Electrical Engineer (BS in Physics, MS in EE) and haven’t spent 1 day working as either a physicist or EE in my career. After grad school (I went straight to grad school after undergrad), I got a job in software testing and have moved quickly into project management and then consulting.
Like you, I get asked all the time whether I feel I ‘wasted’ my time / money getting either degree. My answer is always an unequivacle No. Like you’ve said above, both programs taught me how to solve problems using a well-designed thought process.
Scientific and Engineering training is a great way to learn how to solve problems. You don’t need to get a degree in the field (or any field) but they are definitely a great way to learn how to approach and solve problems.
aczarnowski
on 29 Mar 13I think people predisposed to this kind of thinking gravitate to engineering degrees. ME in my case too. I absolutely agree it is a great path for anybody that likes to solve problems. Engineering is more a style of thinking through problems than the materials they are solved with. What and how are nice but I really dig why.
Easter will give me a chance to ask my parents, but I believe I was peeling back the voodoo at a pretty early age. Also, great big piles of Legos.
Aditya Rustgi
on 29 Mar 13Noah:
Thank you for sharing this. I, too work in the software industry having had a undergrad and graduate degree in Chemical and Petroleum Engineering degree.
I’ve been asked the same question multiple times, by friends, colleagues and even during job interviews. Just like you, my answer has always been that a good engineering education applies broadly. It helps you understand and assimilate the scientific process: which is tremendously useful whether you are doing product management (like what i do), building businesses or fixing a broken piece of equipment at home.
Good stuff.
Nick F.
on 29 Mar 13Noah,
An interesting follow up to this would be how your (and apparently many others, based on the comments) made the jump from engineering to software.
As a practicing ME, I find myself increasingly interested with programming and scripting, and would love to see how others with similar backgrounds have made the transition.
Peter Bowen
on 30 Mar 13Thanks for articulating this. My degree is in civil and structural engineering. I’ve never felt that the education was a waste even though I have done other things for more than half of my working life.
I’d be really interested in knowing what portion of engineers work in the field they studied in. Very few of my cohort are still do.
Johannes
on 30 Mar 13Thanks for the great post! I guess the basic skill in problem solving taught in engineering is the conscious and result-aimed application of theory. When you dig down into any problem, at the end of the day you have a theory you can apply to your problem – of course with a set of assumptions you have to make. In my perception the distinction of theory and assumptions is the cornerstone of solving problems. Often this process is done intuitively and implicitly. But I guess every good engineering course tries to make this distinction transparent.
This discussion is closed.