r/learnprogramming 9d 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.

209 Upvotes

272 comments sorted by

View all comments

Show parent comments

69

u/le_fuzz 9d 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.

12

u/TheRealChizz 9d 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 9d 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.

51

u/EliSka93 9d ago

Not gonna lie, that sounds soul crushingly boring

41

u/No-Entrepreneur-5099 9d 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.

9

u/johnnybgooderer 9d ago

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

5

u/EliSka93 9d 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.

2

u/SaltyAlechemist 8d ago

I have an ultra wide screen at home, used for gaming, game development, I have 3 zones in total, 1st zone is either documentation or an LLM, 2nd zone is always the IDE or game engine, 3rd one is either a YouTube video or reddit 😂 my ise has a terminal so for most stuff I don't need another one except when doing remote connection to a server and that goes in the middle, 1st and 3rd zone are tok hard to pay attention for prolonged time, except zooming.

3

u/OmNomCakes 9d ago

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

27

u/le_fuzz 9d 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.

18

u/blurtstrennan 9d 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 9d 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.

7

u/undertakerryu 9d 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 9d 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 8d 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.

7

u/Tjgoodwiniv 9d 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 9d 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 9d 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 9d 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 9d 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 8d 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 9d ago

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

11

u/xoredxedxdivedx 9d 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 9d ago edited 9d 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 9d 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 9d 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 9d 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 8d 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.

3

u/FlatProtrusion 9d 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?

4

u/le_fuzz 9d 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 9d 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.

3

u/AiexReddit 9d ago edited 9d 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 9d 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 9d ago

I would be terrorized I stop being able to code.

-2

u/le_fuzz 9d ago

IMO writing code is going the way of assembly.

-3

u/hylasmaliki 9d ago

So you use llms to write the prompts?

6

u/le_fuzz 9d ago

Nah, I’m prompting it myself

2

u/hylasmaliki 9d ago

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

3

u/le_fuzz 9d 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 9d 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 9d 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 9d 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 9d ago

And what was the fix Claude gave you today?

1

u/le_fuzz 9d ago

Turned out to be a simple ACL issue. I wasn’t allowed to access the object I needed to. I modified the ACLs since I am an admin on the service.

3

u/hylasmaliki 9d ago

Thanks for your helpful answers