DEV Community

Cover image for LLMs will fundamentally change software engineering

LLMs will fundamentally change software engineering

Manuel Odendahl on March 23, 2023

(X-posted from here Heard about Large Language Models like ChatGPT4, Bing, GPT3? I'm sure you have. There is one side of the hype around these ...
Collapse
 
chris2kus31 profile image
Chuy Moreno

Agh, another one of these articles. Everyone needs to chill, AI is just another tool for good developers…..that is ALL. This field has been threatened since css, CRMs, WYSIWG site etc. it has only forced the field to evolve and this is a good thing. Think outside the box, don’t let others determine your destiny.

Collapse
 
leob profile image
leob • Edited

Kind of agree, a little bit, but only to a degree - I think this is much BIGGER and potentially more disruptive than other "tools" or new developments that we've seen, its another order of magnitude ... but yeah, if we learn how to adopt it then it doesn't need to be "destructive" (but still disruptive).

Collapse
 
ingosteinke profile image
Ingo Steinke

This post focuses on programming. While I used to take it as a kind of insult when people told me that HTML, CSS, and web design weren't "programming", now I see the upside. The more creative work we do, I don't mind if the boilerplate API fetch code gets written by a human coworker or an AI. I want to focus on creative, user-friendly, humanistic front-end development, collaborate with designers and customers, and see some nice colorful stuff on my screen.

Of course, "creative" work can be automated, at least the mediocre day-to-day tasks of copywriting marketing texts and building another average microsite for a new product. And again, that's a good thing, because we can focus on the interesting and challenging tasks if the bots take care of the rest.

Collapse
 
truetechcode profile image
Aosu Stephen Terver

Wow! This is so insightful. I'm already using Copilot in completing ocde, and ChatGPT in writing code and of course several other things. I think the potential of LLMs are limitless, we're only just crashing the surface.

Collapse
 
eterychan profile image
Eternia

LLM was never a threat to my job. There's more to IT worker than simply typing away, writing stuffs which can simply be found on stackoverflow/google/bing/chatgpt.

Can it help my boss manage her azure and aws account? Can it maintain our website in my place? It can't. It's not J.A.R.V.I.S. nor F.R.I.D.A.Y.

Collapse
 
leob profile image
leob • Edited

"It can't" - well not yet, that is - who knows how soon it WILL be able to do all that ... this looks like a landslide or a revolution, we can't assume anything.

Collapse
 
victorquanlam profile image
Victor Quan Lam

Soon enough it can manage azure and aws account with ease.

Collapse
 
bklau2006 profile image
BK Lau • Edited

Great article! The best I have read on this subject matter.
Also, incorporate some of my hunches and thoughts.
I think as a templating, prototyping and exploratory tool, LLM is a great help!
The idea of using LLM as an abstraction tool is invaluable.
Also as a DRY tool over code base.
But I think the end user still need to have solid and strong fundamentals to guard against errors.
Personally, I don't think a LLM that gives 100% accuracy is that important but a close 95-97% is good enough.
Even human coders make mistakes.
I posit that in 3 years, LLM will be the new "Agile" or completely replaced or revamped Agile/SCRUM, based software development process/methodology as we know it.
The "shape" of some roles will be changed, some merged and some eliminated.

The key aspect about software engineering is the collective "knowledge, model and abstraction patterns".
However this info is sprawling over languages, tools and architectures.
Having a tool like LLM that "memorized" everything can act as a "Dr. Watson" to a forgetful "Sherlock Homes"

Collapse
 
leob profile image
leob

Good comment especially the last sentence - what LLMs especially solve is the problem of "it's way too much to keep all of it in my head" - LLMs will just "extend your brain" or maybe more correctly "extend your memory".

Collapse
 
bklau2006 profile image
BK Lau • Edited

VERY IMPORTANT:
Kent Beck of Agile development fame had finally tried ChatGPT4 and he said that it made 90% of his skill obsolete!!!!
tidyfirst.substack.com/p/90-of-my-...

Collapse
 
camerenisonfire profile image
Cameren Dolecheck • Edited

One of the best posts I've read one here in a while 👏

This impact is something I've been thinking a lot about lately, especially when imagining the world my infant son will grow into. Only last year I would have said that AI is a long way from replacing programming skills, but my mindset has completely 180-ed and now I am learning to work with these tools. Even reading this has demonstrated ways I can improve at using AI tools in my workflow.

Also, I presume from your website bio that your blog post header images are drawn by you? They are rad! I plan on checking out your music later.

Collapse
 
leob profile image
leob • Edited

Brilliant post ... two points from the article that I want to quote & highlight:

1) We programmers need to understand and appropriate these technologies, on our own terms, before capitalism does it for us

