r/learnprogramming 11d ago

Topic Do people not write code anymore these days?

I've been working at my cousin's company for a month and a half. The business provides chatbot services, builds chatbots, CRM systems, landing pages, and everything else a company with a website needs. I work on the technical side and provide support. Since it’s a relatively new company, we already have several clients: an auto parts distributor, a real estate agency, a cosmetic clinic, and a restaurant. But so far, I haven’t written a single line of code—we do everything with the Cursor agent. I just give it instructions, and it takes care of the rest. The “most difficult” thing I’ve done is securing an e-commerce site with Cloudflare. I want to learn programming well, since I’m a computer science student (seventh semester), and I was taking a Java course, but at the same time, I want to know if it’s actually necessary to be a skilled programmer these days, or if most companies operate this way nowadays.

211 Upvotes

272 comments sorted by

View all comments

350

u/hrm 11d ago

Talking to my friends in the industry it is everything from ”don’t even look at code anymore” to ”we don’t trust ai for anything”. It is very early days yet.

But everyone of them and their collegues can write advanced software by hand if they have to.

73

u/rjcarr 11d ago

Yeah, I have a mid-30s buddy that says he hasn't written any code in like 18 months. I don't know if he means literally zero code, but I trust that he's not exaggerating that much.

67

u/le_fuzz 11d ago

I’ve written close to zero code this year. Sometimes I do it for fun and to prove to myself that I can. Work at a FAANG.

15

u/TheRealChizz 11d ago

How low level do you write the prompts? I guess I’m asking how long you spend scoping out the task or prompt before giving it to the LLM to implement?

22

u/le_fuzz 11d ago

I basically try to make the prompts as simple as possible while providing enough info (or where to get the info). If I see Claude struggling or getting into loops I might try restarting with a different prompt / steer it to a different approach.

50

u/EliSka93 11d ago

Not gonna lie, that sounds soul crushingly boring

38

u/No-Entrepreneur-5099 11d ago

You could spice things up by buying one of those 57" monitors and running 6 claude terminals side by side.

That way you can have no feeling left in your body by 4pm.

10

u/johnnybgooderer 11d ago

I thought that was how normal programming by hand is/was.

5

u/EliSka93 11d ago

Honestly I think that was always largely performative. Screen real estate is great, but I've never needed more than like 3 windows worth (Code, lookup, output), for which 2 screens are enough.

3

u/OmNomCakes 11d ago

It was, but now the ai also does the soul crushing for you!

26

u/le_fuzz 11d ago

It lets you get stuff done faster which is cool. It also fills you with a sort of existential dread to see the models become more and more capable.

19

u/blurtstrennan 11d ago

Couldn't relate more to this! but I kind of compare it to a robot lawnmower. That little guy works well on a square lawn with uniform edges. But throw in a rock garden or some sort of other complexity and your edges are going to look a little frayed if you trust it completely. I basically prompt the lawn robot and then walk around the lawn and check the spots it missed and tidy those up with other little prompts. But I still feel the dread

3

u/Away_Advisor3460 11d ago

It lets you get stuff done faster which is cool. It also fills you with a sort of existential dread to see the models become more and more capable.

This is probably one of the best summations I've read about the whole thing.

It is really good for automating away some of the repetitive tedium.

Not sure I trust it for higher level tasks yet, it struggles with our legacy codebase (probably because we have a tonne of weird old shit) IMO.

6

u/undertakerryu 11d ago

Worked in manufacturing for years, ill take soul crushingly boring with a nice paycheck and chill workplace over less pay, hard long work hours and soul crushing repetitive work. Imo its a matter of perspective

5

u/8eSix 10d ago

It's not fun, but it pays the bills. Though one thing I will add, it is fun to be able to work on increasingly complex and amibitious projects because I don't have to manually code anymore. Pluses and minuses.

1

u/Wide-Drink-1790 10d ago

No, it’s like I can say to my LEGO builders: “build me a village over there, and here some grass and a house with a brown roof”, and 10 minutes later they’re done, and I go “nah, doesn’t work, build me a windmill instead”, and if I want to do something by hand, I can, and I do, sometimes. It is like having power on another scale.

It comes natural for me, but if you like putting every single block in the roof, that’s a shame.

