Code Is Cheap Now. Software Isn’t (chrisgregori.dev)
from codeinabox@programming.dev to programming@programming.dev on 12 Jan 2026 10:32
https://programming.dev/post/43903937

cross-posted from: lemmy.bestiver.se/post/856407

Comments

#programming

threaded - newest

red_tomato@lemmy.world on 12 Jan 2026 11:57 next collapse

It’s easy to overestimate how much of software engineering is about coding, when in truth it’s mostly about the code you don’t write.

msage@programming.dev on 12 Jan 2026 14:39 next collapse

I always get upset when people write unclear lines.

I do a lot of code reviews, and it’s taking years to explain how to write code that makes sense. Some are better, some just write, or worse - copy, things that are ambiguous, or are made such by copying them with small changes.

It’s very difficult to specify bullet-proof rules for good code. And after every step devs find more ways to fuck it up.

Gonzako@lemmy.world on 13 Jan 2026 08:58 collapse

Yeah, what’s worked for me best is never doing straight up copy paste but try to walk through the script as I write it down because if I don’t understand it I can’t modify it.

Ephera@lemmy.ml on 12 Jan 2026 16:23 collapse

Yeah, my current software project at work was basically half a year of feature development and since then, we’ve purely tried to get it into the real world, which meant evaluating use-cases to see where it falls flat and what needs stabilizing, as well as figuring out people’s needs and how our software can assist with that, then setting up a demo and hoping they find money somewhere…

ExLisper@lemmy.curiana.net on 12 Jan 2026 12:20 next collapse

I’ve been saying this for years (maybe I need to start a blog?). Being able to make an app and make a product are completely different things.

If one person can quickly create an app someone else can as easily create open source version and just give it away. To offer a product you need sales, customer service, technical support and so on and creating this organization has nothing to do with writing code. There are exceptions like video games where one person can create and distribute a product but it’s because it’s more art than engineering. For a SaaS platform to be a “product” it needs to offer functionality that’s impossible to implement for a small team in a short period of time or evolve using AI.

LordMayor@piefed.social on 12 Jan 2026 14:14 collapse

There are more exceptions than just games. I know someone who made a good career writing statistical forecasting software. It was just himself and he had some large corporations as clients.

There a niches of expertise for which most businesses don’t need dedicated employees or even software licenses. But, you’re not going to write the software with AI because it takes domain experience and expertise that AI can’t emulate.

codeinabox@programming.dev on 12 Jan 2026 12:24 next collapse

This article is quite interesting! There are a few standout quotes for me:

On one hand, we are witnessing the true democratisation of software creation. The barrier to entry has effectively collapsed. For the first time, non-developers aren’t just consumers of software - they are the architects of their own tools.

The democratisation effect is something I’ve been thinking about myself, as hiring developers or learning to code doesn’t come cheap. However, if it allows non-profits to build ideas that can make our world a better place, then that is a good thing.

We’re entering a new era of software development where the goal isn’t always longevity. For years, the industry has been obsessed with building “platforms” and “ecosystems,” but the tide is shifting toward something more ephemeral. We’re moving from SaaS to scratchpads.

A lot of this new software isn’t meant to live forever. In fact, it’s the opposite. People are increasingly building tools to solve a single, specific problem exactly once—and then discarding them. It is software as a disposable utility, designed for the immediate “now” rather than the distant “later.”

I’ve not thought about it in this way but this is a really good point. When you make code cheap, it makes it easier to create bespoke short-lived solutions.

The real cost of software isn’t the initial write; it’s the maintenance, the edge cases, the mounting UX debt, and the complexities of data ownership. These “fast” solutions are brittle.

Though, as much as these tools might democratise software development, they still require engineering expertise to be sustainable.

ICastFist@programming.dev on 12 Jan 2026 14:25 next collapse

The democratisation effect is something I’ve been thinking about myself, as hiring developers or learning to code doesn’t come cheap.

It’s not really “democratizing” anything, since anything made that isn’t like a simple calendar or forum will come with more bugs than working features. Low and no-code development options have been available for ages, so “doesn’t know how to code” was never an actual barrier to making software. Not only that, learning to code could be done effectively for free for well over 15 years now, online resources have only gotten better. It was never about the (lack of) money, it was always about time needed. “I don’t want to/can’t learn this, yet I want the thing done” - that’s why we pay professionals.

However, if it allows non-profits to build ideas that can make our world a better place, then that is a good thing.

