We also read these kinds of rebuttals almost every day. The original article made a number of substantive critiques about where AI falls short in the actual requirements for building maintainable, reliable, business-critical software. So its not enough just to point to newer models without explaining how the newer models solve these problems. Can the new models take full end-to-end ownership of a system? If not, how do they solve the problem of humans taking ownership of AI generated code?
Yes they can and tomorrow the models will be better. By the time code hits prod and is used in anger the frontier will have moved.
It’s really not an acceptable opinion to have, that one day we’re going to be developers drowning in ai generated code. That’s a problem for opus 6 in 4-5 weeks time.
Developers are still very much needed, business people just don’t have the chops to wire a deterministic system together. But acting like some poor class naming or 2k loc file is the disaster it once was is dated.
can't be sure the development continues. As much as opus got better at programming the less I understand the output. it keeps inventing terms and skipping steps for the reader to understand what is written properly.
I also feel like progress in programming is becoming a lot slower now.
If anything, the core job of most software is to reliably and repeatedly do the thing a user wants. Bugs outside eof that are OK, but a software that doesn't Do The Thing is useless.
LLMs increasing bug density in exchange for more features is likely a terrible tradeoff for most software people use IMO.
I think its easy for us to think we can understand what a program is going to do when we're dealing with high level abstractions. I think if we really came to grips with everything the program is doing all the way down to the hardware level, we might have less confidence that we can predict what its going to do with 100% accuracy every time, even in the case of supposedly simple programs.
Well, of course at the real hardware level there will be some non-zero amount of nondeterminism, but the error correction steps that have been implemented are enough to make the probability of it behaving contrary to the design of the hardware, low enough to be pretty negligible.
And if you want additional assurance (due to, e.g. the computation being very long) you could probably use some cryptographic techniques to produce a certificate that the output is as it should be, and you can check that certificate as many times as you want to avoid possible random hardware errors in the process of checking the certificate.
I think there are two ways to interpret this question, not sure which one you meant.
Question one: if you don't remember being conscious, were you actually conscious?
Seems the answer should be yes. Just because you don't remember something doesn't mean it didn't happen.
Question two: can you be conscious without something like memory?
This one I think may depend on future understanding of what consciousness is. It seems like consciousness without any memory would be consciousness without anything like perception.
There's a lot of wisdom in this. In addition to reserving some capacity for when true high-value work comes along, I think software engineering is not the type of job that you can do well if you're constantly busy. Trying to write some code as quickly as possible seldom yields the best design. This article doesn't get into another important aspect of this, which is how to get away with working at 80% capacity without getting in trouble with your manager. This takes a bit of care around communication and estimation of work. One of the first good pieces of advice that I got from older seasoned developers when I started my first real programming job has stayed with me to this day: take your estimate of how long it will take to do something and double it before communicating to your manager/users. As you get more experienced that ratio can come down to maybe 1.5x instead of 2x, but the principle still applies.
Kent Beck (maybe in Good News Factory but also in talks) that his team would never commit to more than half what they think they can get done. This is a good way to sustainability. And that's the optimization and precedent to set; that we are here for the long term, delivering steadily at a sustainable pace. It's a long game, and over promising only runs down trust, which is your biggest means too getting the space we need as Devs.
Under promise, build trust that we can do what we say, earn the space we need to not burn out.
Honestly the more senior I get (Lead), boundary setting and preserving my attention; not burning out, _is_ the job. Because there are myriad ways to do this to yourself.
Yep, if you want to run a sustainable business you don't look to fire on all cylinders all the time, but that's the rub, almost no owners are looking to run a sustainable business anymore.
Most people either want hypergrowth idiocy or to be bought by the people doing hypergrowth idiocy.
Setting consistent expectations means you can plan, you can actually reasonably budget, you can have predictability in your business dealings - if you are trying to run a good business these are all real features instead of "puts out more code that might or might not make us money, but at least we were pulling all nighters and adding perceived meaning to our lives!"
AI has made this way worse - now the thinking is "well, the agent is doing all the work, why can't the engineers make sure it is running on all cylinders all the time, churning out useful code"
If students are allowed to use AI to accomplish their goals, then I think the real question is why should they go to an expensive university for four years to learn how to ask AI to do something?
very fair question. But that's on the university not the students, as in the faculty shouldn't be complaining about the students, but adapting with the times.
The title may be needlessly aggressive. I think Rovelli could have framed this better by acknowledging there is a hard problem and then arguing that we have a better chance of resolving that problem by seeking a better understanding of conciousness as a physical process before drawing metaphysical lines in the sand. Or as Rovelli memorably puts it: "How can we know now what we would understand if we were to understand something we do not currently understand?" His point is that science is inextricable from subjective experience and subjective experience is inextricable from the physical world - a point made over 100 years ago by William James.
I'm currently reading (and enjoying) "How Life Works: A User's Guide to the New Biology" by Philip Ball. It proceeds from the bottom up: the first half is all about cells and smaller structures. Pretty readable but doesn't gloss over complexity.
I don't think the author is missing this distinction. It seems that you agree with him in his main point which is that companies bragging about LOCs generated by AI should be ignored by right-thinking people. It's just you buried that substantive agreement at the end of your "rebuttal".