Code has _always_ been the easy part
When I joined Etsy the team was two years into a rewrite chasing a more elegant architecture (actually two distinct incompatible elegant architectures), and hadn’t shipped a customer facing feature in that time. I like to say (and it may even be true) that stopping and pivoting the team to standardizing on PHP was critical to unlocking everything that came later at Etsy. After all, no one ever has to argue about what elegant PHP looks like.
We’ve always had this tension. We’ve always fetishized the act of writing code, the quality of the code, the code as the primary artifact and IP. And on the other hand successful teams have always known that the value is the system, the value is human-technology hybrid that allows a product to be delivered, meet customer needs, evolve to provide more value over time, meet the spoken and unspoken needs of the problem domain, etc. This confusion in our thinking has laid at the heart of why, for example, technical hiring was such a disaster for so long. (Hiring continues to be terrible but it’s actually much better than it used to be. We now make fun of teams that ask you to reverse a linked list on a whiteboard while evaluating if they’d like to have a beer with you. That used to be the norm)
Said another way, we’ve known for a long time that code is the easy part. Has arguably always been the easy part, but certainly has been the easiest part of building software for the last several decades.
Yes: this is a genuinely new moment.
Yes: the last 3-4 months of frontier models, and Claude Code and its ilk are genuinely something new in the world.
Yes: the cost of producing code is going plunge towards something near to zero faster than almost any of us can imagine, and that’s going to require a ton of change.
Yes: it’s already breaking social contracts and requiring rethinking about how teams work together. (Review is fatiguing in a way that creating is not, something else we’ve known for a while.)
Also yes: I’m feeling the dissociative awe at the temporal compression of change.
But code being the easy and cheap part is not new.
Technology changes requiring us to rethink our social contracts and how our teams work is not new.
The web, CI/CD, large scale sites, mobile, SPAs, machine learning and data, all of these broke how teams worked and required us to invent new ways of working.
I think it’s fascinating to read about running a dark software factory with a team of 3 people. I think as a leader with a much larger (though comparatively small) team of humans I’m going to need to be equally creative on the right way to incorporate humans rather than exclude them from the process. And honestly those conversations are fun. It’s been a while since we’ve gotten to throw all the pieces up in the air and see what works.
It’s reasonable to be skeptical of AI because so much of the hype around it, and so many of the people hyping it (and profiting from it) are also at the nexus of the most amoral and sometimes out right evil aspect of how capital has transformed tech. (Does anyone else miss when tech was funded by nice, morally uncomplicated actors, like the US Department of Defense, back when it was still called the Department of Defense)
It’s also reasonable for people who entered technology in the last couple of decades because it was good job, or because they enjoyed coding to look at this moment with a real feeling of loss. That feeling of loss though can be hard to understand emotionally for people my age who entered tech because we were addicted to feeling of agency it gave us. The web was objectively awful as a technology, and genuinely amazing, and nobody got into it because programming in Perl was somehow aesthetically delightful. (The language is referred to as write only line noise for a reason)
The cost of code is going to zero. That’s genuinely neat, and mind blowing, and going to require reinventing so many things. It was still never the hard part.