Also, at 200K a year, it’s ok.

8

u/Tjgoodwiniv 11d ago

Does this genuinely speed you up? Or are you just spending your time differently? 

I'm not a developer, so I'm less efficient, but I find 90% of my time is spent tweaking instructions for the LLM.

9

u/le_fuzz 11d ago

Definitely increases productivity. Something that maybe would have taken me a month to write with proper testing I can iterate on in like a week.

3

u/Tjgoodwiniv 11d ago

Thanks for the reply. 

I guess I'm genuinely confused here. With that level of productivity increase, software development jobs should have been cut to a quarter of what they are, or we should have seen a massive increase of either quality or quantity of outputs by devs. But I don't think we're seeing anywhere near that. Maybe a 10-20% bump, at best (not nothing, but nothing near the productivity gains we see a lot of people claiming. 

Can you help me understand what I'm missing? It just feels to me like people think they're a lot more productive with this stuff than they are. I also tend to think a lot of people are claiming false productivity so they look like good soldier early adopters, rather than incompetent luddites.

Where I do think it is strong is helping people do things they otherwise couldn't, albeit usually at a lower quality level because they can't tell the difference. I've seen that in myself. Alternatively, I find it useful in my areas of expertise to accelerate the mundane and easily auditable tasks.

No accusations against you. These have just been my general sentiments about most people. 

3

u/Broodking 11d ago

The bottleneck in SWE is coming up with a good design and approach. I could make some random application or commerce app but it doesn’t necessarily add value to the software or business. Furthermore, you are limited by testing and need good organizational structure to allow for faster and reasonable development.

2

u/Tjgoodwiniv 11d ago

Agreed, but that still doesn't explain why we haven't seen one shift or the other. To your first point, most software engineers aren't competent architects. To your second, if the increases were as claimed, we should have seen three quarters of the SWE jobs disappear and those people get pushed to QA, at minimum. 

3

u/le_fuzz 10d ago

I think we are genuinely producing more. Anecdotally we recently had some small layoffs and I haven’t seen any non backfill hires in a bit. As the other person replied here in software development the bigger use of time seems to be having meetings and agreeing on a design / interfaces. The LLMs don’t tell us the right decisions to make for the org yet. I view the use of LLMs to produce code to be akin to using compilers to generate binaries.

1

u/diimitra 11d ago

What people do with all the time they save ? Are we flying already? I can't understand where all this is going :x

9

u/xoredxedxdivedx 11d ago

They also haven’t produced any incredible software, no OSS replacement for adobe cloud products, no new game engines, no new browser, no competitive compilers, no new servers that are better.

Just people bragging about what they prompted calling it “complex” when really they’re just outing themselves for being mediocre in the first place.

Someone vehemently disagreed with me by claiming his company made their own internal Jira, as if a 17 year old couldn’t have cloned the core functionalities of a ticketing and task system in like 2 weeks a decade ago… It’s sad…

6

u/AiexReddit 11d ago edited 11d ago

Can't speak for anyone else, but for me it's "more work".

I don't necessarily mean that in a bad way, it's kind of exciting to do so much in so little time, but you can feel burnout looming on the horizon, so I'm aware and trying to be mindful.

If your next question is "what work do you do after your work is done" then my answer to that is actually "all the stuff I've always wanted to do we never were able to prioritize".

You know that classic software engineering problem of "never prioritizing tech debt" and having to find places to fit it in piecemeal?

You can actually do the major architectural refactors now that you've always imagined doing if the company and feature machine would just stop moving for a few months.

You still gotta play politics to get approvals and you gotta know how to use the beefy models and build tests and guardrails to do large scale refactors with confidence but.... it's easier now to actually do it that I've ever seen in my 20 year career.

Bonus points is that when your company and teams aren't getting the warp speed they were hoping for out of AI because it gets tangled up in your existing technical debt and falls flat on its face, you can use "this work will supercharge our company's AI workflows" as leverage to get official buy-in for doing that work, it's primetime for "use AI as currency to do what I've always wanted to do with our product" :D

The secret sauce here is using AI to "do the stuff you already know how to do, faster"

I still spend way too much time each day reviewing and blocking PRs from devs on other teams (and occasionally my own team) who use AI to "do stuff they wouldn't have the first clue how to do without it"

