Software is manufacturing now
24 February 2026

I’ve been wondering for a while when software development would mature past artisanship. I think that we’re peeking over the wall of that transition now. Formal processes development has existed since the beginning and it is used to create the most mission-critical and fault-intolerant systems, but the VAST majority of software has been created by developers in shops banging out code (sometimes tested).

I used to think that the maturation would be consensus and hardening of libraries that are glued together to build systems that could only come out in a few different ways. Similar to how there are only a few ways to build a bridge. In the past year, though, I’ve come to think that it’s really just going to be the commoditization of coding via AI. It’s soft and error prone now, but it is getting and will continue to get better and cheaper.

In today’s world there is a gulf between a cobbler and someone who makes shoes. A cobbler creates by hand with tools in a workshop where they control every stitch, every cut, and every layer of the shoe. Someone who makes shoes owns or works for a business that owns a factory, or factories, or buys shoes from other factories or that makes shoes en masse. They know how to make a shoe, but the problems that they really deal with are efficiency, automation, supply chain, business management, marketing, sales, and accounting.

People are afraid of AIs replacing programmers. It’s happening. It will continue to happen and programmers in 5 years will be like cobblers today. They will exist, but they will be fewer in number and they will write bespoke software for excruciatingly niche functionalities or their own personal satisfaction. That’s okay. That means the field is maturing. I think that programmers need to understand that programming is the means to their actual goal: delivering digital functionality.

Software developers in the future will be more akin to factory managers and employees. The machinery is LLMs and agent swarms that output code. The “human” roles in the system will be just like factories: adjust the things that LLMs can’t, design and curate the processes, manage the edges, and ensure quality and requirements adherence. It won’t be EXACTLY akin to manufacturing roles, but I think that the analogy is sufficiently useful.

I think this leads to 2 things to think about as current or graduating software developers:

  1. Things are going to change, so you’re going to need to adjust your perspective on what you do. You’re not a code monkey, you’re a digital functionality deliverer. Reach for the tools at hand to accomplish this. Know the architectures and important patterns, academic understanding is going to be much more important because you’re not going to have nearly as much hands on experience.

  2. This is actually going to be a tremendous opportunity. If you’re a software developer right now, your business competitors are seeing AI as a chance to do the same work for 10% of the cost. Understand that you can run circles around them by delivering 1000% of the functionality for the same cost. You can literally test out an idea in a day now.

Things are going to be different going on, but I’m not afraid of a software apocalypse. We’re going to have to understand the new tools at our disposal and we’re going to get so much more done.

Comments and Reactions


LLMs and the death of apprenticeship
14 May 2025

Full disclosure: An LLM helped me write this post. I am part of the problem.

I have been running my small business, Bastion Data, for 8 years now. That’s a pretty good run for going out on your own, I think. I have been mostly a one-person shop, with a few expert contractors brought in to help me with things here and there. One of the great milestones that has always seemed like a natural progression is bringing in a junior developer to help me get work done for my customers and train up. In the context of my company, it would be much more like a traditional apprenticeship: I’m a craftsman and businessman bringing in a novice that I’d have to spend a good bit of my time to capacitate. That milestone was removed the second I had an LLM write semi-functional code.

As I started to use and figure out the best way to accellerate my work with Claude, ChatGPT, and other LLMs, it occurred to me that I was interacting with the AI the same way that I would with a junior. I’d come up with the bite-size task I needed to accomplish, design the logical solution that I wanted, and then write up a detailed description of the problem and the solution I wanted. The AI would think for a minute and propose a solution. It would also provide a description of the code it was proposing (or modifications it wanted to make), and more importantly why it wanted to do that. I’d review the code, see if I was happy with it and either propose modifications, ask for a different approach to be made, or accept the changes. Lots of times it would take many back and forths to come up with an acceptable solution.

This interaction model was producing great results and I started to default to starting most solutions in my work by creating a problem and solution description and throwing it at the AI. I was aware from the start that this was exactly the way that I’d work with a junior developer who I didn’t yet trust with any autonomy.

Coding with an LLM is like having a blazing fast junior developer who knows everything but has no wisdom. And will never improve.

So, when in full flow in a coding session with an LLM, I can basically do the full task, feedback, re-task cycle virtually without waiting. While an actual developer would go off for an hour or two, the AI does it in seconds. The cognitive overhead is pretty high to get so much done so quickly, but it can turn a full day of junior work into 30 minutes to an hour of supervisory work.

And thus is this problem. I now have no incentive to bring in a junior. I have no incentive to train up another engineer or developer. I have no incentive to pay a salary for work that I can get done with a $15/month subscription. I accellerated, but the ladder is pulled up behind me.

Perhaps the busy work won’t matter - I might flatter myself in thinking that the low-level grinding I did when I was an apprentice laid the groundwork for my skills, but there reason to think what’s considered low-level will always be the same. I conceptually understand assembly code and foundational systems design, but I never did busy work with them. Perhaps algorithms and systems design will be abstracted away by LLM coding the same way that I run interpreted languages instead of microprocessor code. I think, though, that the “softness” of vibe coding is a level further than that and trusting human knowledge (and all its bugs) funneled through a probability distribution is a level further than that.

Regardless of the actual work that gets abstracted away in the future of software, LLM assisted coding has removed the need for me to hire an apprentice. I could always use another senior developer, but I don’t see a future need for a bright-green junior developer. And that scares the crap out of me for anybody wanting to start a career as a developer.

Comments and Reactions


Trust in Computing - Apple and "freedom from..."
25 November 2020

“Everything is amazing and nobody is happy” is a sentiment expressed by Louis CK and explained fairly well in The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker. Similarly, we are in the most usable time of technology and human ability ever. Access to information and functionality has never been more available to more people at any time in history than now.

