I'm a engineer student. After passing 3 years of learning hard theoretical stuff, I expected that my fourth year would be interesting for me as a software engineer, but we are still learning about those boring things (math, signal processing, auto....) so I'm a little disappointed.

So I'm asking here, is it very necessary to learn all these theoretical things, especially things that do not have any relation to software engineering?

Questions on Personal Productivity Stack Exchange are expected to relate to personal productivity within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

3

I suspect this belongs on the programmers subsite...
–
JoeMay 4 '13 at 7:36

For transparency: I voted to close this question because I agree with Joe: this would fit better on programmers.stackexchange.com. IDK if we should migrate this question.
–
0x6d64May 4 '13 at 14:24

1

More embarrassingly I'm sure we should, I've just got no idea how - I'm going to have to learn how this site works soon I think...
–
JoeMay 5 '13 at 12:09

This can't be reworded to make it applicable to any job type?
–
JeffOMay 7 '13 at 13:01

3 Answers
3

Signal processing and math are both hard and boring, I get it. But if you one day stumble over a signal processing problem you will not have much fun in studying this stuff on your own (at least that is true for me).

You will have to learn things that you never use again, and you will also not learn about important topics: Thats just how it is. But see this time as an opportunity to fill you engineering toolbox, this will help you later understanding complex problems and communicating with colleagues from other disciplines (e.g. physicists, mathematicians).

Maybe your teachers did a bad job at explaining how a certain topic is useful for a software engineer. But usually if you read a research paper on any given subject, you will usually notice how useful it is to have your intellectual toolbox as full as possible.

I think that nothing is useless. Universities know what to teach in a computer science curriculum. There are a lot of intelligent people deciding that. Many of the things we will never use again in our life. But if taken with a keen interest, it will build on the vision to go to the next level in our jobs and become a killer problem solver.

What do you want to become, just any car mechanic that can assemble a car knowing the process or an engineer really knowing the ins and out of every inch of the car. What is more satisfying? What is more worthy?

I think the use of learning the stuff comes from the mentality with which you approach it. If you enjoy the material, you will find uses for it that you didn't expect. It once took me a few weeks to unexpectedly realize that the solution to a difficult problem was a neat algorithm I had recently been reading. If you don't enjoy the material, you will most likely never use it again (that's ok as long as you replace the slot in your toolbox with another tool). Unfortunately, you still have to pass class.

A different answer is that it is being taught by professors, with the goal of breeding the next generation of professors, which is related to the answer that we teach things the way we were taught and as a result we teach decades-old material. There's a reason all the textbooks are the same - they copied the field's leading pedagogue. A final answer is that, depending on what you're learning, there really are a lot of fundamentals to learn.