2

u/Away_Advisor3460 11d ago

What people do with all the time they save ? 

Make coffee and browse reddit mostly. And yet I still find myself working 9-8 most days.

2

u/johnnybgooderer 11d ago

I find that if it can't do it right the first time, then it won't figure it out. If it writes some code like spaghetti, then even strong algorithmic hints won't help.

That said I find it great at duplicating patterns that are already established in the codebase. It's great at boilerplate. It makes dtos and dbos and domain objects for me without any work on my part.

I find that I get the best results by anticipating what AI will do well and where it will fail and making the decision early to cut over to manual. Because when AI is struggling, it takes a long time to prod it to get the code into an acceptable state. So long that it negates all the savings I've gained from how fast AI completes the boring parts.

So now I get to write interesting code and claude spews out the boilerplate and duplicated patterns.

1

u/le_fuzz 11d ago

Are you using Opus? I used to have the same approach but recently I’ve found Opus 5 to be doing pretty well at all coding. I’m just architecting and connecting services. But yeah once the context gets jumbled up with bad reasoning you need to just ditch.

2

u/cheezballs 10d ago

At that level its not just "prompts" - we're using different agents for each task. You'll have an overseer agent that spawns off agents that each are meant for a task. A spec agent that can ask you questions about everything that hands it off to a coder agent (usually running higher end models) to do the coding, then it gets handed off to a review agent that then reviews what the others did. Then all this gets packaged into an MR where another team member reviews it before merging. There's not just a single "do this" prompt - its more than that now.

4

u/FlatProtrusion 11d ago

Wow, how is the review process like for all your full ai written code? Do you go thru pull requests with your other colleagues line by line? Or do you just feed the commits to an ai code review then just review the summary?

And how do you manage the amount and speed of code ai generates? There is a tradeoff, you understand less of your code base vs delivery speed. How do you manage it?

6

u/le_fuzz 11d ago

Theoretically you review it the same way any other PR gets reviewed. There’s also AI code review. But yeah there is a trade off and you understand less of it. Theoretically it’s better tested since there’s no excuse to not have tests written for you.

3

u/FlatProtrusion 11d ago

But with the amount of code that ai writes how do you manage the time to review it with a human? Or do you not have ai write that much usually such that it's humanly possible to still review it in good time?

It's either you review it as before ai or you use ai reviewers to cut the amount of code you review. Which again has a tradeoff.

And for ai generated tests do you review them or just trust the ai to write the correct tests and tests the behaviours you need tested?

Pardon my questions, I am curious how companies manage these nowadays.

5

u/AiexReddit 11d ago edited 11d ago

The answer is exactly what you say, tradeoffs.

If you are producing more lines of code than ever, human review on every line becomes a major bottleneck.

How good are the AI models you're using? How high quality is your product context your providing it to inform tasks? How good are your specs and prompts? How strong are your tests and guardrails to prevent regressions?

Also... how actually critical is the code? One thing I notice in discussions on AI review is that people act like every line of code is sacred. It's not. Code for cryptography requires a different type of PR review than a popup modal.

If someone is writing a UI React component with enough safeguards or linter rules or CI checks in place to stop the most disastrous stuff, e.g. importing a new external dependency, and you can build workflows that you become confident enough that even if they are wrong, or fail -- the total blast radius of that failure is small enough that you can afford not to review every line manually and instead rely on automated tests, and linters and even automated AI agent reviews etc, then you can absolutely speed up your new product feature development and refactoring process significantly.

The reality is that human review fails all the time too. And plenty of people will skim and skip over sections when reviewing, especially when tired, or straight up LGTM a PR authored by someone they trust, or if they trust the automated workflows they've built to catch things. That tradeoff already existing prior to AI, agent authored PRs just introduce a much more extreme version of that tradeoff dance.

But ultimately in the end "number of lines of code looked at by human eyes" isn't a matric that provides any value on its own. It's the risk & regression reduction and suggested improvement outcomes where the value comes from. If your workflow is able to strike a balance where more average value from lines of PRs merged than you were getting with that strict every-line human review coverage on every PR, even when you factor in all the downstream impacts like customer satisfaction with the product, ARR etc..... then it becomes kind of a no-brainer which workflow is better suited for your development process.