2) I think people worried about junior programmers becoming obsolete should rather be worried about junior programmers replacing seniors

Those two points, for me, somehow capture the essence of the probable impact this will have, and how we need to respond.

Another takeaway from your article - what LLMs solve is the problem of "it's way too much to keep all of it in my head" - LLMs will sort of "extend your memory" - it's vast, collective knowledge at your fingertips, without you having to go out and "get" ('google') it yourself.

What I do think is that it works best with "generic" problems, and generic technologies - which makes sense, because chances of those being 'covered' in LLM's training corpus are higher ...

The trend that I can see, as a result of this, is that "mainstream" tech gets even more mainstream, and nice getting even more niche, because the former is more readily being 'augmented' by LLMs than the latter.

Collapse
 
wesen profile image
Manuel Odendahl

What do you think LLMs will change about programming?

Collapse
 
salehmubashar profile image
Saleh Mubashar

As someone you can call a junior dev currently, I am kinda scared
I don't want to quit this field and there will be always some demand for
us, but I see the job market shrinking rapidly at this pace

Collapse
 
cstroliadavis profile image
Chris

Try not to worry too much. 25 years ago, people feared that programmers would eliminate their jobs. Now there's even more jobs and more possible jobs. AI will remove more of the mundane portions of our jobs. Some employers will say, wow, I don't need as many developers, but most will say, if I add this to my existing employee base, it will give me an edge over my competitors, I will make more money and will be able to hire even more employees.

Most businesses want to get even bigger.

Collapse
 
frankfont profile image
Frank Font
Collapse
 
mrummler profile image
mattrummler

Nope good write up, glad I read it.
I like the insight and am interested to try this myself.
My main struggle has always been not enough time.

I love to refine until my code does something in the most reasonably effective way*
I'm looking forward to utilizing something that has already mostly understood the documentation before I read it... then, when/if it gets some specifics wrong I can go to the documentation myself to figure out what... same as I do now.

Also, most of us think our code is better than it is because we've spent so much effort and time on it... what I read between the lines is this allowed the author to see the value of the code in perspective (though possibly to undervalue the code?).

*(efficient, maintainable, powerful, clean... within reason)

Collapse
 
bybydev profile image
byby

This is a great article! It's well-written and insightful, and it raises some really important points about the future of software engineering. I'm excited to see how LLMs continue to develop, and I think they have the potential to revolutionize the way we develop software.

Collapse
 
robiwankenobi88 profile image
RobiWanKenobi88

Thank you for this article. I appreciate your honest and insightful approach to the potential implications of integrating LLMs into the development process. I’ve read a lot of articles that either dismiss LLMs as being of little use (typically these articles have a fairly defensive tone), or that they will replace programmers all together aside from a small group of senior developers. Your candid observations are much more helpful.

Collapse
 
glstephen profile image
Stephen Johnston

This is a good take on how LLMs will be used for valuable evolution, not destruction of development.

Collapse
 
oddball5353 profile image
Oddball

Really interesting article, I'm curious to see how these tools change the way that people work together. If you don't need to delegate something you can concisely describe then delegation becomes much higher level. I also wonder how we're going to do at maintaining all this stuff we're going to generate :)

Collapse
 
fgfm profile image
F-G Fernandez

Quite an interesting take!
I side with you on the matter of maximizing the usefulness of current LLM-powered systems (feeding it quality context, expressing the problem/task in a meaningful way).

I'm curious about how you things evolve regarding future Copilot-like: you highlight downsides of those systems today, but do you think they will prevail in the long-term? Or are our current context tricks only valid for a short period of time before they catch up?

Collapse
 
jrgrenoble profile image
Jean-Rene Bouvier

Very insightful. Being aware of the fact that this AI is anything but intelligent is key, and your comment #8 at the end of the pitch is fundamental. In the future, the difference between good and bad developers will be based on their critical mindset and how skilled they are at reseting the "need to please" bias of LLMs.