At best, they’ll get semi-working prototypes. At worst, they’ll try to sell said prototypes as end products. Besides, anything that is “a disposable utility, designed for the immediate “now” rather than the distant “later.”” is extremely unlikely to make the world a better place.

fonix232@fedia.io on 13 Jan 2026 00:06 next collapse

what a load of bull.

AI doesn't "democratise" coding. One still needs to understand the basics of computer science, as well as higher level software design, to make use of AI tools and get actually usable results.

LLMs can write good code but they require constant guidance to do so. This is something that people need to understand. AI in coding is like Photoshop to an "analog" artist - super useful IF you know what you're doing, but as a complete stranger to the topic, all you'll do is basic tinkering.

Womble@piefed.world on 13 Jan 2026 12:44 collapse

I think you are vastly overestimating the level that statement is pitched at. The overwhelming majority of people dont even know how a for loop works. However they can ask an LLM to write a script to change this list of files with inconsistent numbering conventions and put them in a consistent order. That’s the level of spreading out the ability to program that we are dealing with.

fonix232@fedia.io on 13 Jan 2026 14:07 collapse

Basic scripting is hardly programming, and it's been available in various user-friendly forms for quite a while...

Problem is that most people do seem to treat LLMs as if they could replace a well trained engineer. Including middle managers who want to cut costs at all price.

Womble@piefed.world on 14 Jan 2026 10:24 collapse

And those people who think LLMs will replace software engineers any time in the near future are wrong. But it can still be the case that LLMs are democratizing coding ability to those who otherwise wouldnt have it while at the same software engineering as a discipline isnt going anywhere.

Its not just basic scripting either, often when people start coding in earnest their programs are just a huge pile of statements connected together with if statements and mutating global variables. and LLM can help show best practices like encapsulating logic into functions and isolating side effects.

themaninblack@lemmy.world on 13 Jan 2026 23:49 collapse

The bespoke short-lived solutions angle is an interesting one, to be sure.

I wonder how many orgs will back themselves into a corner thinking their product will be short lived but it ends up hanging out for a while, as you mentioned.

Honestly this feels like an extension of this Agile/Scrum madness we’ve been dealing with since the mid-2000’s. Instead of the next quarter, we’re only building things with a view of the next two weeks.

Now it’s measured in hours, and even then we can give a prompt to an LLM and have a half working thing to throw away after it converts that PDF to a CSV.

I worry about the craftsmanship leaving this field. Engineers used to push back and for good reason.

Flamekebab@piefed.social on 12 Jan 2026 13:29 next collapse

An interesting way to try to spin disposable spaghetti code as a positive.

neukenindekeuken@sh.itjust.works on 13 Jan 2026 14:20 collapse

I think ignoring that a tool has valuable uses is cutting off the nose to spite the face in a way.

While LLMs are annoying as fuck to deal with and work with with corporate CEOs telling all of us to “Use them or face unemployment”; it cannot be ignored that they have valuable use cases.

This article tries to identify the real world use case for an AI/LLM, which is as an ephemeral problem solving machine, much like google or stack overflow has been in the past, just on steroids.

Once you’re done with the solution: throw it away.

LLMs are not to be trusted to write software, but they can generate code to solve mundane problems encountered during software development.

talkingpumpkin@lemmy.world on 12 Jan 2026 13:39 next collapse

Being able to use an LLM turns a layman into a coder no more than being able to use CAD turns them into an engineer.

It’s a real pity that LLMs seem to have taken over as the sole topic of discussion in programming communities such as this one. It might be just me, but I find the whole topic barely interesting at all (ie. not more interesting than the discussions about stackoverflow coding we used to have).

Feyd@programming.dev on 12 Jan 2026 18:30 next collapse

I am 100% with you. I am so sick of LLM shit clogging up the feed

a_non_monotonic_function@lemmy.world on 12 Jan 2026 22:13 next collapse

Being able to use an LLM turns a layman into a coder no more than being able to use CAD turns them into an engineer.

Perfect analogy.

ulterno@programming.dev on 13 Jan 2026 09:44 next collapse

I can use CAD. I am an engineer.
But noone will ask me to draft a building design on AutoCAD, same as noone will ask me to do so with pencil and paper.
Because I don’t know buildings.

Sure, I might be asked to copy a pen-paper drawing onto CAD, but a Civil Engineer with CAD will do that better and a photo tracing software might do it as well as me.

So while a good enough LLM might code as well as a coder, Programming is more than just coding and making anything new, requires programming.

