The comments are amusing. It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require.
My understanding was that to call yourself an engineer one must be capable of building robust and efficient things, whether that thing is a plane, or a bridge, complex software, even a website, matters not, so long as it is robust and efficient.
The degree to which you understand mathematics is useful only in how greatly it can enable you to build something robust and efficient. Thus, if you know more linear algebra than 90% of all mere mortals, but write inefficient programs, then at best you are a bad Software Engineer, at worst you're simply not a Software Engineer.
For that reason, at my current job I was asked to replace a man who earned his PhD in Computer Science from Georgia Tech who's job was to build an maintain an API in Go, despite the fact that I'm a college dropout. Smart man, with a far better understanding of mathematics, but ultimately I could build things more robustly and efficiently. I had stronger engineering skills.
Going back to OP, right on man. I personally didn't enjoy math until I learned it using my own rules, by own rules I mean I shunned the established method of repetition until you memorized the process, instead opting to understand the underlying concept and keep my thoughts written away somewhere for future reference, knowing all too well by now that memorization is futile given how frequently I have to reference Stack Overflow.
As an electrical engineer, I like to quip that 99% of the work I do requires only V=IR, or slight variations / derivations thereof.
Of course, it's that remaining 1% that will fuck you if you don't have the maths chops. And this is as a consulting engineer, which arguably uses the least maths. Once you get into actual design or analysis, that number becomes a sliding scale in the other direction very quickly.
> It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require.
> build an maintain an API in Go
Unfortunately, a much larger proportion of engineering jobs require mathematics than you make it seem. Software engineers seem to forget that engineering includes designing planes, bridges, cars, lasers, electrical circuits, materials, and a million other things that require you know mechanics, statics, statistics, logic, linear algebra, differential equations, etc.
I clearly brought up designing planes and bridges, I figured both were enough to demonstrate that my definition of engineering includes the structural, the mechanical, the electrical, etc.
The point is, the engineer who designs the plane only needs to know enough math to design said plane. The engineer who designs the bridge? The same. Theoretically, they're supposed to understand a great deal. Realistically, the degree to which technology automates the mundane task of calculation could very well mean that their daily application and actual understanding of mathematics is overestimated anywhere from slightly to greatly. This will be especially true as time goes on and the tools of the trade become even more advanced.
To design a web application that operates efficiently in terms of cost, response time, and required maintenance, along with a number of other variables, requires good software engineering. Once upon a time, this required strong mathematical aptitude. Now, it requires more of an understanding of the language used for the design of the application itself, an ability to justify why one approach should be faster through algorithm analysis and efficient testing, logical thinking, etc, it certainly doesn't require the mathematical aptitude to design your own cryptography protocol whenever you can simply use a library demonstrated to be safe and reliable, although an understanding of the underlying concepts of how said protocol works might be nice, if anything to understand why you shouldn't roll out your own.
It's not too far off to imagine a near future where the average <insert engineer here> functionally requires the same degree of mathematical aptitude as today's current web developer.
Right. And software developers usually don't realize that engineering is all about design and implementation tradeoffs that fit within quantitative tolerances that deliver a specific level of accuracy, precision, and reliability. Software 'engineering' is nowhere near mature enough to do achieve this, and all too often, unaware of it.
My understanding was that to call yourself an engineer one must be capable of building robust and efficient things, whether that thing is a plane, or a bridge, complex software, even a website, matters not, so long as it is robust and efficient.
The degree to which you understand mathematics is useful only in how greatly it can enable you to build something robust and efficient. Thus, if you know more linear algebra than 90% of all mere mortals, but write inefficient programs, then at best you are a bad Software Engineer, at worst you're simply not a Software Engineer.
For that reason, at my current job I was asked to replace a man who earned his PhD in Computer Science from Georgia Tech who's job was to build an maintain an API in Go, despite the fact that I'm a college dropout. Smart man, with a far better understanding of mathematics, but ultimately I could build things more robustly and efficiently. I had stronger engineering skills.
Going back to OP, right on man. I personally didn't enjoy math until I learned it using my own rules, by own rules I mean I shunned the established method of repetition until you memorized the process, instead opting to understand the underlying concept and keep my thoughts written away somewhere for future reference, knowing all too well by now that memorization is futile given how frequently I have to reference Stack Overflow.