Hacker News new | ask | show | jobs
by psadri 24 days ago
Learning to code = understanding a problem, breaking it down into small, manageable pieces, putting all the pieces back together. Debugging. Iterating towards better metrics, etc.

All these are amazingly valuable skills/mindsets that can be highly portable to other "problem solving" domains.

3 comments

Steve Jobs used to say that everyone should learn to program, because it teaches you how to think.

https://youtu.be/BRTOlPdyPYU

Lately I wonder if people should learn philosophy because it teaches you how to reason, what to reason about, and why. Just like with programming, you’re constantly forced to interrogate your impressions and reconsider what you took for granted. It’s an extremely useful exercise. Nothing will show you how wrong you constantly are like testing the logic of a program you wrote.

It’s a bit like learning to program, but without a compiler as the referee or the domain constraints. Maybe that’s where we should put more energy if learning to think is the goal, though I don’t know what could replace the purely logical and verifiable qualities of programming. That isn’t so readily available with philosophy, for better or worse.

We do need people to practice thinking and self-interrogation far more than we do today.

> We do need people to practice thinking and self-interrogation far more than we do today.

I think a lot of people are turning to AI for this, which can be dangerous if they haven’t already developed these critical thinking skills.

Yeah I mean, if you don't know how to code, you just know how to prompt, you have no idea how to tell what's a good solution vs what isn't. The best you can do is have the model figure it out for you. You also have no idea how to design a good API, or how to break up a system into modules, etc.

The issue is probably that many managers can't really tell the difference between a good programmer and a vibe-coder. The vibe coder ships a lot of PRs. Maybe they themselves ship some vibe-coded PRs. They hate the idea that programmers might know better than them.

This. Even before LLMs it was well understood that you don't really understand a program unless you wrote it yourself. There's just no shortcut for it.