4 ms·
Agreed. The ability to formulate code problems as math problems, particularly as linear algebra problems, is a vastly underrated skill. The ability to grind out
by perrygeo 2y ago
Agreed. The ability to formulate code problems as math problems, particularly as linear algebra problems, is a vastly underrated skill. The ability to grind out an already-solved algorithm is vastly overrated.
I've seen otherwise good programmers write loops over elaborate data structures to deal with what are effectively composed matrix math operations. Unless you're in a language that has first-class arrays (APL, R, Matlab), it's not immediately obvious how all those unknowns could be plugged into a system of equations and solved in a single op.
In a sense, math is the exact opposite of leetcode. Math is theoretical but can be turned to great advantage by a skilled programmer. Leetcode is entirely concrete (memorizable, not grounded in any theory) yet pragmatically useless for solving novel engineering problems.
So I agree, we need more engineers who understand dot products and eigenvalues, not algorithmic code golfing.
That is assuming your company actually wants to hire engineers - I suspect the purpose of leetcode is specifically to weed out people who are likely to ask "Um why would I write this leetcode algorithm when I could solve it faster by multiplying two matrices in BLAS?". We wouldn't want our engineers to apply critical thinking now would we?