Hacker News new | ask | show | jobs
by brandall10 1104 days ago
"Now, with LLMs, a single system architect/senior developer might be able to do the work of a five person consultancy alone. You might not be able to charge five times as much - but perhaps three times for the same or fewer hours worked?"

This is the point that underscores why the OP is stressing out, and it really is underselling the value GPT adds.

Ignore a consultancy. Consider a team of 5 you might be on. Esp. for greenfields, consider that a team of 1 or 2 could probably be as or more productive.

I'm working on a startup... I was shocked at how much progress GPT afforded me to build out a solution in a day, that likely would have taken over a week of research. It took like 30 iterations to get to a working solution. Unlike a mid-level consultant, I don't ask it to do a thing and it gets back to me the next day... it gets back to me within a minute. Rinse/repeat, incredible progress. Better than pairing with another senior dev, which would still likely take 2-3 days.

Boom, less engineers needed to produce novel products or features, more engineers on the market, depressed wages.

What's absurd is not connecting those dots. It's pretty basic. A business is always looking to increase margins, and with tech, it's almost entirely in human capital. Maybe some will want to move at 2-3x the speed, that's fair. Probably only in good times though.

In short, it doesn't replace all developers... it needs humans guiding it to work, absolutely. But it can certainly replace teammates, and that's the issue if you're working for a company, esp. one that is publicly traded.

Oh yeah, I have 24 years of experience myself professionally, been programming since '82.

3 comments

I am honestly baffled — what kind of program are you working on that can be AI-programmed?

In my experience most CRUD apps are ultra-trivial for the most part in a language with sane ecosystem, you literally just glue together things. That’s one day either with ChatGPT or without - the real benefit are the ecosystem (as per Brooks), that’s not the bottleneck (besides the occasional “this doesn’t work together with that because..”, to which chatgpt is just as susceptible if not more)

I don't want to be too descriptive, but it's not a CRUD app - it's a multi-proc app where each process acts as both a client and server (obviously in separate threads) connected w/ gRPC bindings and has an internal DSL that must be abided to. A communication framework of sorts governed by some very specific rules.

Also, why is there some notion it can only do simple things? My understanding is it's trained on a large portion of existing opensource work beyond just SO posts and the like. It seems too many folks saw it produce code w/ some bug or hallucination. The correct response to this is not "welp, my job is safe". It's to feed that error back in have it correct what is broken. If it builds the wrong thing, explain what is wrong, provide multi-shot examples.

You could conceivably create an agent that takes the generated output w/ tests, runs them locally, then feeds the error back in until there is fully working output. Right now the context window limit would be an issue compared to using the web interface. Perhaps OpenAI or Github will provide that capability as a feature.

I don't think your last paragraph is conceivable actually. Consider what's happening when you give it a prompt. It receives some set of tokens through the prompt and then takes a sample from a very accurately weighted distribution of its very large training set to generate the most likely next set of tokens. When you feed it back in an error in the code it generated, all it's doing is generating a new sample from a new set of input tokens. This time the tokens just include the error which tells it that the output it generated the first time was wrong in some way and it should weight its distribution differently. Usually the error message will contain the some of same tokens as the original lines of code that caused, which will have the effect of causing those particular lines to fall out of the distribution, and then the model will you give you some slightly different code that maybe doesn't fail this time.

It's still going to be subject to all the constraints of all ML techniques. Namely, it's really only capable of interpolating across its training set, not extrapolating from it. And it's going to fall on it's face whenever the distribution of the input data doesn't mirror the distribution of the training data. If it doesn't have lots of close-enough analogs to what you're trying to do in its training set such that the "right" code is tangibly represented in the distribution, you can feed errors back into it for infinity and it will never give you working code.

This might be controversial, but my belief is that if you find ChatGPT to be really good at doing your work for you, your work is likely closely mirroring a lot of code that exists publicly on the internet. Which would beg the question, is what you're doing not easily handled by just importing an existing library or something? Your application sounds relatively complex/niche, so maybe you are actually still doing a whole lot of higher level engineering and distilling your work down into trivial tasks that the model can handle.

In regards to the last paragraph, I saw it happen again and again. Sometimes it wouldn't even be a directly obvious error, but an exception was thrown seemingly unrelated to the actual issue, a proximate cause. Of course that could be related to some SO post that is referenced, but who knows. There definitely is debate about emergent behavior in GPT-4 and it's not quite clear how some aspects work internally.

While it did create quite a few bugs and a couple random hallucinations... and sometimes it would update some piece of code without telling me other parts of the solution were updated (ie. choosing to change protobuf def without being asked to), it was able to fix everything even if I needed to give it a bit of help.

I don't think there is anything I'm doing that is truly novel in isolation, and it's not a lot of code (just a few hundred lines), but I doubt there's anything quite like it in totality out there.

With that amount of experience I imagine GPT is explaining stuff you already know and is thus saving you time.

For something completely novel, or as someone with little experience, it’s going to be harder to get that kind of result in terms of understanding the requirements, writing the prompt, and comprehending the output.

It's something I have little experience with, or at least, it's not in the domain of skills I've used in years and certainly not with the type of tooling I'm using. At a high level I do have good knowledge of what I'm trying to build and how it should operate though. Like I said, it probably would take me about a week unassisted, mostly due to a fair amount of reading and experimentation.
> Boom, less engineers needed to produce novel products or features, more engineers on the market, depressed wages.

Possibly. But software is funny - increased software productivity tends increase demand for software. Perhaps the job market will be saturated, but perhaps the market will simply grow.

Addressed in the following paragraph of that post. Certainly possible, but likely the result will be a ton of new startups than larger tech companies ballooning their ranks - as this gets better, those will either stay the same or be reduced. IOW, the fat big tech comp the OP is stressing over won't really be a thing at scale anymore. Time will tell, but that's my prediction.