5 ms·
> the book is targeted towards programmers who do not have an academic math background I am truly wondering how many (professional) programmers don't. (Not to
by Koshkin 5y ago
> the book is targeted towards programmers who do not have an academic math background
I am truly wondering how many (professional) programmers don't. (Not to say, of course, that the book is not good or not useful.)
- rory_isAdonk 5y agomany have a background, few remember it or apply it enough to be happy with their ability.
- Jtsummers 5y agoA lot of professional programmers have no significant math background or have it but haven't exercised it so it's as good as absent. I'll even include many CS graduates here, whose college level math experience often ends with Calculus 2 (in the US) and linear algebra, perhaps a discrete math course. But then without any application to most of their other courses this information is quickly forgotten. I work predominantly with EEs and CS majors (my employer does not hire non-degreed persons for programming work, which does eliminate some really good candidates) and outside of the one teaching orbital mechanics, most would be hard pressed to solve even a basic linear algebra problem anymore. I've even had to re-teach boolean algebra to the EEs who seem to have forgotten even Karnaugh maps and how to use them. And then there are all the non-technical majors who become programmers, like the many philosophy graduates I've worked with. This isn't to say they can't learn the math, but they often have even less exposure than the typical business major in the US. And globally there are many people who come to professional programming without any degree at all beyond a high school diploma. And given the variance in high school curricula globally there's no way to say what level of math this group possesses, but they almost certainly lack college level academic math exposure, the majority at least.
- BeetleB 5y ago> I've even had to re-teach boolean algebra to the EEs who seem to have forgotten even Karnaugh maps and how to use them. Heh heh. Electrical engineer here. My first and last use of Karnaugh maps for a job was 14-15 years after taking my digital logic course. The irony was that it was for a routine programming problem: The customer had given me with an ugly flowchart and I felt I must reduce that monstrosity to something much simpler. I did, but then my fellow coworkers would always wonder if my result was identical to the flowchart. I would tell them to make a truth table and confirm it. Finally one coworker did that and left a comment pointing out he had already verified it. In one sense, it made the code less "readable", but no one wanted the job of doing a direct translation of the flowchart. I did have to Google to remind myself how to do them, but it took only a few minutes to figure out.
- shepherdjerred 5y agoI worked at AWS and the highest level math course I’ve taken is college algebra.
- falcor84 5y agoIt of course would depend on what roles and geographies you include, but from personal anecdata, I'd say that about 50% of developers I've worked with have taken 'some' university-level maths. And amongst these, there's of course significance variance in backgrounds. Again from anecdata, the best at applying maths to programming are physics majors, who seem to often recognize that a software system exhibits some dynamics, and that they could find (or build) some relatively simple model that would explain and predict that behavior.
- bit-101 5y agoYou may be viewing the field from your own bubble. There are a LOT of programmers who do not have formal CS degrees. I hire them regularly. There are a lot of boot camps and intensive non-degree programming schools out there. There are also a lot of people who got a degree in some other field and later moved to a programming career (I see a lot of Philosophy majors get into programming, interestingly.)
- BeetleB 5y agoBeyond the answers people have provided, I'd like to add that there is a social element to it as well. Many/most programmers have forgotten math like LA and calculus, there does tend to be opposition to using math at work. Will other people be able to understand your work if you solve it with applied math? Will your coworkers be willing to admit they don't understand your work? And so on. Of course, this doesn't apply to domains where math is necessary (graphics, etc). I remember in one engineering job I had, two engineers were tasked with the problem: Given an ellipse, assume a horizontal/vertical line "cuts" off the ellipse. What is the area of the remaining piece? This is a standard Calc II problem, and I'm sure everyone there had taken it - we required a MS in that team, and some people had PhDs. The solution takes a bit of work but in the end you'll have an analytical formula with the exact answer. In code you'd just put one line with the formula. Is that what they did? No. They wrote a program to approximate the area. I really doubt they took care of any floating point subtleties, but I knew that I wouldn't be popular if I probed their solution.