Hacker News new | ask | show | jobs
by madlynormal 3435 days ago
I'm a self-taught Software Engineer who struggled with basic Math. It's my goal now to go back and learn Mathematics on a deeper level. I'm reading the Book "A Mind for Numbers" by Barbara Oakley. In one of the chapters she goes into detail about how using your minds visual senses can help with grasping abstract mathematical concepts on a deeper level. Your experimentation with Math and Design, to me, is a perfect example of what Barbara was talking about.
6 comments

If you're still on your quest (as I am), may I suggest a few books:

- "A Course of Higher Mathematics", V. I. Smirnov.

- "Differential and Integral Calculus", N. Piskunov.

- "Problems in Mathematical Analysis", B. Demidovich.

These are amazing, great, books. Demidovich's book is a collection of more than 3000 exercises. Smirnov's book is a course that takes you from what a value means, to advanced topics (5 volumes, in 7 books). Piskunov's book is in-between (course and exercises).

These are the books we've used and went to during the first two years of Engineering.

Chris, are you familiar with Soviet books? If not: I urge you to consider taking a look at these (library, maybe) to get a taste.

Side note: the first few pages of Landau & Lifschitz (vol I) made me cry and feel weak in the knees so much that I had to sit down. I'm being literal in my description: tears in my eyes, and unable to stand.

I don't know what these guys did, but they certainly did something right.

mirtitles.org offers a collection of such books. You could also look on archive.org. "MIR Publishers" is the name you're looking for.

Yes. The way the authors chose to introduce the equations of motion took me by surprise.
Thanks! I will certainly look!
These may be (and in fact they are) excellent books, but they do not necessarily answer the needs of a designer (rather, an engineer), nor they may be suitable for people why are just learning elementary geometry and trigonometry.

Also, there are topics in mathematics that may be more relevant to a software engineer or a designer, such as algebra (in general, and linear algebra in particular).

In my experience yes, linear algebra, graph theory, a little topology, category theory are pretty good. If you do raymarching rendering of scalar distance fields, a new form of rendering I'm currently interested in, there are forms of math different from traditional forward rendering that gives you superpowers: http://iquilezles.org/www/articles/distfunctions/distfunctio...
> Demidovich's book is a collection of more than 3000 exercises

As great as practice is wrt math, that there are over 3k is not attractive to me. I'd sooner a single difficult climb, than many small steps.

Although not directly about Maths, her online course (MOOC) "Learning How To Learn" is also a great resource.

[1] https://www.coursera.org/learn/learning-how-to-learn

I'm reading that too. Really enjoying it. It's kind of a bad title for what the book is really about, which is general learning and productivity strategies.
Check out the books from https://minireference.com/, I'm currently going through them.
Order. After a quick scan, the Authors text seems raw and unfiltered. I'm all for multiple approaches to learning.
That looks extremely awesome, thank you.
Designer here. I took programming in collage as part of my education and remember for the first time in my life, Math made sense. From then on, I was at the top of every math class I took. I started to see that math was logic and also that it had real application in my life. I wish I had that realization earlier in life but like you (and the author) I want to go back and take them again with that renewed perspective and purpose.
> a self-taught Software Engineer

Not to diminish your accomplishments, and I applaud your efforts to educate yourself. I was just thinking how odd it would sound if someone were to say that they were a self taught civil engineer or a self taught chemical engineer. This is just because I'm used to the word "engineer" being regulated, as it is in the countries I have lived in.

There have been and are plenty of “self-taught” civil engineers. We can start with, say, Archimedes, Vitruvius, Simon Stevin, Leonardo da Vinci, or Bucky Fuller.

There are (for good reasons) particular modern jobs which require licensure, but plenty of production engineering work of all types, even today, is done by folks who don’t have a history of school study or certifications in the field.

It’s not like college lecture halls are the uniquely best learning environment in the world.

Some countries, such as Canada, regulate the usage of the term as jordigh mentioned. If you have not passed the rigors of educational requirements and licensure you cannot call yourself that. It is similar to claiming to be an MD in the US.
A quick search turned up multiple job postings with Engineering titles (Software, Test, QA) in Canada. These companies list requirements being a CS/Engineering degree or equivalent experience. Apparently, these companies value production over title semantics.

I'm interested in knowing what you consider the meaning of Engineer to be.

I'm not Canadian, upon looking up the actual rules it is provincial laws. The most well know restriction is in Ontaria and is restricted to the title of "professional engineer". They still frown on it and actually fought Microsoft over their certification titles.

Top result when searching was Quora [1].

My personal view, is it doesn't matter much. I often choose to refer to myself as a Developer, just because of the confusing discussions Canadian Engineers have presented in the past.

Ifind software titles to be unnecessarily inflated, both in seniority and position. The title of Developer or Programmer would be fine in many cases, unless your looking for Architectural roles (can also have similar titular restricitions). Also, many roles could easily drop Senior, often it is just used for mid-level roles requiring some degree of experience over junior roles.

The whole of title structure in the industry is very ego-driven rather than role driven. I often break my titles down to specify my focus area, e.g. Lead API Developer, which includes everything from speccing to infrastructure and tooling (which some generally use as claims of engineering).

[1] : https://www.quora.com/Only-Professional-Engineers-can-be-cal...

These companies should be careful. Are they Canadian companies? Microsoft was famously fined in Canada for advertising an engineering certification when it legally was not an engineering certification:

http://www.canadianconsultingengineer.com/engineering/quebec...

The Professional Engineers of Ontario have this to say about "software engineer":

http://www.peo.on.ca/index.php/ci_id/2266/la_id/1.htm

It's not about "value production over semantics", but about legally designated professions.

Regulating engineering is more than just about the knowledge or value production associated, but it comes with an associated order you belong to and a code of ethics. There's the famous iron ring ceremony for Canadian engineers that is supposed to remind an engineer of the duties of their profession.

https://en.wikipedia.org/wiki/Iron_Ring

If people in Silicon Valley calling themselves "software engineers" actually behaved according to the engineers' code of ethics instead of running towards the self-interested libertarian utopia at all costs, perhaps our current technological landscape wouldn't have enacted all of the abuses it currently does upon the users.

In the U.S., becoming a licensed Professional Engineer in the field of software is fairly rare (I think it may only be a requirement in Texas). "Software Engineer" is a term without the same weight as "Professional Software Engineer".

Having looked into it, I have a 4-year degree from an ABET-accredited institution. There's an exam I'd have to take, 4 years of "relevant experience", another exam, and to be signed off by people who are already licensed PEs. That last one might be the hardest to fulfill. As far as I know, none of the "Software Engineers" who I know are "Licensed Professional Software Engineers".

From another perspective (picking an occupation that is widely licensed), I could pass out business cards that say "Doctor Khedoros", and I think that I'd be fine (legally) as long as I didn't claim to be "Doctor Khedoros, MD", and didn't fraudulently present myself as a medical doctor.

If you can reliably pass an engineering exam then I don't really care how you acquired that knowledge. I'm very much in favor of standards but not credentialism designed to limit the paths to knowledge.
It is an accomplishment. I, too, am self-taught. It means being self-motivated, even more committed and thorough. I think it sounds awesome and so do the recruiters that I hear from.
Some of the best engineers I know are self taught.