Mathematicians are chronically lost and confused (2014)
j2kun.svbtle.com
j2kun.svbtle.com
My observation is that many programmers, especially those who have come of age by working in startups, tend to value ability and sometimes experience over formal education. This is a result, I believe, of noticing that they can outperform many people who have a classical education, and also seeing that many of the people to whom they look up also do not have much in the way of formal education.
However, I truly believe that Mathematics is a discipline that is very hard to engage with outside of formal education - or at least nobody has really found a great model for doing so yet.
Learning Mathematics in a classical, structured way really does change the way you think. I notice a substantial difference even between those of my colleagues who entered industry straight after their Masters or even Bachelors, and those who completed Doctorates or even held postdoctoral positions.
In my opinion, it is this lack of mathematical maturity that makes the switch from general programming to scientific programming more challenging than the converse.
There are some academic mathematicians who think mathematics has to be hard because it was difficult for them to understand. There are others for whom sharing their insights is more important than searching for new ones. I think that the set of mathematicians together have done a rather good job in the 20th century of producing mathematical literature and pedagogy that laypersons and the polymaths can understand.
I skipped university when I was young due to circumstance. I still had a love for maths but couldn't pursue formal training. When I came around to programming as a career instead of odd-loner-hobby it was as you say. I was quite impressed with my ability to code circles around CS graduates who, for all their theory and training, weren't prepared for "coding in the real world."
I never stopped studying mathematics. I've recently been going through temporal logics. If only more programmers were aware of the beauty of the proof of weak fairness. And its implications in system specifications.
Where I can see formal training being useful is exposing you to subjects you were not aware of in short order. My experience has been more akin to the mansion metaphor. Where I encounter limitations or difficulties in my programming I look to maths for the right tool to simplify the task and ensure it is correct.
So I agree about "mathematical maturity." I just don't believe it is exclusively acquired in an academic setting. I think some people have an inclination or awareness that pushes them to think this way.
Interest piqued. Do you have a good link for an intro to this?
Outliers exist. But have any good mathematicians been self taught in the last 50 years?
It'd be simple to grab a curriculum and start from point A (as in, the method is simple - not the content), taking that as the order.
More thoughts and discussion on this would be extremely interesting.
I've seen others say that linear algebra is a prerequisite of any kind of maths maturity goal.
I think, personally, maths is an incredibly important field and there's a feeling that some degree of comfort with it will help me in more ways than I can imagine. That is, however, an opinion formulate after some self study based on a great interest in the field.
It fascinates me that even things we take for granted, such as addition and multiplication, has entire subfields that have generalised the structure of those operations over those types of sets (in what's taken for granted: addition and multiplication over the set of integers). What's even more fascinating is that this work has had an impact on other areas of deep interest e.g category theory and Haskell.
And yes I agree. It is glorious that the binary operations that seemed so natural to us formed the basis for groups, rings, and fields. Associativity, commutativity, distributivity of two related operations are quite the pearls :-) Its also interesting as a programmer and from a "properties of functions" perspective to study magmas and semigroups and groupoids..etc..
Knowing more about abstract algebra in terms of special properties of functions has led me to believe that most programmers are missing out on some of the beauty of functions by merely implementing them and not so much understanding the common properties and classifications of them.
to give a personal anecdote, i often commented with my fellow graduate students that our first two years in graduate school were spent merely getting to the 1950s in terms of mathematical technology. most people who graduate with a bachelor's in math only know math up until the late 1800s and early 1900s at best.
mathematics is the hardest intellectual activity i have done, and it has made my job as an engineer and software developer much, much easier. the ability to abstract yet get down and diry with details is something math beats out of you.
Mathematics has developed so extensively that there's going to be a base corpus of knowledge one generally has to acquire before they're at the caliber of being able to publish. Take a tenured topologist and place him in at a conference where people are presenting their findings in an entirely different field and he'll more often than not struggle to keep up. Combined with the fact that higher level education is a lot easier to attain than it was say, 50 years ago (and definitely 100 years ago) allowing a larger percent of population who those who want to enter into pure mathematics to do so, it's fairly understandable why you won't see many 'good' self-taught mathematicians. (Though, I argue that recluses like Perelman who go off the grid for years at a time after being inspired by something like Ricci flow to solve Poincare are the analogues of yesteryears self-taught mathematicians, as they are no longer collaborating with institutional academia.)
The first hump is understanding a branch of mathematics. Once that is done one is likely to be able to self learn other branches. Can that first hump be done except in rare cases? I don't think so.
[1]http://matt.might.net/articles/phd-school-in-pictures/ Getting published in the J. of Top. is being on the arc (perhaps, even deforming the disc in R^2 heh heh). Being able to move laterally s.t. your findings substantial enough they are accepted into the J. of Alg. Geo. requires a requires such an absurdly large lateral movement along the arc that it's a feat analogous in difficulty to self-teaching oneself up until say the 1920s.
This is an interesting contrast with my experience with learning programming, where, it doesn't matter how much formal education / training you get, you're still going to have to do a massive amount of self-learning before you can hope to achieve excellence.
All good programmers are self-taught. No good mathematicians (currently) are. I wonder why this is. Probably boils down to what 'math' is trying to accomplish vs. what 'programming' does.
Did I mix up greater-than, less-than again at work? Well, I'm getting opposite behavior. The errors make themselves apparent. I can play around with it, try things, and get basically real-time feedback as to whether I'm doing it right. What the hell is a monad? Well, here's a problem that is basically crying out for a monad solution.
I've often wondered if automated theorem provers (Coq and the like) could be useful for this. Sure, it requires learning Coq (or Agda or ACL2 or whatever), but it seems that it might be worthwhile just as a way to sanity check one's work - somewhat akin to the way a compiler "checks your work" when programming.
You can't really make a living off of being a self-taught mathematician, whereas you can by knowing how to program, and run your own business.
The only way to make a living as a mathematician is to into academia, so that why you see all mathematician in academics. Basically it isn't that academia produces mathematician, although it helps, but that it attracts mathematicians. Just as, say, Y-Combinator attracts good startups.
I would guess the more applied math you care about / the closer to software your math is, the better you can do as a self-taught. I actually know of one guy who transitioned from an engineering ph.d. to teaching applied math doing self-taught / working on fluid dynamics in aerospace, but I expect the examples of someone doing this in more abstract / pure areas are extremely few.
Businesses interface socially with other entities (individuals, governments, corporate customers). That social interface will always be 99% report/client service/cursory analytics and 1% hard science domain expertise. That's just the nature of business.
It could be different in a government lab, a think tank, or a boutique consultancy, and it's definitely different in organizations like prop trading firms that do not interface with outside entities in the way that almost all businesses do. But all of those things also place a much higher value on employing people with significant math maturity and hard science expertise.
I think that may be because, in mathematics, it's hard to "follow the thread". For example, while programming, you can take a program (or a technique) and start reading the code, following links on Wikipedia, and you will eventually catch on. That is, you can do a top-down approach without many problems.
However, doing that in mathematics is way harder. It's not easy to take a paper, read it and start searching for concepts you don't know in Wikipedia: they usually require other base concepts and ideas which are not easy to understan. Sometimes those concepts are not even mentioned becauase the author just expects every mathematician in the field to know them, but to the layman it just looks like magic.
So in maths you need a bottom-up approach, and that's hard to do alone. You need someone to tell you what to study next and why, teaching you the applications and the related fields. Doing it alone is way harder than in the university.
So I'm a self-taught programmer, and this attitude annoys the hell out of me.
1. EVERYTHING requires self-learning to be more than mediocre. In fact, the more I learn about other fields -- engineering, medicine, law -- the more I realize those fields probably actually require MUCH MORE self-directed learning than programming. It's just that this self-learning is much harder to do in isolation without at least a college education. E.g., try teaching yourself any of the traditional fields of engineering with only what you learned before 10th grade. You'll find it's much harder than teaching yourself programming. Whereas you can easily land a developer position with things that the average pre-calculus 11th grader can pretty easily teach themselves.
2. College-educated people who didn't start programming until 18+ ALSO do a lot of self-learning. The difference between them and me (or anyone else who self-taught as a kid) is that they could learn in 1-2 years during their 20s what it took me 4+ years to learn in my pre-teens/teens. Which there's absolutely nothing wrong with. I called it reading tutorials and messing around at night while they called it reading a textbook and doing course projects/homework assignments. I called them high school friends and IRC budddies while they called them TAs. But the actual content of the work and the amount of external direction provided is about equivalent.
Just because programming is simple enough that you can learn how to do enough to get a well-paying job before hitting 16 doesn't mean that people who go through a college degree aren't also doing a ton of self-learning alongside lectures.
If you read my statements carefully, I said exactly the same thing.
The main thrust of my post was that all good Xs are self-taught, for all values of X.
That's the primary point of disagreement between us.
Lots of self-teaching happens within the confines of formal education. And almost all learning that happens outside of formal education is done via some form of instruction or another (books, tutorials, video lectures, etc.)
I've known one such person. He skipped Math 55 at Harvard as a freshman because it was too basic for him.
He's such an extreme outlier though that there's almost nothing to learn from his case other than to marvel at it.
(\Ax |: P => Q) === {x | P} \subset {x | Q}
I'm not kidding myself that I can stand with the best of them and work on bleeding edge problems. The sphere packing problem sounds really cool but it would probably take me quite a while to work my way up to really understanding it. But I believe it's possible if I don't fall into the trap of self-deception and work out the requisite material before digging into it. "Convince yourself," and all. That's what is so amazing for me.It's important to not be afraid to admit you do not understand something. It's an opportunity to learn after all! And there are some of us who are voracious learners.
The point I was making is that mathematical literature is rich enough that it's possible for people with no formal training to engage with a topic and learn something from it. Maybe they could take cracks at interesting proofs. There's nothing in the field that says you cannot practice mathematics without a degree or license.
What I do disagree with is that the power of mathematics is the sole domain of the priesthood. I believe that anyone motivated enough can work their way through the material. Formal training would benefit those people, for sure, but it's not a prerequisite for enjoying, using, and engaging with mathematics.
If your argument is "you can have fun pretending to know maths all by yourself" then fine. But that's not valuable to anybody.
However if we broaden the scope of contribution we can see people finding applications for theory in industry as useful. It is useful to revisit pedagogy in order to bring more people into mathematics. Even people who take the role of Martin Gardner and bringing mathematics to laypersons is a good contribution -- it gets people excited about the developments of mathematics!
What I have learned has improved my life and made my work better. I think that's useful.
update
I have an inkling as to how vast mathematics is. I realize I'm not going to be publishing any papers and most people who are self-taught will not either. It's not a goal of mine besides.
However I'll still take a stab at the Erdos-Sekeres conjecture of the convex n-gon from time to time. I realize someone else will solve it but what's the worst that can happen? It's fun and enjoyable and sometimes I wish there were more people who found mathematics as enjoyable as I do. And that it was more accessible.
I'm a mathematician and have read about temporal logic. What beautiful proof of weak fairness do you mean here?
There are some good texts out there for learning by yourself. I currently own 7 or so Dover Books on Mathematics, and I could understate my appreciation of them.
I didn't really believe in calculus except on a case by case basis until after my first analysis course.
I think the only reason the less formal mathematics courses seem easier is because the thing being studied is also dead simple and the calculations are easy. But that approach doesn't scale.
That's why Hardy famously used it as his example of mathematics done with no consideration or hope of there ever being a practical application.
Either way, Hardy was wrong. Number theory became relevant because of the work of people who thought it could be. There was hope for a practical application, even if Hardy couldn't see it.
Nitpick - latter half of the first half.
I wonder if some of this is because of the number of jobs in industry for each discipline? There are a great many jobs available which nurture CS skills but I can't quite think of a job besides academia off the top of my head where that lecture in Toric Varieties I took would come in handy.
Maybe its that there is a career/financial incentive to go deeper into CS but not mathematics?
mathematics is unconstrained by any desired artificial 'engagement' requirement
engagement is as easy as acting on and developing an interest
and i encourage everyone to engage with mathematics
your attempts to create an artificial toll or make a case for one, especially in lieu of your argument being unsolicited from the contents of the linked article, is suspicious at best, and wholly detrimental at worst
> very hard to engage with outside of formal education - or at least nobody has really found a great model for doing so yet
this seems like contradictory logic.. you appear to be denying 'informal' students from using the same model you advocate from these 'formal' sources
also i think you need to flesh out your definitions a bit..
what precisely do you mean by: formal education, outperform, general programming, scientific programming?
you also seem to be setting up a logical fallacy in your attempt to define your thesis of 'mathematical maturity'
> my colleagues who entered industry straight after their Masters or even Bachelors, and those who completed Doctorates or even held postdoctoral positions
are you comparing a ~20 year old at their first job to a ~30 year old who spent thaer twenties in academia? have you tested your hypothesis by comparing others of similar time spent on the subject but lack receipts for the money they paid into the academic institution? are there anomalies present in your investigations?
your argument seems to lack any substantial scrutiny, and this would seem to me to be the defining element of some such concept of an interest in mathematics 'maturing': devotion to rigor
The original commenter is noticing a difference of culture between the startup community and the academic mathematics community: the stereotypical attitude of startup folks is "establishment be damned," but that attitude doesn't seem to fare well when it comes to mathematics because the process of learning mathematics is so incremental. Disruption and the hackathon mentality won't help you learn math (in the author's opinion).
Meanwhile you're nitpicking definitions that seem to me to already have satisfactory informal definitions with no need for that level of scrutiny. It doesn't add to the conversation in a meaningful way. What I can glean from your comment is that if you have the right attitude toward math, then none of the original commenter's points hold. And I think everyone agrees with that. It's just that the people being discussed don't have the right attitudes, so it seems mildly pointless to say "Well if only they had the right attitude!" The same statement applies to most discussions about human behavior.
I sincerely hope this helps you communicate your views better in the future.
> However, I truly believe that Mathematics is a discipline that is very hard to engage with outside of formal education - or at least nobody has really found a great model for doing so yet.
my views:
mathematics is unconstrained by any desired artificial 'engagement' requirement
engagement is as easy as acting on and developing an interest
and i encourage everyone to engage with mathematics
There's a big difference between people who leave a funded phd program early with a masters, and people who enroll in a terminal masters program. Especially if the terminal masters program was a "professional", non-thesis program.
But there's much less difference between people who leave a Ph.D. early with a masters and those who stick it out.
Yes! I bashed my way through an Applied Math degree in night school. It hurt my head, but it rewired my thinking permanently (for the better).
You need a lot of time to master any skill, and few jobs provide that for mathematics. At least, not with any diversity in problems. The degree provides some years of dedicated effort.
I took linear algebra my freshman year of college. It was the non-math major course, so it didn't require proofs. I got an A+ in the class. Not just an A, an A+. I was able to obtain such a high grade by taking tons of practice tests, and since the actual tests were basically mildly veiled calculations, I just had to map the question to the right calculation. So for instance, if after a little interpretation, I figured out that the question was asking for me to calculate the singular value decomposition of a given matrix, I would mindlessly compute, check my algebra, and move on.
However, it was very clear to me by the end of the course that I didn't really understand what the heck linear algebra was about.
Five years later, I started a job as an algorithmic trader. One of the first things my boss wanted to do was to do a Principal Component Analysis (PCA) of bond price movements. This is a very common thing to do. I didn't know what PCA was, but I read a short paper he gave me and I was able to grok it. After reading that paper and actually performing the PCA (which by the way was basically one line of R code), I finally came to understand the core essence of linear algebra, which is the idea of linear transformations. I was able to connect the equation Ax=lambdax to the geometry of what an eigenvector meant. Through a little more reasoning, I realized that every real matrix corresponded to a linear transformation of that space via a rotation, a reflection, a stretching, a shearing, etc. At that point, all of the mindless calculations I had been doing half a decade earlier instantly clicked, and I was enlightened.
This was literally half a decade later after I "aced" my linear algebra class. I know that it seems absolutely ridiculous that I could "score so well" in a math class yet so clearly miss the core idea behind the entire class, but that's been my experience with math for as long as I can remember. You start by doing the calculations and just getting comfortable with them. Some arbitrary time later, you have an insight and suddenly everything is so crystal clear and trivial that you wonder how you could even not have understood it before.
Oh, and even to this day, I don't understand what singular values actually are. Something to do with a mapping from the row space to the column space, blah blah. I'm sure if I spent an hour to read about them and picture the geometry, I could figure it out, but I just haven't gotten around to doing it.
LinAlg in college, nothing but a blur of matrices.
Algo trading for work. Now there's a reason to do it, it makes sense.
About SVD, btw, it is another path to PCA, one that solves certain problems that PCA does not.
https://jeremykun.com/2016/04/18/singular-value-decompositio...
There have been several times when I've picked up an old math or CS textbook and read something I never really fully understood in college -- it almost instantly makes intuitive sense to me now -- 20 years later.
There's an old saying that college is wasted on the young... in many ways I believe it is true.
The same realization that I don't know linear algebra came when taking a Lie algebras class, and again when learning homological algebra, and probably a few other times as well. There are certainly lots of areas of math that I've never explored that take linear algebra in some other direction (for example, I don't have any idea what the applied math guys do with....).
It's really an amazingly vast subject, especially considering that it's usually just thought of as a tool used to study more advanced topics.
What's really struck me is when I dive into a Wikipedia rabbit hole of linear algebra, following links for terms I don't know. I start on the Topology page, read the introduction section of 10 articles that start with "x is a generalization of y" and somehow end up back on the Topology page. Shallow exposure to the sheer volume and conceptual depth of stuff like topology and algebra has really made me respect modern math.
I had a similar experience. Not only I passed linear algebra without understanding linear spaces, but I passed analytic geometry without learning any geometric concept that I didn't know.
I was randomly thinking about logarithms and it just "clicked" that what a logarithm really tells you about a number is it's order of magnitude relative to some base.
I had never seen it explained that way, but once I thought about it it seemed so simple. It's funny, programming has actually helped me understand math. It helps me to look at a formula or function as a programming function. I try to read maths like I read source code. I ask the same question: what dynamic system is this jumble of symbols trying to represent? How does an object behave as it moves through this system?
Once I began to think about math like that, a lot of things began to "click" for me.
I only really started to understand linear algebra when I was forced to in a differential geometry class. The opening chapters were a review intended to fix my university's notoriously broken linear algebra training. As I said, it comes with the territory. You can't design a course based on Halmos' FDVS and expect students coming in, that is, students who've scraped through calculus 1, to manage. So, the recipe book / cookbook style abounds. Granted, there were inklings of mathematics in my linear algebra course. I don't think anyone really appreciated it however. It's hard to grok "vector space over a field" when you've never been introduced to the abstract concept of a field.
When my second year stats lecturer told me that a determinant of a 2x2 matrix was an area, I almost didn't believe him.
Fun exercise I was told about just the other day. Every invertible matrix with integer coefficients has determinant +-1. I would never have known how to solve that after my linear algebra course.
* If M has integer coefficients, then det(M) is an integer. * det(inv(M)) = 1/det(M) * Since M has integer coefficients, det(M) is an integer * Since inv(M) has integer coefficients, det(inv(M)) is an integer * So det(M) and 1/det(M) are both integers, so det(M) is either 1 or -1
The first is high level perspective, the second is nitty gritty math, proof, and implementation.
[1]: https://jeremykun.com/2016/04/18/singular-value-decompositio...
[2]: https://jeremykun.com/2016/05/16/singular-value-decompositio...
I can't help but plug my mailing list for a book I'm writing, called "A Programmer's Introduction to Mathematics." Cheers, and thanks for reading!
This is something that was a great source of stress early in my career.
Experience helps.
I noticed people can be roughly split in two categories: -- ones who spend a couple of years dealing with this sort of job activities, then want out by any means, on to something different; -- others enjoy it more and more as they gain expertise, start having more and more fun -- get more expertise, and with results (which necessarily come up), the right to pick and choose the subjects and so the hard problems that come with them.
I happen to belong to the second category (and it has been a while I stay in the same domain), and I don't believe someone in that category would feel stupid and confused. it rather feels like investigation every time.
Though over the years, I've become wary of the stress always associated with being put on such issues -- a last-minute demo for a trade show that doesn't work, a customer who has escalated to upper management, a delivery which is hopelessly late... -- with all attention of the management attracted. I keep telling myself that a soldier has got to participate in war campaigns, not be doing paperwork at the headquarters, and literally force myself in last years.
But I don't recall I have ever felt stupid or confused, even in the beginning of the career.
The boy looked at him and said, "Dad, what's wrong with you?"
I'm just not very good at applying processes/methodologies which I don't fully understand.
For example, I wasn't very good with linear algebra until I was able to visualize the equations in my head. For example, now, when I think about the equation 'f(x) = ax^2 + bx + c' - I can see that this represents the set of all possible quadratic equations and I can roughly visualize what that looks like on a cartesian plane (well it would turn the whole plane black because there would be an infinite number of graphs). Then if I choose any three points on that crowded cartesian plane, I can visualize that among this infinite set of curves, one of them passes through all three points. Thinking about it in that way allows me to make sense of Gauss-Jordan Reduction and other mathematical processes related to linear algebra.
Programming is much easier for me because I can visualize the results instantly on a computer - I don't need someone else to explain it to me. Any uncertainty can be quickly resolved by simply running some code.
Until you have to interact with a black box of someone else's code. You can only be certain that the data you sent that particular time works, not that all possibilities of valid data work.
Haha probably the most unintentionally funny and ironic comment I've read in awhile. Given more than 50% of software projects fail, which is worse than chance, I think it's safe to say the no one really understands software engineering either. Like math, they just get used to doing some things that seem to work better than others.
they both deal with computation (modification through time).
Only math as a language originates from past assertions to model a determinant factor,
while programming deals with future assertions as to produce determinant factors.
Its alot easier to make arbitrary mistakes in the latter then the former.
b) ignore everything else until you are done
c) repeat
Don't worry that at your pace it will take ages - very soon you will develop an idea how to rank what you should look at next. If you don't, go back to a).
Obviously it's useless to think about it too much when your knowledge about a subject consists mostly of holes and gaps, so first gather data (a).
I can't quite see how concrete your question is, but try Khan Academy. Follow the suggested order if you have no preferences.
The last math class I took was in high school and I dropped out of college because my CS degree required me to do a metric fuckton of math, which I hated at the time.
A few years ago I got interested and started working on Integer Factorization. It is not that likely that I will solve that problem but in the past few years I have learned a lot more math by attempting to solve that problem that I learned in college!
Moral of the story: Just have fun and try to solve some problem(s).
Step 2: Download the Book of Proof: http://www.people.vcu.edu/~rhammack/BookOfProof/ You read through it and do all the odd numbered exercises (the solutions are at the end of the book).
Step 3: Get a book called Real Mathematical Analysis by Charles Pugh and you work through that and attempt as many problems as you can, with a view not to rush through it, but to expand your mind through each problem.
Step 4: Pick any of these books that interest you the most and do the same:
- Calculus by Spivak
- Algebra: Chapter 0 by Paolo Aluffi
- Linear Algebra Done Right by Axler
By then you should have enough mathematical maturity to know what to do next.
My preferred starter kit is Rudin plus Halmos or Axler, but treating Rudin as a summary. So a helper would be needed, like Counterexamples in Analysis. This is what Math 55 used to do.
I think the beauty of Rudin is how compact it is. But of course you need an alternative book to be able to digest it.
Thanks for the links, I will read the book of proof and try the exercises, though mostly studied those topics already.
Here it is. https://www.dropbox.com/s/yp8ijkzir4h8rz9/Calculus%20in%20e%...
I'm REALLY sorry for the picture quality. I'll use a proper scanner later. My phone's camera and app are terrible.
" In short, it wanted to put the meaning back into mathematics. But it was meaning of a very dif- ferent kind from physical reality, for the meaning of mathematical ob- jects states "only the relationships between mathematically 'nndefined objects' and the rules governing operations with them." It doesn't matter what mathematical things are: it's what they do that counts. "
https://www.amazon.com/Mathematics-Elementary-Approach-Ideas...
The book I used to do this was Advanced Calculus by Loomis & Sternberg because it covers classical mechanics, potential theory, differentiable (Banach) manifolds, differential equations, (multi)linear algebra, fundamental theorum of calculus and the Fourier transform. The exercises are not very difficult compared to a lot of other texts (Spivak's Calculus) so this is an accessible math book as I don't have any formal math training.
I also liked the Mathematical Preliminaries crash course in the Art of Programming Vol 1 because it led me to looking into probability which has turned out to be an infinite rabbit hole of discovery. (a grad students highly opinionated list) https://www.amazon.com/gp/richpub/listmania/fullview/1F85VWN...
preview: https://minireference.com/static/excerpts/noBSguide_v5_previ...
As an added bonus, the book also covers mechanics (Physics 101), which is really important to understand to build up you general modelling skills. (Physics is all about coming up with math models to describe reality.)
"What’s much more useful is recording what the deep insights are, and storing them for recollection later. Because every important mathematical idea has a deep insight, and these insights are your best friends. They’re your mathematical “nose,” and they’ll help guide you through the mansion."
For some reason, programmers think good code should be self explanatory. It doesn't have to - if your insight is outside the flow (or the argument) of your code.
I see a lot of Java code written like this; if the programmer's job is to multiply two numbers, they add number a number b times, and say comments are not needed!
https://terrytao.wordpress.com/career-advice/there%E2%80%99s...
What are you supposed to do if you like math and the idea of grokking it, but you also have a job and a family and can't afford to spend six months contemplating each room in the mansion?
Learn to come to grips with the idea that the universe isn't always going to support your mutually exclusive preferences?
math the same