Hacker News new | ask | show | jobs
by jkire 2185 days ago
I did a Maths degree before becoming a software engineer, and honestly I think its really changed the way I think, just in general. There's something about being given a problem, or theorem to prove, and grappling with it until you really start to get a deeper understanding. After spending hours on a single problem, sitting there trying various ideas, getting flashes of inspiration, hitting dead ends, grabbing a drink, coming back and doing it all again. Finally actually getting to the point where it all just suddenly clicks and you realise that actually if you just think about it in these ways the solution is just, well, obvious! It's really intensely satisfying; just a three line proof of "without loss of generality we can assume X, which implies Y, and so clearly Z is true". So satisfying! (Then you realise you still have another nine problems to try to do before tomorrow, oh god...)

Anyway.

To me, it really taught how to tackle Hard Problems, where you do just sit there making seemingly no process for hours/days/weeks. When you first start tackling such problems it can feel really frustrating, but actually with experience you realise that progress is being made when you slowly manage to map out the problem space and get a better intuitive understanding what's going on. I kinda do imagine it as stumbling round in the dark in an unfamiliar place, slowing groping around, hitting dead ends, then slowly but surely getting a mental model of what's around you and how it all interconnects. Once you have that understanding and intuition the problem is often, kinda, easy? Or obviously impossible and you'll need to make some trade offs.

Changing the way you think about progress to be less goal oriented and more about expanding your understanding is really quite crucial to tackling such problems I think. Both just to keep you motivated through the process and stop you from getting discouraged, but also helps you realise when you've stopped making any progress and should take a bit of a break and come back with a fresh mind.

Most of the time this skill is entirely useless, but sometimes it really is quite powerful. I guess working on Matrix is a bit of a special case, but I would never have been able to sit down and spend weeks trying to come up with a new state resolution algorithm, to pick one example, without that sort of experience. I just wouldn't know where to start, and I'd become demotivated by the end of the first day and likely give up (knowing me).

All of this rambling is to say: I think Maths is really something you have to do. Reading books about it is interesting and great and all, but if you really want a deeper understanding you have to get stuck, get your hands dirty and try to solve problems. I don't mean problems where you take that cool theorem you just learnt and apply it or figure out how to apply, but problems where you actually have to come with ideas and theories on your own. (Now, I have no idea how feasible that is outside a formal setting and without supervisors, but that's really the dream).

I hope that in some ways helps, even if its probably entirely devoid of practical advice :)

1 comments

Just wanted to say this was a great answer. As an adult just getting back into math it is very encouraging and motivating.