10 Comments
Jun 14, 2021Liked by Mad Ned

I completely agree with your position. I've argued for the same, for a long time. Personally, I did graduate from a technical university, I did learn all the hard math. Differential equations, FFT, FE, vector fields, tensors, algebra, everything. Basically the first two years of university were 90% math.

I passed those exams. I'm not making an argument about something I don't understand. I have even used some of those knowledge here or there in my work. But often enough I need to look it up anyway.

It seemed to me completely misplaced in the first two years of university: Only a small subset of programmers will ever need this rather specific set of math. Then in year 3 or 4, you decide on your focus direction, and depending on which one you choose, some or all parts of your math basics don't matter.

If you do databases, you need set theory. If you do networks or crypto, you need group theory. If you do simulation, you need analysis. If you do graphics, you need linear algebra.

So it would make much more sense to put the difficult math courses into those focus courses, and not annoy everybody with them. Right now we have a ton of programmers who are good at math, and terrible at writing text, terrible at communication, even of technical concepts. There's too much knowledge for everybody to learn everything, so it makes sense we don't waste so much time on "fundamentals", if those fundamentals aren't actually of direct use.

Expand full comment
Jun 9, 2021Liked by Mad Ned

Ever since I got bit by the bug that made me do computery things, I have had people say to me "Oh, you must be really good at math, then!" And then I'd laugh, they'd get confused, and I'd have to explain that I took Algebra twice in High School. I did worse the second time.

Mind you, I'm not a programmer. I can write medium sized bash scripts if I need to, and I can do stuff with Arduino if I have to. But I'm not somebody you'd associate with programming. I am an expert troubleshooter however. And that has zero to do with math.

On the other hand I also did not go to college, and I have had multiple people who did tell me that I dodged a bullet.

Expand full comment

Also around 35 years of dev experience - couple of startups (include one that was just me - and over 12 million users using that Windows app), and big companies (lead on OS/2 @ IBM Boca, Microsoft Research, and currently Microsoft).

Pretty much sucked at traditional math - VERY bad in high school, a little better in college (and didn't finish degree). Was REALLY good at logic classes.

Can also say I haven't used math a lot, and the stuff I was bad at really does not matter. The only time was when I was doing some side game dev, and when I was working on some HoloLens apps (which are basically 3D games - in the real world). Both of those I either used libraries, or figured it out.

Being a great dev is almost never about math, beyond being great at logic - unless you are trying to send a rocket to the moon, working one missiles, etc.

Expand full comment

Count me as one of the bad at math but who have a successful career in IT. I'm not at the lower level - wouldn't consider myself an engineer by any stretch - but even today now that I'm mostly management I was still lobbing pretty technical solutions to our programmers that seemed to be stuck and unable to use Google effectively. I think your observations about critical thinking and a love of knowledge (expressed more in some of your other articles) are spot on and mirror my experience. The more effective of my peers were the ones who never stopped reading/learning/exploring/questioning/driving. I would much rather have someone with a demonstrated ability to adapt than someone with a laundry list of certifications.

Expand full comment

Whoa whoa whoa... hang on. There is a lot to unpack in this worthwhile article.

Is standard public math education broken? In the U.S.? Yes. Absolutely.

Are programming and arithmetic the same thing? Obviously no.

Is either one or both necessary? We might disagree - I say both are.

John Saxon did a great job explaining why mastery was so important. He wrote a cirruculum that really worked for me growing up. After I grew up, I used it to teach kids who sound almost just like you. They had a bad experience with math early on and hated it ever after. They felt stupid. That is tragic, but the problem lay with how the subject was taught, not the subject itself.

9 X 6 is 54. That's really easy. If I am teaching this to you, I had better do it in a way that *you* think it is easy and interesting and not in a way that makes you feel stupid or kills your interest. It is better to not teach times tables at all than to teach it in a way that drives the student to hate math. "Or maybe, math education spent too much time on pushing kids through the process, without explaining enough about why, and I lost my motivation for it." Yes, that's the heart of the problem.

You can go without your times table and be a competent computer engineer. I will agree you can. But you shouldn't. Without your times tables - and this is more of a comment about the education system you went through than a comment about you - you are less of a human. In a similar vein, you should be able to butcher a chicken too. You are capable of doing it. You don't have to spend all your time doing it - but you should know how to do it. It's a human thing.

I would argue we should expect *everyone* to be able to do basic programming the same way we expect *everyone* to be able to read. I realize that trying to pull that off today seems impossible, but that's because we have so many cultural and family and societal and educational issues getting in the way. I mean, you know what it takes to be a programmer. Wouldn't you say anyone can do it *if they wanted to*?

Expand full comment

A lot of dev jobs don't require lots of math - but if no-one on your team understands math, you're eventually going to run into some kind of O(too much) problem that you won't understand.

Expand full comment