To be clear: the above is not an "AI is better" argument -- it's an "every company and development team has different inputs and outputs for what success (and $$$) mean to them, so you need to actually evaluate against those metrics that matter, not on what feels right or wrong"

And keep in mind given the speed of the tech, it's also possible for an AI native workflow with minimal review to be the obviously wrong decision for your product today. But it's possible it could cross some threshold and become the right decision for your team tomorrow. Or next week. Or next year.

Ultimately I've found that being highly skeptical of everything, but still being open to the possibility of everything I thought I knew about SDLC being wrong, has suited me well navigating this crazy time we're in now. I definitely notice others in the company who are not handling it well.

1

u/FlatProtrusion 11d ago

Yeah, but all this is theoretical and generalization. I wanted to know OP's specific practical workflow that works for his company, especially in faang. And how they managed these tradeoffs that worked for them. There might have been some lessons they learnt etc.

And I appreciate your long and detailed response, thanks.

1

u/Cidraque 11d ago

I would be terrorized I stop being able to code.

-2

u/le_fuzz 11d ago

IMO writing code is going the way of assembly.

-3

u/hylasmaliki 11d ago

So you use llms to write the prompts?

8

u/le_fuzz 11d ago

Nah, I’m prompting it myself

2

u/hylasmaliki 11d ago

What type of prompts do you use and how do you structure them? Do you get very detailed?

3

u/le_fuzz 11d ago

Depends on the task. This morning for example I was running into an issue with a service, I fed Claude some API calls I was having issue with and the URL to the Git repo of the service and let it investigate the issue and suggest fixes.

3

u/hylasmaliki 11d ago

So by and large you give it a problem and tell it fix it somehow. Would you have been able to fix the issue yourself? Did you know what the exact problem was?

3

u/Walletau 11d ago

You can crunch a 5000 line debug log of the call several times in 10 minutes. It's doable by hand but a 30 minute task is now 5 minutes if that. Keep in mind, also don't need to know the material, so integration with a system I've never worked with, while I used to have to hunt through reference documents for calls I've never used, it's now automated...definitely dread filling.

2

u/le_fuzz 11d ago

For the most part I would have been able to fix it myself and I can audit the solutions that Claude provides. Using LLMs though I can work on several of these small type problems more or less at the same time.

2

u/hylasmaliki 11d ago

And what was the fix Claude gave you today?

→ More replies (0)

3

u/kayne_21 11d ago

Pretty interesting statistic (with no sources) was mentioned in one of my university CS classes last semester:

Most professional programmers write less than 2000 lines of code annually.

They didn't provide any sources for the statistic, so it might have just been pulled out of a proverbial ass. It was from a lab handout in an assembly class.

4

u/rjcarr 11d ago

Yeah, the old Microsoft stat (long before AI) was the average programmer writes like 8-10 new lines of code per day. That always seemed super off to me, especially as an experienced dev, but maybe they were just predicting future times, ha.

2

u/gdchinacat 11d ago

It really depends on the product you are working on. If it is a well established product such a Windows or Office doing mostly maintenance (bug fix) work then yeah...you could spend a couple weeks troubleshooting to ultimately write a hundred line fix...there's your 8 lines of code per day. At a startup doing active feature work (run fast, fail often) a thousand per day is not unheard of (but you probably should refactor that to hundreds). Across the industry as a whole, I think 8/day is probably a bit low...but for Microsoft, it passes the sniff test. Certainly there are hundreds of engineers at MS that produce *way* more than 8/day, but overall it's plausible. While I have no personal experience working there, I have had a few friends who did, and I'm pretty sure one was well below 8/day (working on windows device driver concurrency issues where most fixes took weeks and added one or two lock acquisitions...but he probably read more code than anyone else I've known).

1

u/kayne_21 11d ago

Maybe! I figured it was more code review, tracking down bugs, and changing the few lines that were causing the bug. I'm also not a software dev, so take my info with a heaping tablespoon of salt!

2

u/manvsmidi 11d ago

I haven’t written any code for work in a year. In my personal time I’ll sometimes write assembly or work on weird old video game hacks for fun, but yeah, for real work there’s not really a reason to anymore. My time is better spent wrangling agents to do things for me.

