Live data from Hacker News

A Software Engineer’s Adventures in Learning Mathematics

medium.com

111–120 of 227 posts

Re: A Software Engineer’s Adventures in Learning Mathematics

#111
The comments are amusing. It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require.

My understanding was that to call yourself an engineer one must be capable of building robust and efficient things, whether that thing is a plane, or a bridge, complex software, even a website, matters not, so long as it is robust and efficient.

The degree to which you understand mathematics is useful only in how greatly it can enable you to build something robust and efficient. Thus, if you know more linear algebra than 90% of all mere mortals, but write inefficient programs, then at best you are a bad Software Engineer, at worst you're simply not a Software Engineer.

For that reason, at my current job I was asked to replace a man who earned his PhD in Computer Science from Georgia Tech who's job was to build an maintain an API in Go, despite the fact that I'm a college dropout. Smart man, with a far better understanding of mathematics, but ultimately I could build things more robustly and efficiently. I had stronger engineering skills.

Going back to OP, right on man. I personally didn't enjoy math until I learned it using my own rules, by own rules I mean I shunned the established method of repetition until you memorized the process, instead opting to understand the underlying concept and keep my thoughts written away somewhere for future reference, knowing all too well by now that memorization is futile given how frequently I have to reference Stack Overflow.

Re: A Software Engineer’s Adventures in Learning Mathematics

#112
post #84

Earlier quoted context omitted.

I see a lot of complaints in amazon reviews about the lack of answers making self-study difficult. It got me wondering...suppose there were a website for autodidacts in math and similar topics? Something where people could post and discuss their answers to exercises. It'd solve the whole problem. Would textbook publishers sue?

I think academics would get pretty annoyed :) Most of my professors just use the exercises from the textbook for homework, usually on the assumption that you can't find the answers online.

I'm sure they would, but I'm more concerned about people in my shoes. University tuition has gotten so expensive these days that I think we need solid alternatives...and that they can use some of that fancy tuition money to write their own exercises, if they don't trust students to do their own work.

Or they could just trust the students. At my university the honor code such a big deal that they let students take closed-book tests at home.

Re: A Software Engineer’s Adventures in Learning Mathematics

#113
post #34

Earlier quoted context omitted.

I'm employed as a Software Engineer now but my degree is in ECE. The engineering curriculum at my university (Rutgers) was extremely math intensive. I didn't take a whole lot of software classes but I'm glad I did take all that math. I think it's dishonest to call yourself a Software Engineer and not have an engineering degree. Semantics, but I earned the title.

I understand where this feeling comes from. You worked hard to earn what is (or what should be) a title with prestige: engineer. I too worked hard to earn degrees in engineering. I try to live up to that title every day, and I'm sure you do, too. But my years of engineering experience have shown me that the title "Engineer" is really more about how you approach problems and what you do to solve them and less about de…

I have found real world experience and self-study vastly underused on a lot of engineering projects. I'm not taliking about Programming, or CS. You guys can succeed without a degree. I'm talking about the mechanical, and electical engineering projects. I have tried to decipher too many blue prints form licenced Electricial Engineers--whom I can guarantee didn't spend one day on a construction site. Getting your hand dirty counts for something. Know the theory--essential, but know how to put it together too. I have met mechanical engineers who can't work on their own automobiles--which I found baffling, because these guys didn't have a lot of extra money to spend--at least when I knew them. I do still kind of cringe when people throw around the title of engineer though, if they don't have the math backround and license to back it up.

Re: A Software Engineer’s Adventures in Learning Mathematics

#114
post #80

What I understood after studying CS for over 10 years at a few universities regularly ranked highly at ACM ICPC is that math is unnecessarily obfuscated to most people. There is even an excellent book "Concrete Mathematics" from Stanford that tries to bring fun back to math instead of drying people with some formal stuff without explaining how people over the centuries got to that structure. I honestly believe math l…

For your analogy with Turing machines, do you have a better mathematical model of a computer? Nobody works directly with the TM model when they're doing theoretical CS anyway, they just describe the algorithm and everyone understands that if you really really wanted to you could work it down to a TM.

The same is true of mathematics. It might be hard to get everything precise, but that's not the point of mathematics. Nor is the point to be close to reality.

Re: A Software Engineer’s Adventures in Learning Mathematics

#115

About 2 years ago, I had an intense urge to learn linear algebra, statistics and probability in depth for much the same reasons as the author - to improve my machine learning and computer vision skills. Really glad to see I'm not the only one. I don't have any recommendations for linear algebra, but for stats and probability (which I always found intimidating in the past), Allen Downey's "Think Stats" and "Think Baye…

For LA a great place to start is http://codingthematrix.com/ For programmers with less math experience it serves as a perfect transition with which to then go into more theoretical aspects of LA.

A Coursera course based on that textbook, taught by its author, just started a couple days ago.

