AI-assisted coding will change software engineering: hard truths
newsletter.pragmaticengineer.com
newsletter.pragmaticengineer.com
Oh no. We will have to endure another sort of AI slop infesting the web? It's bad enough as it is. Most smaller web sites are already broken in tiny ways. Who hasn't had to break out the browser debugger just get past some web sites broken order page?
Sloppy reviews, images, chat bots, and phishing are everywhere now. In this brave new world someone no computer experience tinkering a home with can produced a beautiful looking web site that's broken it 1000's of ways, we are going to be overrun with this crap. And they are going to be harvesting login email addresses and passwords.
It's going to be a rough decade.
I heavily doubt that if I look left and right. They are prompting them in a browser, but few have adopted AI in their toolchain yet.
> “Software engineers are getting closer to finding out if AI really can make them jobless”
It might indeed partially work if people are able to describe a problem and prompt an AI. Do they know how to describe a problem and prompt an AI, rhetorical question?
In practice is does indeed allow other engineers not in software to churn out some scripts and they mostly are of good or at least decent quality. But for complex work or integration, the AIs just lack any context that is needed for the specific problem to be solved. Still, AIs do help the developers themselves.
But I think the opening of the article is important, it asks why products aren't getting better [0]. We all feel this, right? There's so much low hanging fruit that could make our lives less frustrating but is never done because it isn't flashy. Like Apple, you got all that AI but you can't use a regex to merge calendars? Google, you can't allow a test task to be made in the past (extra helpful when it repeats). Wikipedia still uses the m address and you go to the mobile site from desktop if you don't manually remove? I could go on and on but I think we're just in the wrong headspace.
[0] imo products are getting worse, but that decline started before GPT
Yes, and it's not going to change until the motivations and methodologies that drive the corporation change. All these LLMs are just reinforcing their MBA mentality, which is to try to do more with less, which just ends up being more enshittification.
The money people only care about one thing, and one thing only. I say that the only real qualification for being a manager is to be willing to prioritize money over people. I've had exactly one good manager in my career, because he knew his role and respected that I knew and was passionate about mine while respecting his.
A main problem with all these huge software companies is that they are too busy chasing new features while letting long-existing bugs remain the bane of the users' experience. There's no "lets fix the current issues before we embark on new projects" mentality. I literally encountered this exact mentality in a dumb little marketing company 25yo. Different time, very small company, same dumbasses running the show.
When large software tries to be adapted beyond its initial design specs, it will eventually collapse under its own weight. At some point, a fundamental redesign must occur to prevent change grinding to a halt.
> There's no "lets fix the current issues before we embark on new projects" mentality.
Yeah I think this ends up being just monopoly behavior. Like a few times a year I drive through The Bay and every single time am left wondering "How is Google Maps so bad here?" Things like it'll tell me the exit number but numbers are small and names are big (give BOTH. Different strokes for different folks?) or how it'll tell me to get into one lane and then want me to make an impossible turn from that lane. There's a freeway interchange where for years it has told me to use either lane and the exit is literally two lanes with each one going a different direction...It comes off as feeling like no one is dogfooding their software. Which to me says something really really bad. Either no one internally is using the software they are building (so don't believe in it), no one is paying attention, and/or internal reports are flat out ignored. This should kill any business that doesn't have a monopoly.
It is crazy to me that they push new features with the justification of better user experience while there's a lot of stuff that can be done to make user experience better for cheaper, faster, and is far more impactful.
Sure, there's cool things like when I jump on WiFi my friend's iPhone asks them if they want to share the password with me, but are we really so fucking dumb that we think we know what is happening on each other's screens simultaneously as ours? And that "whoops, I backed out" or "whoops, I clicked off the dialogue" and then you can't repeat the process so I got to manually type in the damned thing anyways? Or just today, I was listening to music with my partner, turned on airplane mode, it turned off bluetooth, I turned it back on, and then I had to click "share" again and she had to... again pair her headphones. Even though she's in my family (they still haven't figured out that I don't care that her airpods are following me and that my airpods in my pocket are not in fact lost). There's so much of this fucking shit that every day normal people (aka my tech illiterate parents and family) complain about (and me!). I think a problem is that we also dismiss "complainers" on software teams. You need at least one grumpy fucker. The one that's not saying things are impossible, but the ones that are saying things are broken AND trying to fix them. We have too many people that are just putting their fingers in their ears and pretending problems don't exist.
And don't get me started on ML (being a ML researcher myself). I don't understand how this community can confidently claim to control "AGI" (or even Stupid AI (SAI)) when details or issues are not just ignored, but we gaslight people who bring them up. Our fucking job is to recognize limits so we can fucking fix them...
"Now we're two." --Batman
Just want to make sure we're on the same page ;)
I can say with certainty that I wouldn’t know how to wield matplotlib and pandas with such fluency in an hour, even though I am perfectly able to read the implementation and query for some relevant intermediate results to check my mental model.
Granted this is not the world’s most complex problem, but that is a good example of the domains where these tools are incredibly useful and productive already (I didn’t have to consult the docs even once). So in a way I think of LLMs as very good interfaces to the docs :)
I often feel that the UI aspect of new technologies is underappreciated. All our computers (even grep) are turing complete. This means software engineering is fundamentally a discipline of building better user interfaces that allow us to do whatever we want more easily.
I am always curious how other people experience these things as so useless :)
> I often feel that the UI aspect of new technologies is underappreciated.
I do too. But I should also mention that the human language interface is not a great UI. I mean how often do you miscommunication with your boss? > other people experience these things as so useless
Who said useless?I really worry when I think of how less experienced colleagues and Excel power-users might approach a pandas/matplotlib workflow with an LLM.
Very normal example from the other week. I've got a big csv of housing data, poking around I spot a bunch of very weird things in the prices: cheap places where I'd expect high prices, a strange bicameral distribution. I spend a few hours thinking about it before taking it up with the colleague who'd provided the data. There's a bug in the scraper that's messed up a bunch of values!
It'd be super-easy to naively run a simple LLM-driven analysis and miss this sort of thing.
When you're "building things" with AI, feedback is immediate. You press a button, it doesn't work as expected, the charts you can quickly run up don't give the same signals.
Its a great tool and saves a great deal of time, but I have yet to go beyond generating snippets I have to vet, typically finding a made up library API call or misunderstanding of my natural language prompt.
I find it hard to pare down these LLM evangelizing articles into take aways that improve my day to day.
I started giving the models api docs and headers before interacting with them and it seems to work a lot better.
But that's not the problem we need to solve. All our programming languages are verbose and stupid. It takes too much effort to solve the problems we do in them.
I get tired of folks drawing boxes and arrows and waving their hands about their designs. I ask for proof that it works they way they say it does and I get nothing.
People seem to like GenAI tools because they can avoid doing the work and get the results. It's like having a genie or a monkey's paw... with similar consequences.
If you don't understand the concurrency problems before you're not going to understand them by staring hard at the code that a chatbot generated.
Sometimes you can get the job done by using a tool like a genie, and that’s awesome (it’s the goal of abstractions IMO). Sometimes you can’t.
You don't always need exhaustive "proof that it works" other than running the thing and looking at the output.
If you can get the job done with an LLM without understanding the code it wrote, then that's awesome. I've seen it multiple times with non-technical people who just want to do some small thing with a Python script. They solve their problem, send their report/email, and move on.
I don’t think anyone would find fault with this argument. People who are wary of LLMs, including myself, are in fact wary of lazyness. Getting the (current?) job done is only a small part of building a system. The fact is you have to maintain it or extract the embodied knowledge later, and that’s where no thought have not been given.
In the Tidy First? book by Kent Beck, he explains that the value of software is both in its current behavior and the future possibilities that the structure provides. If there’s no future to worry about, LLMs may be a valuable tool.
The conversation in this thread was about how LLMs will change software engineering as a profession tho...
Besides, how do you even check the result now without running untrusted code? Every run of the model you need to reverse-engineer the binary?
The hype around LLMs come from the fact that you can command them in natural language. To make it possible, LLMs have to be trained mostly on natural language corpus. And human-readable code is closer to natural language than binary code.
First, a model that produces binary code would be impossible to vet. This is already an issue with "trusting trust" in compilers [1], and would be made worse in the case of companies that constantly tweak their black-box models however they like. At least my compiler can work offline.
But then there's the idea of programming as "turn data into data" that forgets that software has to interface with humans too. If I ask my LLM to give me sentencing guidelines that are "fair" given a set of parameters, no one on Earth should trust a binary they cannot check themselves. In fact, those affected may even have a constitutional right to source code.
Or to take it further, you hire a consultant to produce some work in a given amount of time. You accept the work over time, you don’t feel the need to ask the consultant to turn over all their notes or to plug their brain into a mind reader machine to vet the source. They could indeed be lying and take whatever they learned about your company elsewhere, but we have no protection over that possibility lacking a mind reading instrument today. And society also doesn’t collapse today given that risk.
Or where possible, the selection of an extant DSL?
We are solving a lot of mediocre problems and customers are impressed at that. But that's not the problem we need to solve. There are wars going on, and the climate is changing in undesirable ways, and we have no clue how to organize people, or how we could put modern technology to good use.
Division of labor is fine, I think it's a fairly unique attitude in tech that we have do something (tm) with our skills. No one asks the accountant to get out there and fix climate change.
But I do, friend, I really do.
It all starts with compassion; profit-motive being prioritized over compassion is the source of all this world's problems, from strife to pollution to fascism to oppression of minorities or other ethnic/religious groups.
Both political parties here in America are on the take from various moneyed groups, though the Dems have less disdain for the poor, to be certain. Their prioritization of those interests damages how our government behaves, how it should serve the people of both our country and the world at large.
And look at the fools who are about to run America now, as well as the majority of the commentariat around here, burning up the Earth for their "coins" and "near-worthless" LLMs, worshipping dangerous fools like Musk.
If you want to be a part of the solution, connect yourself with our Creator and learn how to become more compassionate, for EVERY SINGLE ONE of our problems is solely and completely due to a lack of compassion.
So, tech is great to help people but can be (and is being) used to oppress others (e.g. rent collusion), amplify mis- and disinformation, cheat consumers, and so on and so on.
Steel yourself in compassion for all innocent human beings, i.e. the ones not oppressing others and destroying the Earth.
The solution is to stop drinking.
How to succeed in making that solution happen is a separate problem, but the first step in solving any and every problem is identifying its root causes.
For our world, not understanding that compassion must be the fundamental factor under consideration is the primary problem. Once that essential fact is understood, we can then haggle out the solution, but not before then.
With love, all things are possible, if we so choose.
I do have some doubts though -- concepts such as compassion and love have been around since, and even before, Christ and Buddha. I don't necessarily see these concepts as being a robust solution though. Bad things keep popping up again and again, and not everyone is equally well off.
And even that's not true much of the time.
We are solving a lot of mediocre problems that product owners and shareholders are impressed at.
We can do a lot better. More time solving problems, less time satisfying what is effectively a trite extrapolation of theoretical languages from the 60s
But lately I have cut down their usage and gone back to writing stuff by hand.
Because it is so easy to apply the changes the AI suggests but there's this subtle shift over time in the code base towards a non-optimal architecture.
And it becomes really hard to get out of.
The place where I still use AI quite a lot is autocomplete but of the intelligent kind like if I am returning a different string for each enum, all of that gets autocompleted really fast.
So line completion models like what JetBrains provides for free is I think the right balance. Supermaven also works well.
It's incredible that people still haven't figured out or won't accept or plan for technology to continue to improve. Especially given how obvious the rapid improvement in this area has been.
Having said that the article seems to accurately reflect what it's like using the current tools.
But how could anyone reasonably expect the situation to be similar 3-5 years down the line?
If they just didn't frame it as a prediction then it would make sense.
We can’t, that’s why we are talking about the current capabilities. I remember using Dragon Natural Dictation software before the year 2000, I was young and it blew my mind away with the possibilities. 27 years later it still has not lived up to my young imagination. (It has gotten a ton better, no doubt, and will continue to with more AI)
Is it possible you missed some of it? The entire last half is dedicated to predicting the future based on an agentic future that's (as the author notes) "a big unknown" as we have this conversation.
But he does not override his initial premise of doubting that things will change significantly from the current uses in the future.
It's not really unknown, there are several popular tools, and we can expect them to be more reliable and useful as better models continue to be rolled out.
Also if you are writing about the future then you should look beyond next year.
Everyone should anticipate that there is a strong possibility that we continue on a similar trajectory of improvement.
Therefore it is NOT reasonable to expect that things won't change dramatically in software engineering, because the trajectory is very rapid progress.
Within the next 3, 5, maybe 10 years, many existing jobs including software engineering may be replaced by AI. That's the direction we are headed and any article should take the possibility seriously by now.
That just depends how optimistic you are about rate of improvement. Folks who think we are on the cusp of AGI predict that improvement will be exponential. Folks who think that Moores law will keep up with training costs predict improvement that is somewhat linear.
On the other hand, folks who are looking at the rate of change of current LLMs think we're running out of training data, predict that improvements are more likely to be logarithmic, and we're already in the flattening section of the curve...
They started running out of data, then curated it, then spent more time on inference. There are many small and large innovations that continue to improve performance as each improvement gets implemented and maximized and the gains flatten out and then increase again.
Some are using giant SRAM chips. They will then connect them with optics. When that doesn't keep up with demand, probably memristors or something will be scaled to be the next paradigm.
Look at the massive improvements made by the DeepSeek team to the open source SOTA recently.
What people fail to realize is despite what we've done is incredibly and no easy task, it's "the easy part". And progress is unfortunately constantly like this. Because as we progress we are effectively solving higher order solutions. Solve your Taylor series problems. If you've done up to 4th order and still need 5th, everything previously is (usually) "easy" in comparison. Getting to the 6th is no different, and so on. And of course it gets harder, we made progress! The naive part is to think the future will be as easy as the past looks in retrospect, not as hard as the current state looked a priori.
They think more than that. They think that the mechanisms embodied in LLMs only require exponential improvements to reach AGI.
Lots of very smart people don't agree with that at all.
People's confidence is no indicator of their intelligence. See Dunning-Kruger's landmark study for how human nature in modern engineering corps manifests itself in two diametric ways, depending on one's humility and actual hard work.
A major problem is that when someone has the expertise to actually know the truth, the fools of the world deride them mercilessly. See Eugene Parker for a perfect example.
Most people are simply far too stupid to know how stupid they are, and trying to tell them how stupid they are makes them really, really angry.
There are some solid, though not uncontested, arguments that the D-K study itself is fatally flawed.
We can choose to be humble craftspeople that know we can always improve some more, especially as a software engineer; such humility naturally leads to undervaluing our expertise.
And then there are the people who are in the job for the money or social perks and that's all they ever really wanted, so, because they already have the status/money they desired and that's "good enough" for them, they overvalue their expertise.
I'm not a study designer but as a student of human nature, the results they reported are just absolutely correct. Humility and hard work are both causitive and correlated with excellence, whether the person is a physicist, mathematician, engineer, musician, programmer, or just a regular old human being.
I mean, look at the lying, know-nothing, big-talking turd-sandwich we just elected President, my friend. And then look at the people who elected him, and know those fools are just a bunch of rubes who think they're "real smart".
It is said that it is far more difficult to convince a person that they've been fooled than it is to fool them in the first place. The low-expertise folks think they're fooling people with their confident self-assurance.
It is possible to achieve the level where one knows that one knows, and the idiots will attack such a person out of their lack of humility. Eugene Parker dealt with that, as do I, my friend, but I know that I know. And my advantage is that I am always ready to learn more. Always.
Because it's incredibly difficult for people to accept that the career they put years into and love might not exist in 5-10 years. At the current pace, in a few years we'll have something smarter than o3 while no more expensive than o1. Then all it would take is someone to find a nice way to rig it up with short-term memory and wrap it in something like Devin, and then companies would be able to hire the equivalent of a top 1% remote dev for less than 10% of a current dev salary.
Having a system that is accurate a random number of times, is very different than a system that is predictable. There’s just too many use cases where GenAI looks like a great fit, but then you have to have the mental overhead of figuring out if this is the time you lose the lottery.
It’s just… the kind of mental overhead I wanted a machine to take away from me, not add to my life.
If you wrote this about aeroplanes in the mid-1960s, despite the previous 40-50 years of rapid improvement, you'd be wrong.
The same would be true for bicycles, and automobiles - despite decades of incremental and noteworthy-for-specific-context improvements, there's been no fundamental changes in these (and many other technologies) that reflects the early progress. Yes, modern cars are safer, more comfortable, more fuel efficient (sometimes), but they get nothing done that wasn't possible with a car from the mid-1950s.
Why would you assume that the recent past of LLMs provides an outline of what the future of AI in general (not just LLMs) is going to be?
It feels like we are closet to the wooden biplane era, imo.
In the section about the 70% problem, the author writes:
> The good news? This gap will likely narrow as tools improve.
This is not a fact, it's a prediction, an article of faith. It's a common prediction, that these tools will only get better over time, but that's not guaranteed! I think it's likely as well, provided you define "improve" incredibly pedantically, but the unspoken part of this prediction is that the tools will improve _significantly,_ and _that_ part is one I have doubts about.
Honestly, I think it's pretty likely that we've just about hit the local maximum of our current techniques - training newer, bigger models is fantastically expensive and doesn't seem to have the same jumps in capability as earlier generations did, and stringing together a bunch of models in an agent produces frankly only modest improvements for the cost increase.
I've written about "the 70% problem" before (not by name, though), and my biggest worry there is that you require experience and good judgement to be able to use these tools effectively, and these tools by their nature erode that good judgement and deny you the experience. Juniors won't have to work through "the tough parts" of programming and build up the skills required to understand when an LLM is leading them astray, and even experienced programmers can lose familiarity with their own codebases as they rely on LLMs to provide the "understanding." Think of all the times where you haven't had to interact with a service for months, how long it takes to warm back up to it -- what about when that's _most_ of your code, because LLMs have been preventing you from needing to gain any deep understanding about it?
What happens if, in 3-5 years, LLMs don't get significantly better, but we've stopped producing properly capable Intermediate and Senior developers, and even started atrophying the skills of existing Seniors?
(Couple this with LLM-using developers who can move mountains in a day to kickstart new projects and get promoted, but leave behind a trashfire of a codebase for more "classically" experienced developers to clean up and maintain at a much slower pace. That's a problem that's _always_ been in the industry, just magnified due to the power of LLMs.)
LLMs lead everyone in the opposite path and that to me seems to ruin everything.
How very naive. All productivity and efficiency gains will be utilized to push out an ever-increasing stream of new features because that is what drives sales and that is what the business needs.
It is the exact same reason why widening a highway does not actually reduce traffic congestion.
edit: My point was that, since mediocre SWEs make up a large proportion of the workforce, an LLM that performs at the level of "mediocre human" will still have massive implications for the labor force.
Also there's been multiple times where it just forgets a closing parenthesis in a function or tells me a function definition doesn't exist in the code even though it's literally right there.
Namely, a lot of predictions were made around NFTs that just didn’t make sense or were kind of dumb. My pet favorite was this notion that in the future you could bring your NFTs with you to different games and the like. You could buy a Batman NFT costume and have your guy wear it while playing metaverse World of Warcraft. They basically took Ready Player One and ran with it. Besides the fact that this is much harder to do than they could imagine, it’s also kind of a goofy idea.
I feel the same way with predictions made around AI agents. My pet favorite is the notion that we stop using the internet and delegate everything to our agents. Planning a trip? Let an AI agent handle things for you. Shopping? Likewise, let an agent handle your purchases. In the future ads won’t even be targeted at people, they’ll target agents instead, and pretty soon agents won’t even browse the internet but talk to other agents instead.
Is it feasible? I can’t say. I’m more interested in how goofy it all sounds. The notion that you no longer have buyer preferences while your agent gets served ads, or the notion of planning that trip to Rome or whatever and just entrusting the agent with the itinerary as if it won’t come up with unoriginal suggestions.
Work agents make more sense in general, but the sentiment remains.
Which is kind of neat, but it’s being sold as Jarvis and it’s more like an ATM you can talk to.
From personal experience, writing real-life production code is like running a marathon; it requires endurance and rigor. I've seen AI-generated code — it’s more like a treadmill run, fine for practice only. Unpredictable issues, hallucinations pop up all the time with AI code, I have to rely on my own skills to navigate and solve problems.
https://www.sciencedirect.com/science/article/abs/pii/000510...
- The more tasks you automate the less practice people get in doing those tasks themselves and developing the experience in executing them.
- Yet, experience becomes more important as issues/exceptions occur (which they will)
- Ironically, when people are needed the most they are least prepared to step in because automation has taken over their day-to-day.
Net result might be a reduced supply of 'experience' but demand remains strong thus increasing the price of it.
The article mostly talks about how AI tools can help with new things, but a large amount of software development is brownfield, not greenfield.
What I am interested in as a person teaching a computing course, what is the best way to force people to understand/interact with the code coming from the LLM. I.e. when I give computing problems to students, it is often easy to put the problem in chatgpt and get an answer. In a very significant fraction of cases the code would be somewhat sensible and would pass the tests. In some cases the output would use the wrong approach or would fail the test, but not often enough to completely discourage cheating.
In the end this comes down to the question of what skills we want from people writing code with the help of the LLM, and how to test for those skills. (here I'm not talking about professional programmers, but scientists rather)
Either,
AI will enhance the work of software engineering on a fundamental level, helping SWE projects to be delivered (more) on time and with high(er) quality (I can't state how amazing this would be)
OR
things won't get significantly better, projects still can't reliably be delivered, software quality doesn't get better, etc. (the robots won't be taking our jobs)
It will be interesting to see which future we'll end up.
> this kind of crawling and training is happening, regardless of whether it is ethical or not
Glad we've established that it's going to change our profession regardless of ethics.
> Software engineers are getting closer to finding out if AI really can make them jobless
The capital class is definitely interested in this. They would love to pay fewer of us or pay us less and still get the same results. The question in 2025 might be: why would I pay you if you're not using GenAI assistants? Bob over there accepts a lower salary and puts out more code than anyone else on this team!. They may not care what the answer is: profit is all that matters.
After all, they clearly don't care about the ethics of training these models, exploiting labor in countries with weak worker protections, soaking up fresh water during local droughts, etc. Why would they care about you and your work?
Personally I don't find that generating code is where I do most of my programming work. I spend more of my time thinking and making sure I'm working on the right thing and that I'm building it correctly for the intended purpose. For that I want tools that aid me in my thinking: model checkers, automated theorem provers, and better type systems, etc. I need to talk to people. I don't find reviewing generated code to be especially productive even though it feels like work.
I think code synthesis will be more useful. Being able to generate a working implementation from a precise specification in a higher-level language will be highly practical. There won't be a need to review the code generated once we trust the kernel since the code would be correct by construction and it can be proven how the generated code ties to the specification.
We can't use GenAI to do the synthesis and replace a kernel as we still haven't solved the "black box" problem of neural nets.
The problem I find with GenAI and programming is that human language is sufficiently vague for communicating with folks but too imprecise for programming.
I suspect that in a few years there could be a gold mine for consulting: fixing AI-generated "house of cards" code.
Hope we're all good with the coming wave of security errors, breaches, and general malfeasance that's coming with the wave of GenAI code. You think software today could be better? The current models have been trained on all the patterns that make it the way it is now. And they will generate more of it. We have to hope that "software engineers" can read enough code, fast enough, and catch those errors before they ship. Should be good times.
Every company has its own little special framework crafted by an AI with its own nuances you need to learn, and your skills will no longer transfer from company to company. Gone will be the days when you can swap out a software engineer for a similar one with the same experience in a framework you use. Every engineer coming in has to start from zero and learn exactly how to work with your special paradigms, DSLs, etc.
If anything, the opposite is going to happen: LLMs will cause consolidation and software evolution to grind to a halt. Coders are going to gravitate to libraries and frameworks the LLM generates the best outputs for, leaving a few big winners and the rest going extinct. New language features and new frameworks will be slow to enter general usage because of the chicken and egg problem: there will be little or code in the LLM training corpus that uses them idiomatically until some humans write enough quality code using the new features/frameworks that can be absorbed into the corpus to meaningfully affect its output.
Maybe trying to use cheaper models first and then calling the more expensive models to iterate and get through tests or errors.
I haven't really seen anything like this so I imagine it's a lot harder than I'm imagining.
What I would consider a game changer would be generating USEFUL unit and integration tests. Ideally that used the existing fixtures and utilities already in place. I’ve yet to see that happen even with code the LLM had just generated.
"Short cuts make long delays." --Tolkien
people run their code through it, and it finds a LOT of problems, some of them serious.
and then you fix them and you feel good.
But after that, you have a bunch of problems that aren't real. You either ignore them or the tool starts creating more work exponentially.
I suspect AI will be like that. It will help you a bit, but don't get caught up in it because you'll spend time distracted doing AI things.
1) Analogy - Using chat GPT to do code is like deciding to cross the amazon. You start moving, and half way through you realize the map is wrong. Now you are in the middle of the Amazon, without a map.
2) Reliable Matte Painting / Rough work -> I sketch, so matte painting is what GenAI reminds me of, quite a bit. It’s going to get you half way… somewhere, faster. You have to get to the end yourself.
It’s easier for me to assume that GenAI is going to be mostly correct 70% of the time, and never a 100% of the time. Build and use accordingly.
I’m tired about the chatter about the chatter about GenAI at this point.
makes me think everyone using OpenAI, Anthropic, Gemini API, Mistral, Copilot, Perplexity, etc is dumb or addicted to short term benefits while totally ignoring the long term consequences of paying to train your own replacement while agreeing not to compete
And I agree that the primary virtue of coding with current AI is that it just cuts time that is spent looking through multiple pages of junky search results. It's not necessarily better or more accurate, but it is far faster.
I'd even say that AI coding would be far less appealing if Google hadn't let its search results go to crap over the last ten years.
Google search is a query over user generated content. LLMs generate content. These are fundamentally different things.
Even if ChatGPT was just "lossy google" it is a much better UX than searching documents that google returns, since it can just synthesize what I want to hear in a few paragraphs, whereas with Google search I would have to know what to search and synthesize the response I'm looking for after analyzing a few things. There is an argument to be made here that we are eroding the value of intelligence and thinking for ourselves, but as a _product_ its vastly better, imo.
Whether or not LLMs actually lead to AGI is yet to be seen though. But I definitely think it has reasoning capabilities that you are underating in your comparison.
Some of the buckets:
* The builders, don't care how they get the result.
* The crafters, those who care how they get to the results (vim vs emacs), and folks who enjoy looking at tiny tiny details deep in the stack.
* The get-it-done people, using standard IDE tools, stick with them, and it's a strict 9-5.
...
And many with types, and subtypes of each ^^.
In my opinion, many people have a passion for making computers to do cool things. Along the way, some of us have fallen into the mentality of using a particular tool or way of doing things and get stuck in our ways.
I think it's another tool that you must know how to utilize and utilize in a way that does not atrophy your skills in the long run. I personally use it for learning and allowing me to get an in on a knowledge topic which I can then pull on and verify that the information is correct.