This marvel is built on an incredible foundation of complexity that even experts can only fully understand a few layers of: the physics of the radio for cell and wifi signals and the light and electrics of wired connections, the engineering of the hardware for the dozens of interconnects from me to Google, the dizzying stack of software from whatever’s modulating and demodulating the physical data signal to the browser interpreting runtime software to add padding to a text field and send data right back down that stack. Plus the organization that requires thousands of people to maintain and develop all these pieces, coordinate and advertise their efforts, and make sure that their output is turned into food and shelter for them and their families. Take away any of these things and the entire thing becomes expensive plastic, glass, and metal.

On Thursday, November 13, 2020 some of Apple’s systems were unavailable for a period, including a service that provides data about signing certificate revocations for running software on Mac OS. If you don’t know what that means, that’s okay. It’s just expert-level knowledge in one of the millions of domains of modern knowledge that people cannot possibly hope to understand even a tiny portion of.

https://news.ycombinator.com/item?id=25074959

To hear the tech experts talk about it, though, your very freedom was being horribly infringed by Apple. How dare Apple dictate what software and in what manner it can be run on a computing device. There were dire warnings of mass abandonment of the Apple ecosystem by developers and what catastrophe their exodus would portend for the company.

I think it was just a bug that happened to affect a lot of people temporarily that will probably be addressed at some point. My browser is taking a few seconds longer to launch because of an availability issue of a security server? HEADS WILL ROLL. Seriously, though, it’s a minor issue with a small component of a much larger complex system designed (and mostly working) to protect the 99% of users from the malicious actions of a small number of experts.

The bigger issue the experts had, though, is the larger security system on Mac OS that this shined a light on. Apple’s “walled garden,” or their locked-down ecosystem that only allows Apple-approved software built by Apple-approved developers to run on Apple-sold devices, is often bemoaned as a freedom-less nightmare. The fact is the walled-garden has done a great job protecting the vast majority of users from the very real threats of privacy violation, identity theft, and monetary loss. They wouldn’t have the expertise to exercise the “freedom” they’ve lost and that freedom would come at the cost of leaving them as a lamb in a world of wolves.

The important distinction (and one particularly relevant to the other situations in 2020) is the difference between “freedom from…“ and “freedom to…“. Many times my freedom to will infringe upon someone’s freedom from. I think that, given the danger of bad actors, the Apple walled garden represents a way for consumers to choose freedom from.

The frustration that the experts who value freedom to have is that it just looks so darn comfy over there in the walled garden. The design is thoughtful and most everything just works. A stark difference from the digital world built on 3 decades of freedom to.

Comments and Reactions


Introducting Atlanta's Best Sidewalks
31 August 2017

I’m sure many of frequent pedestrians in Atlanta have experienced the absurdities of the sidewalk conditions in the city. From just your basic “sidewalkus interruptus” to “sidewalk closed, use other side” on both sides of the street to just a big muddy hole you have to walk in, we have all been victims of the cruel joke of Atlanta’s best sidewalks.

Only in Atlanta: no pedestrian access to park.

Blocking the sidewalk along a busy street with suicide crossings? No problem, just throw up a "sidewalk closed" sign. Pedestrians don't even get a metal plate.

I have launched a gallery to put the best of these examples. I call it Atlanta’s Best Sidewalks. You can find it and post photos of your own favorite sidewalks at: https://www.atlantasbestsidewalks.com.

Go forth and find the best sidewalks in all Atlanta!

Comments and Reactions


Why people hate Comcast
22 February 2016

People love to hate their ISP/Television/Telecom providers, even more than their health insurers somtimes. Why the ire? Why do companies that provide what most people think of as an added-value service seem to hold so much emotional power over them? There seem to be many answers: high prices, missed appointments, service outages, bad support, pushy sales, and monopoly tactics. None of those could account for the absolute contempt that people have for their ISPs.

I think the answer is much simpler than any of those explanations. It’s all about how the providers have framed the relationship with their customers: as an adversary. Because of the way that a company like Comcast chooses to squeeze at every opportunity, the customers have been trained to push back at every opportunity.

When you make a relationship a war, every interaction is a battle.

Indeed, Comcast has made the relationship with their customers a war. Ever year you have to fight with them against the arbitrary increase in price. What you’ve been paying was just an introductory price. You know, like drugs. There’s an actual disadvantage to being a loyal customer.

You get bombarded with sales pitches when you call support to get a broken connection fixed. They seem to be oblivious that a time when their customers’ temperature is running hot is probably not the best time to pitch spending more money. In a sane customer relations department the goal would be to do everything to get the customer happy again. Further infuriating them is just a bad idea. Unless you’re operating from a position of supreme power.

Because in most areas the ISPs operate as a monopoly, they absolutely do not care about their customer relationships. It makes perfect sense from a business point of view. They exist to make money. Customers are money-generating resources to be maximized and happiness costs money. If the only way to get internet access is via Comcast Comcast only needs to keep the customers from deciding to forego internet access entirely. That’s a pretty low bar so Comcast can squeeze their customers pretty damn hard.

The donwside to this strategy is that as soon as a competitor enters the field customers will jump ship no matter what Comcast does. Wherever Google Fiber has entered the market people have subscribed despite it being potentially more expensive (although not for the same service level).

Personally I’d switch away from Comcast even if their service were free. Why? Because they’ve made an enemy of me.

That’s the attitude that the incumbent ISPs have to deal with in any market where actual competition crops up. Maybe I’m overestimating the memory of the average consumer, though. Maybe once the competitive landscape changes and the problems with the new entrants crop up people will forget how much they hated Comcast.

Comments and Reactions