Hacker News new | ask | show | jobs
by codingdave 455 days ago
Whenever new layers of abstraction enter the industry, it has allowed coders to distance themselves from various pieces of the puzzle. Back in ye olde days, every coder also knew how to set up the infrastructure to run it, often to the point of also maintaining the hardware. Then along came the cloud. Nowadays, some people still know the whole infrastructure, but just as many only know how to run their local dev and git push. Actually making it run somewhere is a black box to them, and very few people handle everything from the UI all the way down the stack to the bare metal.

AI is going to be the same. We will end up with people who can deliver code using AI, but that is the end of their capabilities. While there will be others who can do that but also put AI aside, dig in, and do much more.

That is not necessarily a problem. As long as teams know your capabilities and limitations, and give you the correct role, you can build a working team.

At the same time... someone on the team has to be able to dig in deep and make things work. Those roles will always exist, as will those people. Everyone will have to decide for themselves exactly what skill set they desire.

1 comments

Previous layers of abstraction were largely reliable and deterministic. Compilers don't just randomly generate assembly. Yes, all abstractions leak, but most of them just drip, while whatever "abstraction" AI provides leaks like a sieve. It would be like if CDK just created or deleted random resources 50% of the time.
This is a massively important point. My dad took a programming course back in the day and had to use punchcards. High-level languages make code easier to understand and debug compared to gazing at a stack of "Do not fold, spindle or mutilate." LLMs are the opposite. If you only learn how to use LLMs, you are not going to be able to understand what's happening or why things aren't working.

I've found LLMs making inexplicable mistakes when writing statistical code, but the code will still run and return a confident result. If you can't look at the code, you won't see, e.g., your hourly time series being aggregated on a daily basis.