3 ms·
"Many of the people who say this kind of stuff never really mastered the theory, and because they never mastered it they can't really use it, and because they c
by kylestlb 6y ago
"Many of the people who say this kind of stuff never really mastered the theory, and because they never mastered it they can't really use it, and because they can't really use it they find work that doesn't strictly require it, and then conclude it's useless..."
this is quite the assertion. do you have any evidence supporting this statement?
- banachtarski 6y agoI think the claim is easily sustained with just empirical evidence. If you want to do a career in embedded, or graphics, or robotics, or maybe flight control, etc., you're going to need the math and the comp sci in droves. HN tends to have a crowd skewed towards certain disciplines, which is why every time the topic of a whiteboard interview shows up, most of the comments voice a strong opposition. In my line of work (graphics), the whiteboard is used all the time, both in and out of the interview.
- vvanders 6y agoI've done both graphics and embedded systems. I don't think any of that is true. In fact I found most the formal education around graphics to be outdated or disconnected from the reality of how systems are built(mostly due to trade secrets and the industry moving much faster than coursework could keep up).
- banachtarski 6y agoOh yea, calculus and linear algebra is all washed up and the industry has moved way past it. /s "I don't think any of that is true" is a strong statement. Nobody is saying that a toy renderer in school resembles a AAA rendering engine, but the point is that the thought process needed is the same, and I'm still going to expect a certain degree of rigor from any candidate. Also, the parent post is speaking more about the theory and fundamentals in general, not the direct contents of any particular coursework. FWIW, I am not formally trained in graphics or CS (my training was math).
- vvanders 6y agoMy strong statement was in counter to your assertion that the empirical evidence holds that you'll need math and cs in spades. Most of my graphics works was better served by an understanding of hardware(pipelining, SRAM vs DRAM caches and latency penalties including random vs linear reads). Most of the embedded work was done with a rigor towards memory management and not any "traditional CS". In fact we avoided traditional CS structures(lists, trees, etc) since they had negative performance penalties. The only thing that we came close to leveraging was radix sort along the view axis, and that was through a gnarly hack that let us use it for floating point values. I've also yet to run into anyone in gamedev or the graphics world who could derive quaternions from first principals. They're damn useful but I think you you know their operations understanding the theory doesn't take you much further. I think you have a point on rigor, but that has more to do with how to tackle problems broadly rather than any sort of academic or theoretical background.
- banachtarski 6y agoComputer science courses these days do in fact teach about memory coherency and MESI protocols with respect to CPU cache management and architecture. You'd learn about pipelining as well, and scalar architectures for that matter. I guess my point is that even if you didn't, if you wanted a head start, it's sufficient to know at least the basics of what microarchitectures are, and how to reason about a computational model of complexity, even if you need to adjust it later (for a particular console, or GPU, or architecture). As for quaternions, I can derive them (no really, I've written a ton of code in this space, although I prefer the GA formulation), but I want to know, does the candidate understand why they're mathematically advantageous (blending properties, linearity, etc). Can they productively read a paper that uses it and apply the technique, etc.
- imtringued 6y agoYou can learn the relevant parts of calculus and linear algebra in isolation. I've experienced that knowing the abstract theory of linear algebra is actually just taking away time and resources that could have been spent in increasing your competence in the non abstract parts of linear algebra. A lot of students aren't ready for industry, not because they are incompetent or not smart enough but rather because they have directed all their time and energy on solving difficult problems which meant they had no time for the boat load of easy problems that industry actually needs.