4 ms·
I disagree, as someone coming from a math background - from no formal CS training, but 4 years of math at a top graduate program, I fully believe that a large p
by Bahamut 10y ago
I disagree, as someone coming from a math background - from no formal CS training, but 4 years of math at a top graduate program, I fully believe that a large percent of my peers from there could be extremely successful developers. In fact, I ran into a fellow former peer once at a conference who joined Google after exiting academia - he is currently on the Angular team. To take myself as an example, I have been very successful as well, currently being a lead developer who mentors/helps other developers on a near daily basis.
Formal mathematics training isn't necessary to be successful - many of us know many people who have picked up the intuition that those formally trained understand at a deep level & have been able to use it to great advantage. However, I argue that more training in areas of logic & reasoning would serve people well in all facets of their lives, including helping people be successful in software development over the long term. I know that I use my knowledge I gained from decades of mathematics to code strong abstractions faster than just about everyone else I have worked with so far (I've made mistakes too, but nothing terribly costly & unrepairable) - it helps me nearly every day I code & learn new things.
- berntb 10y agoI'll believe that there is a correlation of more than 0.5 to 0.7 between good at software development and good at abstract math. But hardly higher -- there are also some other talents needed, I don't know what. I saw a few people that had no problems with the math courses in CS but that never really got the programming part. (No names or details, people might be recognized.) But this is of course anecdotal. (My surprise over this was similar to when I realized that rationality and intelligence didn't have as high correlation as I expected. I know some intelligent people which are Truthers and believe in other conspiracy theories. Others can't reason when their emotions are involved.)
- axlprose 10y ago> But hardly higher -- there are also some other talents needed I'm not going to deny the presence of some built-in preferences for formalized thinking among some subset of the general population, however the cognitive resources and preferences that would lead one to enjoy or excel at math, are about the same as those correlated with programming. e.g. a noticeable interest in understanding mechanical systems. So given that set of preferences that would produce an interest in math/cs, if a person was raised by a mathematician parent, they'd likely be "good at math", but possibly still struggle with programming when they reach their CS classes in college. Meanwhile another person with the same set of preferences but raised by a hacker, might be good at programming by the time they reach college, but still have a hard time with math. The issue is less about "can this CS person be good at math?" or vice versa, and more about "will this person be motivated to learn these complementary skill-sets?". Because it's not just a one-way street, mathematicians can also learn from thinking programatically, as shown by the growing popularity of automated theorem provers like Coq. And mathematics being helpful for programming is nowhere better epitomized than by the huge trend of nearly every popular language slowly adopting functional features (and even "optional" typing), because everyone is slowly discovering that mathematically sound programming principles actually are practical (just a bit more abstract and difficult to grasp at times). Both of those examples should be pretty good evidence of these two fields being pretty helpful towards each other. The large show-stopping issue here making this relationship non-obvious, is education. If complex subjects that are already difficult get taught poorly, it's only natural that we don't expect people to make connections and think "oh hey, this [math/cs] concept I learned about might be helpful in this [totally unrelated] situation". P.S.: as an anecdote, I just recently used my (minimal) category theory knowledge to change the way I take notes, so that I can smoothly use outlining tools (like org-mode) more like mindmaps when taking notes on complex topics.
- sn9 10y ago> P.S.: as an anecdote, I just recently used my (minimal) category theory knowledge to change the way I take notes, so that I can smoothly use outlining tools (like org-mode) more like mindmaps when taking notes on complex topics. I, and likely many others, would love to see a writeup of this if you ever felt inclined to write one.
- berntb 10y agoI thought so too, it was surprising to see intelligent people struggle for years with the simpler parts of programming. Maybe those guys were just unmotivated? Or they were hardworking idiots which had gotten a good math background by sheer will and hard work? It didn't seem so. The alternative is the existence of basic cognitive talents you need for coding which aren't needed for math? Like for us color blind, that really can't appreciate some art? None chimed in with support, so I'd guess my sample was unusual; a lot of the guys here should have teaching experience from academia. (Category theory makes for better Org Mode? I'm curious, too!)