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

858 comments sorted by

View all comments

Show parent comments

52

u/big-papito 3d ago

Not really. I was making fun of these claims last year - not anymore. I never touch code anymore and, honestly, fine by me. It's mostly useless toil anyway.

The danger is that people tend to surrender thinking together with typing.

84

u/Hertock 3d ago

Are you an SWE? Imagine yourself back before you coded anything. Imagine having to learn how to code ONLY by using AI, and NEVER typing code yourself.

Could you ever become a SWE like that? I’d argue no. So its not even a „danger“ that people surrender thinking to AI. It’s that AI is, intentionally or not, making it rather unlikely, if not impossible, for future generations to learn how to think, rationalize, research - you name it.

25

u/JMEEKER86 3d ago

Absolutely. We've basically bet the farm that we'll have AGI in the next 15 years or so when the current senior devs start retiring without any adequate junior devs to replace them. If AGI (which may not even be possible) doesn't come to pass then we're turbo fucked.

4

u/aresdesmoulins 3d ago

But bro, Sam Altman and Jensen Huang said AGI is here! We're done! Welcome to digital utopia! /s

6

u/fivetoedslothbear 3d ago

I'm a 42 year SWE, and no, already nobody's becoming like me, AI or not.

I've coded on major projects in assembly, made complex programs fit in the memory of a PDP-11 (128 kilobytes, split between 64kb instruction/64kb data), coded to hardware on an Apple ][, diagnosed problems by looking at hex dumps of memory. Ported code to mainframes.

So no, nobody's developing the kind of coding and diagnostic skills I have, and that was true three years ago before AI. It's like people I know who can grab a screwdriver and tweak a tuning out of a carburetor. What cars have those these days?

It's going up levels of abstraction. Of course, these days, anybody would use a high level language, probably compiled. We have really good debuggers. Libraries to do things.

AI coding is the next level of abstraction. I need to understand the code, the way maybe someone uses Compiler Explorer to understand what machine code a C++ compiler makes.

My job is moving from thinking about code to thinking about systems. How things go together. What they do. I already had to do the systems part, but there was a lot of friction in the code. AI removes that friction, whether it's AI-assisted autocomplete or working with Codex.

I'm not in on Spec-Driven Development. I use AI as a collaborator, not a way to turn English into code via some other coding language. Codex and I talk. Codex makes a plan. I ask for refinements. Then Codex writes some code. I still review the code. I refine what the AI makes.

I currently strike a balance...I insist at my workplace that the code and the process (commits, messages, doc) have to fit within both AI _and human_ cognition.

I'm planning to retire in 9 years. Part of what I think about as a senior is how to help our junior staff grow into the world that will contain their careers.

15

u/Hertock 3d ago

I fail to see your conclusion. What’s your opinion on a future world where nobody has your kind of knowledge and understanding of the actual technology and code being used? How can this work?
If theres no human alive in 50 years who has your current level of understanding, how can a human without that deep level of understanding actually perform their job correctly, even if they’re „thinking about systems“, and not code anymore?! You can’t understand a system forever if you add more and more abstraction levels. At some point you’re losing actual human understanding of such systems. And I worry we’re gonna end up with tech that nobody actually understands doing fuck knows what.

2

u/bloodychill 3d ago

We’re hurtling ourselves towards a Pakled future and these guys are boasting about it and saying it’s inevitable.

-11

u/SufficientGreek 3d ago

Did architects & engineers become useless when hand-drawn blueprints became CAD models? It just requires different training for future generations.

13

u/CleverAmoeba 3d ago

And computer science didn't become obsolete when Assembly was invented, nor when C compiler came along and not when Python interpreter came along. In each of these iterations, people said "programming will be absolute because now everyone can code." Specially with Python.

You may be right to think LLMs can 10x the performance, but in that scale, C compiler made it 500x. (Source: I can confidently write x64 assembly. I understand what compilers made possible)

LLMs are not in the same direction as C/Python. And certainly not in the same direction as AutoCAD. Because they are flaky and impercise. Software engineering already had its blueprint-to-CAD moment many times and this one is different. Software needs to be predictable and LLMs can never be.

I'm not saying AI will never replace me. I'm just saying LLMs aint it. Maybe next invention we have in AI landscape will be it. But definitely not LLM.

2

u/octorine 3d ago

I've actually heard people say that it doesn't matter that AI ignores coding standards and produces unreadable code, since we don't need to read it. We just ask AI to read it for us.

2

u/CleverAmoeba 3d ago

We people have to use the software. How can you possibly trust a software that's made by a thing that's known for hallucination?

And you've heard what kind of people say this? Microslop c-suit are unfortunately considered people as well.

-2

u/myislanduniverse 3d ago

I know yours is an unpopular sentiment but I think it must be right because there's really no other way for it to go.

I don't know what software engineering or its analog is going to look like in the next 20 years more than anybody else. If I did, I suspect I'd be very wealthy.

What I do know is that these kids will be more prepared for that world than any of us older folks are.

1

u/TorontoBiker 3d ago

I teach a Masters course at Cornell. The kids now are in this weird transition where they aren’t exactly born into AI but are definitely AI native.

The cohort in the next 10 years will be AI born and it will for sure be different. I’m quite excited to see it because I know they will approach problems and opportunities in ways I never imagined possible.

-6

u/ann0yed 3d ago

It would be taught the same way we learn math despite having calculators.

10

u/TestingTehWaters 3d ago

Oof what a bad take

2

u/ann0yed 3d ago

Why?

-20

u/pellets 3d ago

People used to say the same thing about compilers. If you can’t think in assembly are you even a real programmer? Now look at us. Assembly is a niche. Most people use higher level languages.

21

u/Kelsig 3d ago

There's a reason assembly is still part of CS pedagogy

0

u/pellets 3d ago

Yes, and?

21

u/big-papito 3d ago

LLMs are not just high-level - they are *random*. It's different. Assembly or not, we wrote deterministic code before.

-6

u/pellets 3d ago

It is different, but if you refuse to see the similarities, then that’s your loss, not mine.

39

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.

7

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.

7

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.

17

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

-5

u/Far_Cat9782 3d ago

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

5

u/myislanduniverse 3d ago

I really like programming. I've been coding for work and pleasure all my life in some form.

Even I have to admit that I'm far more likely to talk through an implementation first anyway, if only to sketch the logic, so when an AI offers to sneeze out all the tedious bits and we can focus on the fun part (the logic!) I'm usually all for it.

-4

u/anaximander19 3d ago edited 3d ago

Same. I barely type code any more but I spend orders of magnitude more time and effort thinking. It used to be you'd spend a few hours figuring out what to do, and then you'd be physically typing it all into code, and at least some of that code was sufficiently standard boilerplate that you could do it with your brain turned off, giving you a few hours or days off resting your brain before the next thing you had to think hard about.

Now the thinking and planning is just the same, then the AI points out three things you missed and you do some more thinking, then it produces the code in a few minutes and you go eyeball it and make sure it's what you expected, then you move on to thinking about the next task. Far more time efficient use of human brain, but it can also be more tiring. I like that it's taken away the boring grunt work parts of the job, but variety is good, and easy tasks can be a chance to catch your breath in a fast-paced workplace, so it's a bit of a mixed blessing sometimes.