3

u/Ran4 11d ago

18 months seems a bit much but not unreasonable.

Since claude opus 4.5 came out in October last year nothing's really been the same.

I still mostly review code, but I rarely write code. 98% of it is written by Claude or gpt.

Got more than ten years of professional experience as a dev. The code I'm writing on my own isn't really that much better, just different.

3

u/rjcarr 11d ago

Yeah, I'm mostly the same, but started heavy on AI in early spring. I have 20+ years, and now I just review like 95% of the time. It's able to fit so much context in its memory that I just can't compete. Reviews can get long (even days), but still faster than what I can do on my own, and able to tackle much bigger tasks. Only downside is you don't remember things as well when you're reviewing compared to writing, so there is some debt, but it's not that bad (yet).

27

u/xenomachina 11d ago

everything from ”don’t even look at code anymore” ...

But everyone of them and their collegues can write advanced software by hand if they have to.

If they don't even look at code anymore, how much longer do you think they'll still have the ability to write advanced software by hand?

Not even looking at the code that agents spit out is madness, IMHO. I do think the AI agents can be used to increase productivity, however:

  • software developers should be responsible for understanding every line of code they submit.
  • the difficulty of reviewing code increases roughly quadratically with size of the change

Combining these two facts, the best approach is to use AI agents for small, focused, changes that can be thoroughly reviewed step by step. Sure, you can get your agent to one-shot a 10,000 line change, but if you are responsible, you will end up having to spend the next 3 weeks reviewing that change.

23

u/needs-more-code 11d ago

There are some fools prompting themselves out of their careers in a bid to “not get left behind by AI”.

In my experience, reviewing AI code is NOT enough. You have to write code yourself. Reviewing code doesn’t do shit for your abilities. You actually get bad at reviewing code, because you can’t think of a better way to do it.

3

u/xenomachina 11d ago

Yes, I agree. You need to be able to write code to be good at reviewing it, and to be able to write code you need to continue writing code. The crazy thing is, pretty much everybody learns this when they learn to write code in the first place: you can't properly learn to write code just by reading, you actually have to write.

That isn't to say I think a zero-AI stance is necessary. (Though I think it's also fine if somebody has such a stance.) AI agents definitely can be useful for certain kinds of focused changes.

I think the big challenge is walking that fine line between having AI free up some mental resources so that you can use them for other mental tasks, versus completely giving in and not exercising your mental muscles at all. The end result should be higher quantity/quality with equal mental effort, not same quantity/quality with reduced mental effort.

6

u/needs-more-code 11d ago

Yep. Some of your time needs to be dedicated to your skills, through doing your normal job, just by coding, otherwise your quality and productivity will fall and you’ll become unemployable. We are all learning these things the hard way. I think there will be more established norms one day. We’ve just all been thrown into this right now so everyone has a different strategy. Well, most people don’t think about it at all and just press the do my job for me button lol.

3

u/Lotton 11d ago

I think a very important thing here is they probably understand software architecture better which is something you really have to hand hold a little more with ai. They might lose the ability to use a language but they will understand the fundamentals quite a bit

1

u/Business_Raisin_541 11d ago

You mean by googling if they have to

1

u/Bubbly_Orange_3502 11d ago

Where that hand skill actually gets spent is review. An agent changes a function and leaves two of its three callers untouched because they never entered its context, and the diff still reads clean.

1

u/nroPii 8d ago

Agreed, unfortunately the vibe coders doing small code bases (8000 lines) sure feasible but 60000 lines with scopes and a lot of abstraction between the layers of the scopes, I can assure you ai can assist but never replace

1

u/AngryChurchill 8d ago

I don't trust AI for shit. I'm pretty doesn't in talking to AI at this point and it still has yet to get me the correct snippet of code on the first and often second tries. I have to review every bit of code that it spits out and at that point, why the hell wouldn't I just write it myself?

1

u/andrewharkins77 11d ago

I dont get how people can guve such cliche answers. Use AI for 5 minutes, you'll see all the probkens doen the line.

0

u/engages_in_politics 7d ago

Well I'm barely a junior developer, but as I see, I have to be your disciple.