Why, oh, why of all the multitude, the fertile myriad of concepts, mottos, ideas, do we all ways, across technologies end up seeing this represented again? Over and over ...
It will be put on a Voyager disk, next, and sent out to the stars to represent us.-
I wouldn't consider myself an SWE, just an amateur programmer, so this is an honest question: In your opinion, is there such a case where the usage of AI in software engineering has either sped up the dev time or improved product reliability (or even both)?
There's things it can do, so long as you use it as your complement, i.e. all the stuff you know is important you just go "ugh" when faced with. For me, that means unit tests. I can write them, I know why I should write them, I have professional experience with them, I can judge which unit tests are useful and which are make-work and which have missed the point entirely, but I'd rather not be the one to actually write them.
LLMs can write them for me, and I can happily look through them to make sure what the LLM made was neither brittle, nor testing unimportant things while missing the important stuff.
They can also help with code review, but only to a limited degree; a second pair of eyes to avoid lazy people going "LGTM", or the other way around time-wasting feedback from bike-shedders, but as with unit tests, right now you still need to be the kind of person who is happy to double-check its work — if you're the kind who was previously a little too quick to accept pull requests with a "LGTM", you may well be too willing to listen to irrelevant bike-shedding from the LLM or not realise it is missing the point of the code or the ticket.
But if you use it to replace the stuff you're already good at, and not help with the stuff you're weak at, it'll probably slow you down while also making the code worse.
> Millions of programmers out there, and you're saying there's not even a 1% chance that a single one of them is moving 10x faster
Would that mean that every other claim to be moving 10x faster is an exaggeration? It evidently is, as these claims of massively increased productivity are purely anecdotal.
If the claims were ‘5% productive across the board’, it would be huge, but 1000%? That is a ludicrous tall story that requires extraordinary proof.
My point still stands, the author is confidently stating something that's clearly just wrong. The alternative is that everyone is creating tech debt 10x as fast (while being completely oblivious to it.)
It's pretty obvious that's not what's happening. To pretend otherwise would suggest that every software developer everywhere is completely unaware of what tech debt is AND that they don't care at all.
Again: it's obviously wrong if we think about it for longer than 5 seconds. This is just pure emotional cope.
That's a pedantic word game. The industry at-large doesn't track lines of code as a measure of velocity. So, yes, faster does mean more productive, since that's what any sane programmer means when they say "I built it faster". They don't mean that they literally slapped the keyboard faster than someone else.
And yet "slapping the keyboard faster" is all that AI does. It doesn't design architecture. It doesn't think. It doesn't reason. All it does is search for and copy-paste code from elsewhere on the internet. If you're lucky it might even be code that works and does what you want it to.
It can do that. Won't say it's amazing, but it can do it.
> It doesn't think. It doesn't reason.
Can you define these in ways that aren't tautologically limited to humans? I have yet to encounter anyone who has managed this while making such an objection to any form of AI.
> All it does is search for and copy-paste code from elsewhere on the internet.
They provably don't work like that. Both because local models exist, can be run offline, still spit out code to solve problems; and because some world records have been set by them, for some CS-related maths problems the best known method was invented by an AI which used an LLM as a component.
> No, because that’s the point. It’s not intelligent because intelligence is a human characteristic.
A rose by any other name, etc.
Defining the meaning of the word you use to suit your preferences and then gluing to that other people's uses of the same word is not a well-reasoned argument, it's the human equivalent of a failure mode we saw in early AI, where a label saying "taxi" can fool a classifier into thinking a clock is a taxi: https://bliss-e-v.github.io/SCAM-project-page/
Will you choosing a tautologically-limiting definition that equals human, prevent AI from performing well enough to replace you at work? No, it will not: when the AI is good enough to do the work, it will do the work regardless of what you call it.
This has already happened in various other fields that have been automated, even though (a) the consensus is those AI are "not intelligent" and (b) workers before that automation insisted their work required intelligence and could not be automated.
(Plus the same example in the opposite direction: while creationists are busy denying that evolution can work and claiming there has to be an intelligent designer, simulated evolution is a standard approach in machine learning).
> It’s not that they search interactively, it’s that the whole internet has been sucked into the training set.
Training.
As in, it learned. First by reading the internet, then by feedback as it tried to make stuff and was rated by the quality of output.
It would be coherent to argue instead that intelligence is the number of examples one needs before one has learned a thing; by this standard AI is as thick as pond scum (rate: evolution), and even the fact that silicon is faster than synapses by the ratio to which joggers are faster than continental drift only makes up for this where the examples exist.
Unfortunately, this topic is software, and the examples exist.
I don't know if it's 10x, but there's definitely a huge acceleration in productivity. Attempts to deny that are basically just cope, or perhaps from people not using the tools correctly.
If I may ask: In what areas have you found the most acceleration in productivity? For me as an enthusiastic amateur programmer (whose enthusiasm is, arguably, greater than my technical abilities) the only reliable and sustainable way to use AI in building software is to treat it like an exceptionally knowledgeable (though not perfect!), infinitely patient tutor that guides me through programming problems I run into.
The minute I relinquish control and let it just write code for me I am doomed because AI cannot fix its own mistakes in anything of medium complexity or above - and then I have to dig down and try to understand code I haven't written which is, in my opinion, worse than having had to write it myself in the first place.
It's very good for bug fixes. I paste the log into the agent, and it has a good chance of suggesting the fix. I have to review it, but it has been a big time saver.
For new code, I treat it like a very knowledgeable mid level engineer who has a lot of patience to search the code base. We make changes a step at a time and I review them carefully and have it make changes I want. It's still a lot faster than doing it myself.
Our customers run the training on their own applications using a demo or staging environment. Then they install the in-app agent you see in the demos and turn on the tool calls they like. All the API calls are executed client side and never touches any of our servers.
But maybe we if have more clarity on how it is working under the hood, then maybe we trust it. For me its kind of pattern - too many if's but's and maybe's on all the new tools i want to use.
One thing that's often overlooked is the cost of administering a billing system. If you're going to distinguish between the insured and uninsured you need a system that keeps track of who has insurance. You need paperwork (or digital equivalent). You need accounts payable staff to send invoices and chase up unpaid bills. It can, counter-intuitively, work out cheaper just not to charge anyone.
The company offering the ambulance surface. Similar to how a pool cleaning company will send you a bill if you call them and have them clean your pool.
Generally, people who want their pool cleaned do so when they are conscious and have their pool very close to their home address. People who need ambulances are usually in a very different condition. That makes it a different prospect trying to chase payment.
If a subsequent probe fails, the system cross-references threat intelligence platforms like Shodan to match the host and falls back to their specific indexing methods.
reply