ps: I also get crappy and buggy results out of ChatGPT, but they're usually a good base to start from; hence they do increase productivity.

Collapse
 
badflamingo666 profile image
BadFlamingo666

I'm a big fan of new tech in favor of the broad masses and specifically the possibilities of ChatGTP, it just saved me a massive amount of time in writing a presentation on traits of the various developer roles. For developing tools , drafts, quick POCsand boiler plate code, sure - why not, but questions you should be asking yourself are: where do all the code, endpoints and data I feed the beast with go? Is the data I use sensitive? How do I call the endpoints and with what security? Who has access to it? How do I make sure the system produced is secure? Am I willing to compromise the detailed architecture of a system just to get my work done faster? There are so many aspects of this that are so wrong. Since you still need to know what you are doing (and yes, you still need some kind of education and experience) ChatGTP is effectively just a secretary.

Collapse
 
ews3rd profile image
ews3rd

Insights are accurate. Time to delivering a finished product is now. As a mainframe programmer, I challenged ChatGPT to give up its secrets to error free code generation, and found the keys for COBOL, JCL, SQL, sample test data and delivery of validated test results and other mainframe artifacts. GPT LLM has an unbelievable ability to generate simple to complex code using limited language prompts coupled with template instruction examples. I'm looking for the proactive client who wants to see how quickly a properly designed project can be coded and tested in a few sit-down sessions with the BA and designers.

Collapse
 
coachwayne profile image
~CoachWayne! Evans

spot on brilliant.

Collapse
 
xblabs profile image
Orwell's Ghost

Beautifully crafted set of valuable insights. Enjoyed the read.

Collapse
 
heikokanzler profile image
Heiko Kanzler 🇪🇺

You had me with "pragmatic programmer". Well written, derserves many reads.

Collapse
 
shivk8s profile image
Shiv

great!

Collapse
 
xpil profile image
xpil

Link in ref 6 is broken (wolfram/com instead of wolfram.com)

Collapse
 
wesen profile image
Manuel Odendahl

Thanks!

Collapse
 
datarecove95829 profile image
Camila John

besttttt

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao • Edited

AI (Google News) did something today, which is recommending me to your article. But I think I'm gonna adjust it soon.

Tbh the article starts to feel like your rambling and beating a dead horse since 1/4 of the article. This is just another tool or probably a better version of Google search. I just hope with this new tool, we can get away with using leetcode style of technical test.

Lastly Google's main revenue and multiple media companies revenue comes from advertising dollars. Would you bet that future content or coding solutions will be gated because of the use of such tools?

Note till now, I don't get a reference or citation on where the knowledge or information comes from. This is a pretty big major red flag for writing articles or coding in terms of confidence for such system. Not forgetting the various class action lawsuit they are getting due to this particular aspect of copyright. You can below on video by Coldfusion that covers in details.

Reference
Google Panics Over ChatGPT The AI Wars Have Begun

Collapse
 
kamathba profile image
Benjamin Kamath

I feel like you missed what will be the largest function of LLMs used by software engineers, which will be to launder licensed code via LLM training sets and prompts.

If it can get to the point where it can ingest a novel RFC, specification, or datasheet and spit out useful products I'll probably start using it more, but at least for now I feel like it helps automate or speed up the writing code part of my job, which I find to not be a large percentage of the work I am doing.

Collapse
 
thomashighbaugh profile image
Thomas Leon Highbaugh

