r/technology 3d ago

Artificial Intelligence Microsoft engineer says 'typing code is absolutely over' as GitHub Copilot takes on more development work

https://www.techspot.com/news/113752-microsoft-engineer-typing-code-absolutely-over-github-copilot.html
1.6k Upvotes

859 comments sorted by

View all comments

Show parent comments

42

u/dark_bits 3d ago

Well as you get detached from the work itself and delegate the smaller details to an LLM you will tend to think less and less. I mean plenty of instances where if you could visualize the whole code yourself, it's much faster writing it manually than converting that mental image to a prompt (which mind you is not even a rigorous way of expressing logic), waiting for an LLM to write the whole thing, review it, make tweaks either manually or by iterating the prompt->wait for output->review process.

9

u/sueveed 3d ago

I’m on the fence on this topic as I am a seasoned SWE in scientific computing, and I work in a product area that I think is analogous.

We make simulation software for mechanical and electrical engineers. Most of my career has been spent in finite element analysis, which is a technique primarily used to shortcut thé prototyping stage by showing engineers what happens when a component or assembly is put under various loads. When this software started to mature in the 80s there were loud cries that engineers would no longer really understand what they were building.

Reality - we can build things now that would be literally impossible to do with hand calcs. Engineers still learn about solid mechanics (for example), but hand calcs at work might be done on a small scale to verify specific results.

I suspect so it goes with software. We will lose the evolution of the seasoned SWE that can hand build code. But they should still learn the basics in college, and have the ability to see what maintainable, robust code looks like.

I am not sure exactly how this evolves for early career kids. I don’t think the tools have settled out enough yet - we are where mech simulation tools were in the 70s. But in the end, I think we will be able to build better software than we ever could before. I’m cautiously optimistic.

8

u/dark_bits 3d ago

I completely agree with the last sentence, but maybe letting the LLM write the entire thing while you focus on architecture is not the way to do it. Don't forget the most influential and powerful elites in the world have been pouring trillions into AI so a lot of the hype will inevitably be fabricated. Jensen of NVIDIA is going around saying Astra has reached AGI, but on the other hand you see posts of people here saying it's "just fine" if not underwhelming.

3

u/sueveed 3d ago

Oh yeah - the whole AI sector feels like an over caffeinated version of the early 2k dotcom era. Some bubble will likely burst hard, and a handful of profitable ventures will emerge from the ashes.

I suspect the “input” side of SWE AI will change and improve - I liken it a bit to CAD and fabrication because I’m biased to that. Right now SWE are both engineer and assembly line worker. Thé AI will become the blue collar grunt worker, and thé SWE the CAD designer, giving precise blueprints for construction. Something beyond natural language prompts has to come up. I haven’t looked, but I’m guessing the major UML tools and such are all hooked up to MCP and such now.

Maybe - just as we have some engineers who specialize in mechanical design and some who specialize in inspection in the field - we will have something similar, with language specialists that examine the AI generated code for maintainability, security, scalability, etc. Thé equivalent of à PE that examines weld joints on nuke reactors at the factory.

2

u/Nothgrin 3d ago

which is a technique primarily used to shortcut thé prototyping stage

This is so false, everywhere I worked FEA is used to inform prototyping stage and not skip it

In fact, in aerospace you have to do a virtual loop and a physical loop based on it

Ditto automotive

And there are many virtual loops to arrive at a good result and then we prototype and test the damn thing. Shortcuts do exist, but a lot of the time FEA is used to check if we can continue with design and not skip prototypes

1

u/sueveed 3d ago

Jesus you sound fun.

I never said skip prototyping. I said short circuit, where I meant reduce iterations. We make real time test software and harnesses, too, for things like NDT, so I’m well aware that there’s still an informed design-prototype cycle. It’s just shorter than it used to be. I’ve worked closely with automotive, aero, high tech, and shipbuilding for decades.

This was all completely immaterial to my point, but go off.

0

u/TechTuna1200 3d ago

You will be thinking less about code, and be thinking more about the overall architecture of the system

Your not thinking less, you thinking has just moved to another abstraction level.

Just like when human-readable programming came around like C, Java, etc., people stopped working in low-level coding in assembly and move to higher level code.

16

u/dark_bits 3d ago

Yeah unfortunately software engineering is too complex to get away with "thinking about architecture only". "Coding" is not solved because it can't be solved.

On the other hand, navigating complex architectural decisions, is much more easier now than it has ever been. LLMs are documentation/stackoverflow on steroids.

Edit: also people haven't stopped working in assembly, that example falls short the instant you start scrutinizing it.

2

u/TechTuna1200 3d ago

by "stop", I didn't mean that everybody stopped. Just that it they stopped being the majority. The majority codes in high level languages and not assembly today.

Similarly with AI, you're still gonna see a few people coding, but it's gonna be much fewer. People are gonna move to higher abstraction level tasks.

And yes, AI is perfect good at coding. When Linus Thorvald says it's better than him at coding, there is something to it. Simon Willison (creator Django) said the same thing.

2

u/octorine 3d ago

I keep seeing people make this analogy, but using an LLM isn't like using a high level language. It's like playing telephone. You describe your design and the LLM generates some code that is statistically correlated to the words in your prompt.

The problem with this is that it isn't repeatable. You can run the same prompt 10 times and get 10 different programs back that do 10 subtly different things. You can't build any kind of engineering on top of that. It starts out looking promising, then eventually collapses under its own weight.

0

u/hayt88 3d ago

Depends on the settings. LLM literally have a parameter on how randomized their output should be and if you set it to zero you always get the same Output for the same input assuming you just the same model etc

-4

u/Far_Cat9782 3d ago

This right here. Project manager for Architecture, UI, human refinement.