Debugging is an important skill in software engineering and it’s hardly ever taught formally in school. So much time is spent in investigating red herrings like “let’s add capacity to system x because rpcs from y to x are slow”, without debugging simpler things like:
“why each rock is slower than before?”
“is it because of total number of rpcs or single rpcs?”
I wonder if there was formal education for this, a lot of people would sleep better.
For what it's worth, I think physical science education is closer to what you are describing.
I studied chemistry, and I'm not sure if it's a causal relationship, but I find I am much better at debugging (in development) and "firefighting" (in production) than my peers.
I guess my conclusion is CS students should be required to take more science classes, or, preferably, software engineer hopefuls should be pushed to study other disciplines.
That’s a very astute observation. I agree with utility of science education for programming. Something that science and programming share is the process of reductionism — identifying causal relationships by breaking into ever smaller subsystems.