Re: A Software Engineer’s Adventures in Learning Mathematics

#116

The comments are amusing. It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require. My understanding was that to call yourself an engineer one must be capable of building robust and efficient things, whether that thing is a plane, or a bridge, complex software, even a website, matters not, so long as it is robust and efficient. The de…

> It seems there's a popular opinion that to be an engineer requires a higher understanding of mathematics than what most mere mortals require.

> build an maintain an API in Go

Unfortunately, a much larger proportion of engineering jobs require mathematics than you make it seem. Software engineers seem to forget that engineering includes designing planes, bridges, cars, lasers, electrical circuits, materials, and a million other things that require you know mechanics, statics, statistics, logic, linear algebra, differential equations, etc.

Re: A Software Engineer’s Adventures in Learning Mathematics

#117
post #78

This topic comes up every so often. I think my previous comment applies here [1]: I started a Math degree after 16 years of programming without any Math beyond high school (the highest being high school calculus). Most of my work as a software developer didn't require any "higher" Maths. Once I began studying math, including Modern Algebra, Analysis, Graph Theory, Category Theory, etc., I realized I understood many t…

I'm in a similar boat as you. I went up through Calculus in school and hated it. Around 5 years ago I developed a strong interest in learning relevant applied math and have been enjoying it since. Some things I'd add: 1) Math is fun! If you have the aptitude and disposition to enjoy writing software you'll love working out math problems. They're little nuggets of mental stimulation that you can work on with just some…

Re: 4). As a pure mathematician, I would argue Calculus and Linear Algebra are the father and mother of pure math as well (okay maybe not logic).

Re: A Software Engineer’s Adventures in Learning Mathematics

#118
post #37

Earlier quoted context omitted.

> Usually good books travel from English speaking world to other languages as translations Yeah, no. Usually good books get translated, period. From Homer and the Bible to Pascal, Leibiz, Dostoyevsky, Godel and Einstein, good books fly the other way around all the time.

>Yeah, no. Usually good books get translated, period. Great books certainly get translated in every direction. But for merely good books, I wouldn't be surprised if readers outside the US consumed more books translated from English than readers in the US consume books translated from other languages.

Why?

I don't think so for the simple reason that academic books in English usually aren't translated because people in countries outside of the US can read English. Even academic books that do not have any native English speaking authors are usually written in English. Books are more likely to be translated to English than from English, because translating to English multiplies the size of the audience many times, whereas the other way around does not.

Re: A Software Engineer’s Adventures in Learning Mathematics

#119
post #85

Earlier quoted context omitted.

I understand where this feeling comes from. You worked hard to earn what is (or what should be) a title with prestige: engineer. I too worked hard to earn degrees in engineering. I try to live up to that title every day, and I'm sure you do, too. But my years of engineering experience have shown me that the title "Engineer" is really more about how you approach problems and what you do to solve them and less about de…

Right, I understand your point. I said in an earlier post that an engineer is one who obtains an engineering degree from a certified university. I realize that it's pedantic and elitist, and there's definitely a part of me who thinks it's idiotic. Because it is. It's a title, who cares right? It doesn't lessen the worth of my degree. I've been trying to come up with valid reasons for why it's important for only peopl…

To say that a professor is the best person to learn from isn't 100% true. I had a linear algebra professor who simply lectured by reading straight from the book and then occasionally drew the diagrams. Alas, he apparently was a valuable research professor and had tenure, so there's little that could be done. In this case, the professor was hardly the best approach towards learning the subject.

And as for experience, well, in the case of a CS student wishing to enter industry there's a good chance that the majority of your professors never even worked in industry. So if you're looking for people with experience to learn from, well, then you're in quite an unfortunate situation.

This led me to conclude that a degree offers no such guarantee that someone knows something. It offers a guarantee that someone was introduced to a number of concepts and demonstrated an understanding (or knack for cheating, cramming, what have you) good enough to pass and move forward. This is why I shudder at the thought of hiring old classmates who had to be hand-held through their 4 (or more) years of university, I know better despite what their degree might say.

Which is why that people who earned a degree...earned a degree, that's it. As far as I can tell they have no right to call themselves an engineer until they begin to practice engineering and practice it well enough to demonstrate the value of their thinking.

Re: A Software Engineer’s Adventures in Learning Mathematics

#120
post #62

I don't mean to go off track here, but as someone who's been casually interested in math, I'm wondering which branches of math are the most applicable to software development. I've taken Discrete Mathematics, Stats, and Calc in college, but now I've been working in the field for a few years and want to try learning a bit more. I've been thinking of trying some courses on Cryptography, but it would be a major shift fr…

Regardless of your current state of mathematical sophistication, learning more linear algebra always helps you as a developer.

You might get something interesting out of learning category theory and Haskell.

Post reply on HN