12 pointsby JohnDSDev2 hours ago14 comments
  • lubujackson2 minutes ago
    Instead of saying "all of it", let me differentiate what is important to learn in your bones and what is more or less solved (or at least secondary).

    You need to understand abstraction layers in the code and how to mentally navigate between them. Every change I make to code goes through a battery of concerns at different levels and perspectives: does this cause any security concerns? Are there unintended downstream effects? What is using this code I changed? How does it affect users? Are there performance concerns? Are there edge cases I am not considering? Can this be done in a cleaner way? Did I make something hard (encode logic/values) that should be soft (config setting, database value)? Are errors being caught? How are errors tracked and observed?

    It is most necessary to know the right questions - an LLM can help solve them. Be excessive and wasteful with questions until you internalize when they are helpful. You will be surprised at the things you didn't consider even with small changes to an existing codebase.

    You need to be able to read code and reason about it. If I was learning to code now I would spend most of my effort on reading code and conversing with an LLM to explain logic I don't understand, generate Mermaid graphs of code architecture, etc. You can rapidly level up by using LLM to help fill gaps in understanding.

    Before all that, you need to know the basics: loops, data structures, variables. You need to understand tech stacks, how and why different layers are distinct (frontend, backend, database, logging, infra etc), how the communicate and how data passes through them.

    In other words, architectural understanding and reducing "unknown unknowns" is the priority. If you know you don't know something, it is increasingly easy to address it directly, even if it takes a few more iterations.

  • MikeNotThePopea minute ago
    You don’t need to learn how to code if you’re not working on anything important & interesting. But you’ll be limited to what AI can do for you. If you need to solve problems where AI is weak, you’ll need the skills to do the work yourself.
  • dosisking11 minutes ago
    90% of "Senior" Programmers are not very good programmers, but they think that they are, and look down upon "Junior" Programmers.
  • jonfw40 minutes ago
    Just like math is learned by solving equations, software engineering is learned by writing code

    Due to technological advances, solving equations stopped being a marketable skill, but understanding mathematics is as important as ever.

    Software engineering will follow a similar route as math- the marketable skill will no longer be to write code, but writing code will be necessary to understand the big picture and build the marketable skills.

  • al_borlandan hour ago
    Learning how to code will teach you how to break down problems and think in the way you’ll need to think to use and review code form AI. It will also teach you the language needed… not just the syntax of a programming language, but what is a function, variable, loop, conditional, etc. This will help you better talk to the AI and understand it. Trying to describe a concept you don’t really understand, when there is a simple word that can be used, will save a lot of trouble and headaches.

    I’d learn as much as you can without the help or use of AI, to build a solid foundation. If AI falls on its face, you’ll be ahead of all those who didn’t do that. If AI ends up being great, you’ll be able to better utilize it if you speak the same language.

    As far as I see it, there is only upside to learning. Even if you’re not going into the industry, learning to code helps the thinking process in a way I think almost anyone can benefit from.

    • an hour ago
      undefined
  • alfanickan hour ago
    All of it. AI is magnificent in hands of a skilled coder. And absolutely crap in hands of someone who has no clue how computers work.
    • dieselgate32 minutes ago
      I agree with "all of it" and am, respectfully, more than a bit annoyed when this question is asked because it's common. We still learn math while having calculators and there are myriad other examples illustrating the same basic point.
  • CM30an hour ago
    There's still a lot of value in learning to code here, even if AI becomes the norm at certain companies.

    Remember, you want to be able to understand why your system isn't working as intended if the AI screws up. You want to be able to make changes yourself without relying on Claude or Codex to do everything.

    And you especially want this given that these services are operating at a loss right now, and prices are steadily increasing. How long til some companies restrict usage to keep costs down? How many companies can afford to pay whatever these services ask for?

    Ideally local models and systems would make things cheaper here, but the gulf between what's available there and through the larger providers is still pretty big, and the requirements for a good AI system are higher than many people can afford on their own.

  • Liz595an hour ago
    Even with coding agents, I think beginners still benefit from learning enough to understand system behavior, debugging, and tradeoffs. In our experience, AI accelerates implementation, but understanding why something breaks remains extremely valuable. But I'll say in 5 years most coding work would be done by agents.
  • dkdbejwi383an hour ago
    Mathematicians don’t skip past the basics and jump straight into differential equations just because we have calculators, nor do chefs eschew knife skills because we have food processors.
  • kstenerudan hour ago
    If you don't know how to code, you can't possibly supervise a coding agent. You'd have no way of knowing if the idioms it used are correct or bolted on from another technology in a weird way. You'd have no idea if there's a better way to do a task using features available in the standard library. You wouldn't know if you're using a hammer for a task that requires a screwdriver.

    The same goes for learning your second programming language, and the third, and the fourth...

  • ridiculous_lekean hour ago
    Enough to get through CS101. Databases, networks, operating systems, and all that hardware will certainly be around. Agents can work through them but the trust deficit will still be present(unless something fundamentally changes). So, learn coding but don't get obsessed with it.
    • idontwantthisan hour ago
      > Enough to get through CS101. Databases, networks, operating systems

      I don't know what CS101 you took but that covers multiple years of university for me.

  • cactaceaan hour ago
    I see this question as akin to "do I really need to learn basic flight skills when my A320 has autopilot?". Yes. Yes, you do. For exactly the same reasons. AI is workload reduction the same way that autopilot is workload reduction when used as intended.
  • bigstrat2003an hour ago
    You must still learn how to program. LLMs do not actually know or understand anything, and so they insert mistakes all the time. To ensure the code is good, you have to review it, and you can't review it if you don't understand it. If you don't learn how to program, you're going to be setting yourself up for a world of hurt when the LLM starts doing a bunch of stupid stuff but you don't know enough to catch it.

    Also, you didn't ask but: be careful about going into tech. 5-10 years in the future is probably far enough that we will be able to see how the AI craze impacts jobs, but right now it's a very uncertain career which is at risk of going away because the business people think they can just have AI do everything. They can't, and they will learn that the hard way, but that will be cold comfort if you're out of work in the meantime. So be careful about choosing this field, it's hard to know what the career potential is like right now.

  • jalospinoso33 minutes ago
    [flagged]