| I think studying higher maths make for a good problem solver, but you are missing out on practicality and people skills. For instance, in my life, I went all the way up to PhD level courses in mathematics. This translated into me being able to go into my start-up and solve all sorts of problems. I was also solving problems that were already solved because I was ignorant of what was considered good programming practice. Like source control. Because I could, I wrote my own source control. Like an IDE. Because I could, I wrote my own. I attribute my fantastic problem solving skills to my mathematics back-ground. After all, when dealing with proofs in abstract algebra and the creative process of making up strange sets that exhibit strange behaviors... Most things seem trivial at some level. The fundamental problem of mathematics is that you spend a lot of time solving fake or stupid problems to build up the ability to solve real problems. If you are going to go into the cutting edge of research, then you will need those skills. Otherwise, you will be very good at solving artificial problems. I want to say that it will make you a better engineer, but I'm very biased. I feel like it has helped me compared to my peers in terms of raw engineering power. |
It's important to have a balance - there are infinitely many things that you could advise would be useful, and time is limited. When solving problems it's important not to dive in immediately, but also to ask "What of this has already been done?"
But even then, solving some of the problem first gives an appreciation of what has been done, and often makes you better understand the strengths and limitations of existing solutions. Your example of an IDE is one where re-doing it from scratch is unlikely to give a better result, but Linus re-did the source control idea, and did it better.