Womble@piefed.world on 13 Jan 2026 12:46 collapse

But at the same time everyone having a CAD machine (or 3D printer) allows a lot of people to solve engineering type problems they have without an engineer, which is the article’s point.

talkingpumpkin@lemmy.world on 14 Jan 2026 12:28 collapse

IDK.

I just asked this to perplexity as an experiment:

write a macos terminal command that makes a backup copy if all files in documents/ my home adding the current date and time to each filename

Here’s what it concocted:

cd ~ && find Documents -maxdepth 1 -type f -exec sh -c 'for f; do cp "$1" "Documents/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"; done' _ {} +

Now, I am no “prompt engineer” and surely there are better way to ask it stuff, but then again a layman is no prompt engineer either.

So the question is: would a layman be able to provide feedback and have perplexity fix its command?

My “layman-like” feedback (now that I re-read it, IDK how much a layman would have used “recurse”… I’m doing my best here):

I want the files copied to a “backups” folder in my home. It should also recurse into the “documents” folder.

mkdir -p ~/backups && cd ~/Documents && find . -type f -exec sh -c 'mkdir -p "~/backups/$(dirname "$1")" && cp "$1" "~/backups/$2/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"' _ {} "$(pwd)" \;

Feeback:

it says “No such file or directory” (because of $PWD passed as $2 - of course I didn’t say this to the LLM)

mkdir -p ~/backups && rsync -a --include='*/' --include='*.*' --exclude='*' --no-links ~/Documents/ ~/backups/"$(date +%Y%m%d-%H%M%S)"/

the date must be in the file name

mkdir -p ~/backups && find ~/Documents -type f -exec sh -c 'dir="~ /backups/$(dirname "${1#"$2"}")"; mkdir -p "$dir"; cp "$1" "$dir/$(date +%Y%m%d-%H%M%S)_$(basename "$1")"' _ {} ~/Documents \;

I don’t think I need to continue?

BTW: the LLM also instructed me to do a whole bunch of seemingly useless stuff, like giving Terminal.app full disk access via System Settings > Privacy & Security > Full Disk Access (which I assume is actually a thing in macos but can’t verify as I run linux)

edit: I hope I didn’t misinterpret the bash commands (I didn’t actually run them) and spotted the right bugs in them - even if I didn’t I guess my point still stands?

kibiz0r@midwest.social on 12 Jan 2026 13:43 next collapse

As Cory Doctorow says: code is a liability, not an asset

RedstoneValley@sh.itjust.works on 12 Jan 2026 14:52 next collapse

While I (almost) agree with the conclusion, there is a lot of bullshit and unproven assumptions in this blog post. I always cringe about the “AI is democratising software development” argument in particular. This is just wrong on so many levels. Software development is not an ivory tower. Everyone with an internet connection had access to all the resources to learn the necessary skills for free, for decades. Everyone who had an interest in actually learning that stuff and putting a bit of effort into it was able to do so. What LLMs provide is not democratising anything but advertising the illusion that everyone can produce software, effortless and without any skills whatsoever. Software development is much more than just churning out lines of code that seem to work. The Vibecoding approach is like trying to build your own car without having the skills and asking an AI to construct it as the sum of individual parts which all come from different car models from a Lada to a Ferrari. The end result might be drivable, but it will be neither secure nor efficient nor fast nor stable nor maintainable etc. A Frankenstein car. Everyone with half a brain would agree that’s not a good idea, however with LLMs people just do pretend its fine.

Eheran@lemmy.world on 12 Jan 2026 20:24 collapse

Everyone could always learn woodworking, weaving, sewing, smithing, … that is not an argument. The point is that better tools make it easier to learn/perform/perfect these skills. Today anyone with a little torch and a hammer can play around with steel. 300 years ago you had to at least take on an apprenticeship to ever get to do that. Sewing with a sewing machine is so much faster, there is not much time to invest before you can make your own clothes.

Not everyone has 100s of hours free time to sink into this and that skill “the purist way”. Any tool that makes the learning curve more shallow and/or the process itself easier/cheaper/… helps democratizing these things.

You argue as if everyone needs to be a super duper software architect, while most people just want to create some tool or game or whatever they think of, just for themselves.

RedstoneValley@sh.itjust.works on 12 Jan 2026 21:43 next collapse