Capitalism wasn't what open source development has prevented from dictating software development, that's the United States Patent Court. Capitalism itself was constrained by that court as a function of the Post-modern financial hegemony of the United States after it turned out the other model (communism) really was the mere sophistry that generations of thinkers have made abundantly clear (read the God That Failed for more. Socialism is not a political ideology, by the way, it's a model of government-economics interfacing in which the government controls the economy. Communism is the ideology that says radical socialism should be used to make a society in which workers own the means of production and thus no government will be necessary, as if any power structure would give itself up entirely to some utopian anarchy that was always a lie.).

Semantics matter, especially if rhetoric is involved. By conflating terms and lacking a more nuanced understanding, the powerful mask their presence and position thus are harder to remove when they get abusive, see the Patent Court or the whole Post-modern arrangement of power and wealth that came to being in a complex process that most of you, at the very best, know only as the plot of the original Star Wars trilogy but set in the middle of the 20th century (World War 2 which I doubt most developers in America have even that clear of an appreciation for, speaking as an American).

Think of how annoying it is to hear non-techies fumble to describe things like the agile development process (or techies try to describe AI despite the way machine learning works conceptually requiring a sentence at most, yes I have one and no you're not stealing it). This is how it sounds to those of us not politically illiterate (thus not most people who are politically active, more like lawyers, representatives and people who disgusted with what it really is decided to learn development instead like myself), please spare us the diatribes on topics you aren't willing to dive deeply enough into to understand like political-economics (what Marx studied and wrote about, a field between political science and macroeconomics, which historically political science emerged from) and I will spare you the several hundred page lecture on how actually, the tradition 4 caste system of Europe and India (which the Vedas encoded but existed in Europe informally as well, thus the traditional Indo-European division of labor) is more fair and would lead to better life outcomes than anything advanced in any modern political viper pit or a discussion about 'what is more desirable equality or equanimity?' as that would require a lot of thinking on your end that would distract from your more important, technical trains of thought as I have now endured.

Otherwise, yes you're totally right it's now or never to use the machine to our advantage or expect the force of society (what economics really is, when that force is expressed in currency values) because in a healthy economy (socialist, capitalist or mixed) efficiency us the weakly favored means of advancement when there exists no prior tradition. We make that tradition now or we go the way of all those who we automated out of existence.

That is, if the invisible hand of the market really isn't the hand of God and we really aren't about to have karma come to fruit for all those automated away careers this industry has stripped away. Just glad I learned Linux, and now NixOS and ran a solo computer repair business from the start of my techie days. Bet those that looked down on such as hardware monkeys are going to feel pretty stupid soon. Having spent a lot of time homeless, pro-tip, don't waste your time with the eviction clinics, they try to run you out faster, just learn the statute and expect to get run over following all the laws because in American justice, it's pay to play 😜

Good luck everyone, remember that WSL is not the same thing as actual Linux and VirtualBox is not actual experience worth trusting on production systems.

Collapse
 
bklau2006 profile image
BK Lau • Edited

VERY IMPORTANT:
Kent Beck of Agile development fame had finally tried ChatGPT4 and he said that it made 90% of his skill obsolete!!!!
Read on and discuss amongst yourself
tidyfirst.substack.com/p/90-of-my-...

Collapse
 
ahmadtall profile image
ahmadtall

LLMs (Language Models) adalah perkembangan teknologi kecerdasan buatan yang kuat, dan dampaknya pada rekayasa perangkat lunak diperkirakan akan sangat besar. Dengan kemampuan maju dalam pemrosesan dan pemahaman bahasa alami, LLMs memiliki potensi untuk merevolusi cara pengembang menulis, menguji, dan memelihara perangkat lunak. LLMs dapat membantu dalam berbagai tugas, seperti menghasilkan kode dari deskripsi bahasa alami, melakukan pengujian dan debugging otomatis, bahkan membantu pengembang memahami arsitektur perangkat lunak yang kompleks. Saat model-model ini terus berkembang dan menjadi lebih maju, jelas bahwa mereka akan mengubah secara fundamental cara kita mendekati rekayasa perangkat lunak, memungkinkan pengembang untuk bekerja lebih efisien, akurat, dan kreatif daripada sebelumnya.
Untuk informasi lebih lanjut kunjungi situs web kami "simulatorapk.com"

Collapse
 
ioni_ms profile image
Kristy Poole • Edited

Delving into the transformative landscape of software engineering, the rise of Large Language Models (LLMs) is poised to revolutionize the way we approach development. Springs sheds light on the potential impact of LLMs in their insightful article. Exploring this link LLM Development unveils the promising future where these models fundamentally reshape software engineering, offering new horizons for innovation and efficiency.

Collapse
 
mrummler profile image
mattrummler

Ummm listing Bing as it's own thing seems a little disingenuous... ChatGPT3 covers it.
Now I'm wondering if this is a long form sales spiel... though I doubt it so I will continue reading.

Collapse
 
naciselim profile image
naciselim

I liked the article. I hope this would make 4-day work week reality for most devs.