5 ms·
I always likened "engineers"[1] to "people who are proficient in calculus"; and "computers"[1] to "people who are proficient at calculations". There was brief
by cafed00d 2y ago
I always likened "engineers"[1] to "people who are proficient in calculus"; and "computers"[1] to "people who are proficient at calculations".
There was brief sidestep from late 1980s to early 2010s (~2012) where the term "software engineer" came into vogue and completely ran orthogonal to "proficiency in calculus". I mean, literally 99% of software engineers never learned calculus!
But it's nice to see that ever since ~2015 or so (and perhaps even going forward) proficiency in calculus is rising to the fore. We call those "software engineers" "ML Engineers" nowadays, ehh fine by me. And all those "computers" are not people anymore -- looks like carefully arranged sand (silicon) in metal took over.
I wonder if it's just a matter of time before the carefully-arranged-sand-in-metal form factor will take over the "engineer" role too. One of those Tesla/Figure robots becomes "proficient at calculus" and "proficient at calculations" better than "people".
Reference:
[1]: I took the terms "engineer" and "computer" literally out of the movie "Hidden Figures" https://en.wikipedia.org/wiki/Hidden_Figures#Plot https://en.wikipedia.org/wiki/Hidden_Figures#Plot
It looks like ever since humankind learned calculus there was an enormous benefit to applying it in the engineering of rockets, aeroplanes, bridges, houses, and eventually "the careful arrangement of sand (silicon)". Literally every one of those jobs required learning calculus at school and applying calculus at work.
- hyperadvanced 2y agoMost software engineering just doesn’t require calculus, though it does benefit from having the understanding of functions and limit behaviors that higher math does. But if you look at a lot of meme dev jobs they’ve transitioned heavily away from the crypto craze of the past 5 years towards “prompt engineering” or the like to exploit LLMs in the same way that the “Uber for X” meme of 2012-2017 exploited surface level knowledge of JS or API integration work. Fundamentally, the tech ecosystem desires low skill employees, LLMs are a new frontier in doing a lot with a little in terms of deep technical knowledge.
- techcode 2y agoWhy pointing out Calculus as opposed to just Math? Might be just my Eastern Europe background where it was all just "Math" and both equations (that's Algebra I guess) and simpler functions/analysis (Calculus?) are taught in elementary school around age 14 or 15. Maybe I'm missing/forgetting something - I think I used Calculus more during electrical engineering than for computer/software engineering.
- pompino 2y agoTrue, we learnt calculus before college in my home country - but it was just basic stuff. But I learnt a lot more of it including partial derivatives in first year of engineering college. >I think I used Calculus more during electrical engineering than for computer/software engineering. I think that was OPs point - most engineering disciplines teach it.
- cafed00d 2y agoYeah computer science went through this weird offshoot for 30-40 years where calculus was simply taught because of tradition. It was not really necessary through all of the app developers eras. In fact, it’s so much so the case that many software engineers graduating from 2000-2015 or so work as software engineers without a degree in BS. Rather, they could drop the physics & calculus grind and opt for a BA in computer science. They then went on to become proficient software engineers in the industry. It’s only after the recent advances of AI around 2012/2015 did a proficiency in calculus become crucial to software engineering again. I mean, there’s a whole rabbit hole of knowledge on the reason why ML frameworks deal with calculating vector-Jacobian or Jacobian-vector products. Appreciating that and their relation to gradient is necessary to design & debug frameworks like PyTorch or MLX. Sure, I will concede that a sans-calculus training (BA in Computer Science) can still be sufficiently useful to working as an ML engineer in data analytics, api/services/framework design, infrastructure, systems engineering, and perhaps even inference engineering. But I bet all those people will need to be proficient in calculus the more they have to deal with debugging models.
- KptMarchewa 2y agoIn my central european university we've learned "Real Analysis" that was way more concerned about theorems and proofs rather than "calculating" something - if anything, actually calculating derivatives or integrals was a warmup problem to the meat of the subject.
- cafed00d 2y agoCalculus, because all of engineering depends critically on the modeling of real world phenomena using ordinary or partial differential equations. I don’t mean to disregard other branches of math — of course they’re useful — but calculus stands out in specific _applicability_ to engineering. Literally every single branch of engineering. All o then. Petrochemical engineering to Biotech. They all use calculus as a fundamental block of study. Discovering new drugs using Pk/Pd modeling is driven by modeling then drug<->pathogen repo as cycles using Lotka models. Im not saying engineers dont need to learn stats or arithmetic. IMO those are more fundamental to _all_ fields, janitors or physicians or any field really. But calculus is fundamental to engineering alone. Perhaps, a begrudging exception I can make is its applications in Finance. But every other field where people build rockets, cars, airplanes, drugs, or ai robots, you’d need proficiency in calculus just as much as you’d need proficiency in writing or proficiency in arithmetic.
- pompino 2y agoHmm, that is an interesting take. Calculus does seems like the uniting factor. I've come to appreciate the fact that domain knowledge has a more dominant role in solving a problem than technical/programming knowledge. I often wonder how s/w could align with other engineering practices in terms of approach design in a standardized way so we can just churn out code w/o an excessive reliance on quality assurance. I'm really hoping visual programming is going to be the savior here. It might allow SMEs and Domain experts to utilize a visual interface to implement their ideas. Its interesting how python dominated C/C++ in the case of the NumPy community. One would have assumed C/C++ to be a more a natural fit for performance oriented code. But the domain knowledge overpowered technical knowledge and eventually people started asking funny questions like https://stackoverflow.com/questions/41365723/why-is-my-python-numpy-code-faster-than-c https://stackoverflow.com/questions/41365723/why-is-my-pytho...
- chasd00 2y agothere was some old commercial that had the tagline "performance is nothing without control". If you can't put the technology to work on your problems then the technology, no matter how incredible, is worthless to you.
- cafed00d 2y agoI agree a hundred percent that domain knowledge is the single most dominant influence to problem solving expertise.
- ido 2y agoThat 99% guess seems high considering calculus is generally a required subject when studying computer science (or software engineering) at most universities I know of.
- germandiago 2y agoIn mine it was mandarory, there were 9 + 9 + 4.5 credits of only calculus itself. There was way more: discrete math, algebra...
- cafed00d 2y agoYou’re right it’s a total guess. It’s based on my experience in the field. My strong “opinion” here comes from an observation that while calculus may have been a required subject of study in awarding engineering degrees, the reality is, people didn’t really study it. They just brushed through a couple of pages and wrote a few tests/exams. In America there’s plethora of expert software engineers who opt for a bachelors degree in computer science that is a BA not a BS. I think that’s complete totally reasonable thing to do if you don’t want to grind out the physics and calculus courses. They are super hard after all. And let’s face it, all of the _useful to humanity_ work in software doesn’t require expertise in physics or calculus, at least until now. With AI going forward it’s hard to say. If more of the jobs shift over to model building then yes perhaps a back to basics approach of calculus proficiency could be required.
- GeneralMaximus 2y agoThis checks out. I'm a software developer who took math all through high school and my first three years of college. I barely scraped through my calculus exams, but I excelled at combinatorics, probability, matrix math, etc. (as long as it didn't veer into calculus for some reason). I guess I just enjoy things more when I can count them.
- Shorel 2y agoFor this engineering, I think calculus is not the main proficiency enhancer you claim it to be. Linear Algebra, combinatorics, probability and number theory are more relevant. Calculus was important during the world wars because it means we could throw shells to the enemy army better, and that was an important issue during that period. Nowadays, calculus is just a stepping stone to more relevant mathematics.
- lupire 2y agoCalculus is continuous, analog math. Digital Computers use discrete math. Both are math, and both are still incredibly important. Rockets haven't gone out of style.
- cafed00d 2y agoCalculus has never gone out of style ;) Todays ML frameworks grapple with the problem of “jacobian-vector products” & “vector-jacobian product” as a consequence of understanding the interplay between gradients & derivative; and the application of the “chain rule”. All of those 3 concepts are fundamentally understood by being proficient in calculus. While I’m being the hype-man for calculus I don’t mean to say proficiency in linear algebra or statistics is in any “less necessary” or “less useful” or “less challenging” or “less..” in any way. I’m merely stating that, historically, calculus has been the unique branch of study for engineering. Statistics has always found value in many fields — business, finance, government policy etc. Sure Linear algebra is one of those unique fields too — I kinda like to think of it as “algebra” in general and perhaps its utility has flowed in tandem with calculus. Idk. I haven’t thought super hard about it.
- barrenko 2y agoYou have precisely captured why I got interested in AI.
- LudwigNagasena 2y agoAren’t you supposed to learn calculus to be able to understand what O(n) even is? Is it not a standard part of a CS major?
- aae42 2y agoThey also drive trains