Well, if you want to use that stuff for your personal use that’s totally fine. But there is a difference between doing that and selling your creation as a product. To pick up on your example, it’s great if someone learns woodworking and puts together a table or something. You probably won’t sell it though because unless you get really good at it, the piece of furniture will not meet the standards for a good product. It’s absolutely the same when using LLMs to put together a piece of software. It will fall apart quickly unless you put some serious work in it. A lot of people think LLMs are a shortcut to learning this stuff and then go on and pretend to be professional software developers. I also doubt these vibecoders learn a lot about about coding when they don’t even understand what the LLM is putting together for them as a result of a few wishful prompts.

xthexder@l.sw0.com on 13 Jan 2026 07:08 next collapse

Not everyone has 100s of hours free time to sink into this and that skill

That’s life, buddy. Nobody can learn everything, so communities rely on specialists who can master their craft. Would you rather your doctor have 100s of hours of study and practice, or a random person off the street with ChatGPT? If something is worth studying for 100s of hours, then there’s more nuance to the skill than any layman or current AI system can capture in a few sentence prompt.

Eheran@lemmy.world on 13 Jan 2026 08:48 collapse

What kind of nonsense comparison is that? Somewhat off topic, borderline straw man.

People still have their job, better tools enable people to do more things in their free time. Some even switch professions later on, once they have enough experience. Lowering the bar (invest, skill, …) is simply a good thing.

xthexder@l.sw0.com on 13 Jan 2026 15:57 collapse

I personally have spent those 100s (actually more like 1000s) of hours studying Software Engineering, and I was doing my best to give an example of how current AI tools are not a replacement for experience. Neither is having access to a sewing machine or blowtorch and hammer (you still need to know about knots and thread / metallurgy / the endless amount of techniques for using those tools).
Software in particular is an extremely theoretical field, similar to medicine (thus my example with a doctor).
ChatGPT is maybe marginally better than a simple web search when it comes to learning. There is simply no possible way to compress the decade of experience I have into a few hours of using an LLM. The usefulness of AI for me starts and ends at fancy auto-complete, and that literally only slightly speeds up my already fast typing speed. Getting a good result out of AI for coding requires so much prerequisite knowledge to ask the right questions, a complete novice is not even going to know what they should be asking for without going through those same 100s of hours of study.

Eheran@lemmy.world on 13 Jan 2026 23:29 collapse

Without chatGPT I could not have repaired things where I simply threw the datasheet at it and got code to reprogram it, like for an BMS. I could not digitize data streams by sniffing I2C. I could not use computer vision to decode a display. I could not make control and data logging interfaces for machines, turning decade old shit into good-as-new just based on their serial interface. Etc. Etc.

a_non_monotonic_function@lemmy.world on 14 Jan 2026 00:45 collapse

It sounds like you still can’t.

[deleted] on 14 Jan 2026 05:36 next collapse
.
Eheran@lemmy.world on 14 Jan 2026 08:13 collapse

How blinded by your hate/rage are you that you blindly(!) dismiss the things I do (a random person you do not know) with the help of that tool? Disgusting MAGA level of “argument”.

a_non_monotonic_function@lemmy.world on 14 Jan 2026 14:10 collapse

Hate or rage? That’s absolutely silly. I’m a computer scientist and I value actual skill.

I mean do a little thought experiment. If there was a dude who followed me around everywhere and I could always ask him for code-based solutions to things, and he gives them to me, am I coding? Have I actually done anything?

You could argue that the system of he and I were accomplishing something together but the problem with that logic is that if you removed me from the system, as a middleman, you’re left with someone who still did the work. In that particular system I add absolutely nothing, therefor I’m not actually a part that is of any real use.

If the box is handing you the answers to things you don’t know how to do then guess what - you still don’t know how to do those things. Eventually you get into a position where you have a product that you can no longer properly understand, debug, or make any real use out of.

I think the real tell here is how sensitive you are if anybody calls you out on your b******* and even the smallest way. Have a nice day :-).

Eheran@lemmy.world on 14 Jan 2026 23:39 collapse

If you use a sewing machine to fix your clothes, did you even do anything? That is the level of argument we are at here. Absolutely ridiculous. It saved me so much time already. Sure I can also digest a datasheet, put all the registers down, glue logic, bla bla bla, but instead of wasting 10 hours I am already done with everything an hour later.

a_non_monotonic_function@lemmy.world on 15 Jan 2026 01:43 collapse

Well you’ve picked an absolutely terrible analogy, which makes sense given how sensitive you are about it.

If you were able to talk to the sewing machine and tell it exactly what to do with the fabrics what patterns to follow and so forth–then no you haven’t done s***.

