Live data from Hacker News

A Software Engineer’s Adventures in Learning Mathematics

medium.com

61–70 of 227 posts

Re: A Software Engineer’s Adventures in Learning Mathematics

#61

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…

> The range of problems I could tackle as a programmer was limited by math. It turns out this was partly true. Would you mind expanding on this? I've often thought about going back to school for a math degree, or at least for the core degree courses. Did functional programming, particularly in a pure language like Haskell, become easier to reason about once you had studied Category Theory in depth?

[deleted]

Re: A Software Engineer’s Adventures in Learning Mathematics

#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 from my current background (web dev).

I feel like there's so many different directions to take, but which ones are the most applicable to practical Software Development? Particularly in the realm of Web Development?

Editing my question to ask what's the most applicable math subjects regarding the _PRACTICAL_ applications of software development, hopefully clears it up a bit.

Re: A Software Engineer’s Adventures in Learning Mathematics

#63
post #49
post #29

Usually good books travel from English speaking world to other languages as translations. One of the masterpieces that has gone the opposite direction is: Mathematics: Its Content, Methods and Meaning (three volumes bound as one) by A. D. Aleksandrov, A. N. Kolmogorov, M. A. Lavrent'ev (18 authors total) http://www.amazon.com/Mathematics-Content-Methods-Meaning-Do... This book is really good companion for autodidacts…

I own this book and I'll tell you it's not easy learning math from this book. Most of it is just very light overview. There are much better rigorous textbooks that are simpler and more complete. There are some great textbooks translated from Russian. Analysis by Kolmogorov, (rigorous) Linear Algebra by Shilov, Complex Analysis by Markushevich to name a few.

That's why I said it's good companion.

The book covers too much to be thorough. Each chapter gives good introduction to the subject matter and ends with list of suggested reading.

I always read the relevant parts from this book before going deeper. Not everyone is going to dwell into non-euclidean geometry, functional analysis and topology.

Furthermore, I don't think typical self studying engineer in Hacker News wants to learn math using rigorous introduction to analysis. You can get good working knowledge and intuition without knowing what delta epsilon is.

Re: A Software Engineer’s Adventures in Learning Mathematics

#64
post #55
post #3

I always thought that being an Engineer assumes you have knowledge of mathematics. The way this word is being used in Software ist kind of strange. "I built a blog in php, I'm a Software Engineer" - this feels kind of awkward to me.

And that assumption is wrong. You don't need any knowledge in advanced mathematics to engineer many types of software, that doesn't make the creator less of a Software Engineer. Being an engineer means using technology, science, mathematics to solve problems. Well in many cases you don't need math to solve these problems. The word itself as no root in math either, it's based on latin for devise/contrive, sure it was…

I love this answer. I find technologists can often be complete snobs about their particular niche of expertise. Math, computer science, computer engineering and software engineering are each way too big for anyone to be a true expert in any of them. I find once you've spent some time learning multiple disciplines you tend to realize how little you really know and become a bit humble about your own abilities.

Re: A Software Engineer’s Adventures in Learning Mathematics

#65
post #63
post #49

Earlier quoted context omitted.

I own this book and I'll tell you it's not easy learning math from this book. Most of it is just very light overview. There are much better rigorous textbooks that are simpler and more complete. There are some great textbooks translated from Russian. Analysis by Kolmogorov, (rigorous) Linear Algebra by Shilov, Complex Analysis by Markushevich to name a few.

That's why I said it's good companion. The book covers too much to be thorough. Each chapter gives good introduction to the subject matter and ends with list of suggested reading. I always read the relevant parts from this book before going deeper. Not everyone is going to dwell into non-euclidean geometry, functional analysis and topology. Furthermore, I don't think typical self studying engineer in Hacker News want…

Well, there is no shortage of very good and VERY SIMPLE and rigorous intros to analysis books out today:

How to Think About Analysis by Lara Alcock.

Understanding Analysis by Stephen Abbot.

Mathematical Analysis and Proof by David Stirling.

Numbers and Functions: Steps into Analysis by Burn.

Analysis: With an Introduction to Proof by Steven Lay.

A First Course in Mathematical Analysis by David Brannan.

Re: A Software Engineer’s Adventures in Learning Mathematics

#66
post #29

Usually good books travel from English speaking world to other languages as translations. One of the masterpieces that has gone the opposite direction is: Mathematics: Its Content, Methods and Meaning (three volumes bound as one) by A. D. Aleksandrov, A. N. Kolmogorov, M. A. Lavrent'ev (18 authors total) http://www.amazon.com/Mathematics-Content-Methods-Meaning-Do... This book is really good companion for autodidacts…

This is a good book, although I agree with others that truly learning from it would be difficult. If you like this, another book you might really enjoy is the Princeton Companion to Mathematics.

Re: A Software Engineer’s Adventures in Learning Mathematics

#67
post #38
post #33

I don't get the title. At least on my home country, a Software Engineer job title implies a CS degree with at least two years full of math.

In real life, a software engineer can finish his studies and get a job with only a tiny knowledge of math, in every country, regardless what the curriculum says...

Tell that to the HR guys or the order institution that validates university degrees and who is allowed to sign projects.

Re: A Software Engineer’s Adventures in Learning Mathematics

#68
post #51
post #33

I don't get the title. At least on my home country, a Software Engineer job title implies a CS degree with at least two years full of math.

I'll go a different tangent from the other replies, which is there's a whole lot more to math than two years. By analogy a business school IT degree is two years of cs plus a bunch of biz classes instead of compilers and automata theory (it varies, huge simplification, etc) However, its possible to study CS at higher levels for immensely longer than the two years an IT grad will get.

A software engineer degree on our case used to take 5 years.

Now with Bologna reducing the degrees to 3 years, the title requires 3 years Bologna + 2 years master as workaround to keep the old 5 years.

Re: A Software Engineer’s Adventures in Learning Mathematics

#69
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…

I feel like that might be the wrong question. If you wanted to really study formal computer science you could learn things like model theory. If you want to study the analysis of algorithm run times you may want to study something like complex asymptotics. Do you want to study math for computer science or do you want to study math that helps in most applications of computer science (graph theory, linear algebra, etc etc).

Re: A Software Engineer’s Adventures in Learning Mathematics

#70
post #34
post #3

I always thought that being an Engineer assumes you have knowledge of mathematics. The way this word is being used in Software ist kind of strange. "I built a blog in php, I'm a Software Engineer" - this feels kind of awkward to me.

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.

In some countries it's illegal to call yourself an engineer without having an engineering degree. The degree is "protected" by the government and can only be acquired from certified organizations (like universities).
Post reply on HN