Hacker News new | ask | show | jobs
by hintymad 866 days ago
I buy the author's point that we should minimize the time on tactical knowledge, but the following particular point seems over generalized:

> The school model focuses on just in case knowledge.

Take my math education, for instance, I may have wasted a bit time on all kinds of trigonometry tricks and way too much time on conic sections in the analytic geometry classes before learning calculus. But "focuses on just in case knowledge"? Really? What else is really wasted? Most of my math concepts are inter-connected and I used them directly or indirectly on a daily basis. Given range and depth of our education, we really just learn the minimum concepts.

1 comments

I'm pretty sure 95% - 99% of my school education was useless. Most of it went from one ear to the other as well, because I had no interest in something I couldn't apply.

If I needed to do something I was much more effective when I learnt "just in time".

But I had no problems building a web/full stack application when I was 13, despite nothing really preparing me for it.

For most things especially in times today, all you have to do is Google and/or combine Google with GPT.

I've learned much more coding and actual real life problem solving than I learned in school, because it's much more stimulating as an exercise.

I'm not sure why people find studying fundamentals in school useless. And I don't think ChatGPT is the answer to in-depth learning. My experience is that it is the fundamentals that are the most valuable that a college can give to its students. A smart person can learn anything on her own, but for an ordinary student like me, what school teaches is invaluable as it is so hard to learn such fundamentals on my own. A few examples in my line of work:

  - Systems. Yes, you can read papers and case studies and what not. But it will not be easy for one to even tell which part of a paper is the essence, which paragraph needs deep dive, or which claim needs close examination. In a seminar, a professor will work with students to critique papers, to cross examine multiple systems on related ideas, to deeply understand the theoretical bounds and the practical implications, and etc. That kind of experience is just not easily available in other places. Besides, it's just miles easier for someone to tech Lynch's book on distributed algorithms, for instance, with properly designed hand-outs and homework than reading the tomb by oneself. Similarly, it's not that easy to grasp the idea of program analysis if one wants to get in the trench of writing a compiler backend. I got seriously confused in an introduction course on program analysis for all the concepts about lattices, partial orders, abstract interpretations and etc. It's hard to imagine that I'd have the same access or even energy to study such stuff out of school. 

  - High-dimensional stats and probabilities. Again, I'm sure a brilliant student can teach herself, but man, even finding the right accessible material can be hard, let alone digest the fundamental ideas and concepts in such readings without the help of my professors and classmates. 

  - Math, all kinds of math. I'm not sure about you, but math matters in software development. Understanding temporal logic and mathematical logic in general makes doing formal verification much easier. Understanding probability and queuing theory enables me to test and diagnose my systems at a whole new level. Understanding combinatorics makes it really easy to learn data structures and algorithms rigorously. Understanding formal reasoning in general makes it easy to follow the books and papers on distributed algorithms. Linear algebra and numerical optimization and calculus are also important but hard to learn by oneself if a person wants to tap into ML sys. 
The bottom line is, fundamentals expand one's conceptual depth and breadth, as well as the ability to abstract and to dive deep, which in turn gives a person more choices. I didn't start as a system engineer, nor did I know that I would work on internals of ML algorithms. But when opportunities called, I could jump on it. And in the meantime, I regretted that I didn't learn more fundamentals when I could, which made it hard for me to dive to the desired levels.

Besides, even the fun of studying STEM topics is hard to get outside of school. I'm sure one can read about physics and chemistry and what not, but man, having labs and professors who can give you guidance... That makes a whole world of difference.

> And I don't think ChatGPT is the answer to in-depth learning.

I think ChatGPT is perfect for learning. Specifically because if you don't get something, you can keep asking it infinitely without worrying about seeming stupid. You could never do something like that in a classroom. Perhaps you could do it if your parents hired a special tutor with infinite patience for you.

In school my main issue was - my mind wandered for a moment - and now I'm all out of sync and without context. Everything from that point on is just a complete waste of time. And this happened every few minutes, so it's impossible to learn something in school.

> Math, all kinds of math. I'm not sure about you, but math matters in software development.

This is something that I largely disagree with. 99% of common software development doesn't rely on math at all. Or any knowledge of math. And I enjoy maths. Math was my favourite subject in school. Most I've touched maths is if I have tried to do game development or some sort of simulation software for my side projects, but everyday professional work - I have really never needed math beyond the simplest.

> Understanding temporal logic and mathematical logic in general makes doing formal verification much easier.

I think this type of logic is completely unrelated to what is being taught at school which is rote learning of formulas and NOT problem solving. What is being taught at schools is not true problem solving.

> The bottom line is, fundamentals expand one's conceptual depth and breadth, as well as the ability to abstract and to dive deep, which in turn gives a person more choices. I didn't start as a system engineer, nor did I know that I would work on internals of ML algorithms.

I see, if you are working more on that side, it may be true, that you are using more maths there - I've been doing mostly common full stack development, which really just doesn't require maths. While I've tried different ML things, which haven't really required maths at all, I assume you might need maths if you are developing some cutting edge algorithms. But usual ML that I have tried seems to be mostly about trial and error to find the correct parameters intuitively.

> Besides, even the fun of studying STEM topics is hard to get outside of school. I'm sure one can read about physics and chemistry and what not, but man, having labs and professors who can give you guidance... That makes a whole world of difference.

I've found it more fun outside school without the forced pressures and with natural interest...

> I think ChatGPT is perfect for learning.

I usually get stuck on "trust whatever it says". Maybe I'm wrong, but I find myself unable to get over the hump of trust in generated text at all. I shudder to think of the coming decades when a large portion of available information online is created from such systems.

I think there's a substantial difference between "Hey ChatGPT, could you explain Maxwell's Equations" and reading Jackson's textbook and solving the problem sets on the book.