I sew my own clothes and costumes so I know this to be true. Sewing using a machine is no trivial thing. You have to understand the mechanics of the machine the patterns etc. You have to understand how to read a pattern or come up with one yourself and you have to implement it with the correct stitching the correct fabric and so forth.

If you wanted to pick apart my analogy in an actual careful sense, you would have a situation where you have a person who understands how to use the sewing machine and you give them instructions. But again, in terms of the system you aren’t providing any value. The person doing the sewing is. You would still be superfluous and you still wouldn’t understand what’s actually going on. Call yourself a manager, but don’t call yourself a tailor or seamstress.

But what you did is pick an object That is a regular tool and claim that it’s doing the same job, which is preposterous.

Our compilers already do massive amounts of syntax and semantic checking. Our linyers do the same. There’s a ton of tools that don’t involve articulating at a high level what you want and magically getting back your entire process.

Sure, you’re done an hour later. And you have no idea what the limitations of your system are. You have no idea what sort of bugs are hidden from your test. You have zero ability to comprehend what’s actually going on inside if you don’t actually understand the domain.

What you are is a vibe code or by the sounds of it. Honestly I prefer the old school script kiddies because at least they were doing something themselves.

Basically what you’re doing is the same thing as me opening up CAD and then pretending that I’m an engineer. I’m not a f****** engineer. I didn’t take the right training. I’m not licensed in the area. I can create a 3D model all day long. But that’s literally all I can do.

I think you need to understand your limitations the same way the rest of the world does.

pinball_wizard@lemmy.zip on 14 Jan 2026 02:03 collapse

300 years ago you had to at least take on an apprenticeship to ever get to do that. Sewing with a sewing machine is so much faster, there is not much time to invest before you can make your own clothes.

And four years ago a person needed a $100.00 Raspberry Pi 400 and a $25 Python or Java book, or an Internet connection and the URL for scratch.mit.edu.

I am also a fan of how AI is making coding more accessible. But it was hardly out of reach before AI hit the scene.

Many of us in the community pirated our first proprietary code editors and books; and we worked hard for our whole careers to make sure the next generation of developers didn’t have to steal their entry to the profession.

Then AI slurped up and regurgitated our years of hard work, and newbies are thanking AI tech bro assholes for welcoming them to the coding community; instead of thanking the folks who tirelessly wrote and published the materials that the AI is regurgitating.

It’s fine to agree that AI made a difference. But AI only did the final easy part.

Eheran@lemmy.world on 14 Jan 2026 08:26 collapse

No question, but ethics are a different topic where we seem to agree.

In any case, I find it appalling how much people argue against what they think who I am or more generally that they argue about me at all instead of the topic. Simply because I am not “on their side”. You too do this kind of gatekeeping around “we did the hard work” and “those thanking AI are only noobs”, in both cases I am implicitly excluded/meant the way you phrase it. Mind you, both are very much incorrect. I learned to code MCUs 10+ years ago with Arduino and built a potent simulation tool for the chemical industry just prior to the launch of GPT3. I am also absolutely not a professional software engineer. But why do I need to say that? It should be completely irrelevant to the discussion. Instead, people want to show/see authority as if it meant anything.

pinball_wizard@lemmy.zip on 14 Jan 2026 14:45 collapse

I don’t mean to argue with you. I’m just trying to answer your implied question - “Why are so many programmers angry at this new tool?”

Like artists, this new tool steals our work without giving due credit. And then it tries to replace us with a low quality mass regurgitation of our past work.

I’m not angry that you have this new tool, I’m still happy if it helps you.

I’m angry at how this tool was created and how it is being sold and monetized by scam artists.

Edit: I guess I am arguing one point: People keep unjustly crediting AI for making an on-ramp for new developers. AI didn’t do shit. People like myself built that on-ramp. I am happy that AI made the on-ramps I have helped build more discoverable. But I wish folks would not lose site of the fact that AI is just regurgitating guides that I, and my peers, wrote.

It is annoying (and a little insulting) to constantly hear about how helpful AIs answers are. I wrote many of those answers. AI copied and pasted them.

Edit: I’m not mad at AI users for having easy access to something I wrote. I wrote it for them.

I’m mad at AI Tech Bro’s for stealing my work and taking credit for it, while charging people for something I gave away for free.

Eheran@lemmy.world on 14 Jan 2026 23:43 collapse

Yes, completely relatable.

monogram@feddit.nl on 12 Jan 2026 19:20 collapse

Fuck off AI