Showing posts with label disruptive technologies. Show all posts
Showing posts with label disruptive technologies. Show all posts

August 6, 2026

Generational Tech Debt

This Sunday morning, my son played two games I wrote 23 and 24 years ago for a device now long gone:


(This is a "Telenor Smartphone", an ISDN-based beast of a device from the early 2000s)

To be precise, what he played was an HTML5 port of a Snake game and a PacMan clone, running in Chrome on my Mac. Claude Code, with Opus 5 as the underlying model, got both right on the first attempt. When he found PacMan a bit too hard, we added a "cheat mode" where the ghosts are 20% slower and you can eat them for twice as long. Then it was just right, and he had good fun. Which is my first and most optimistic point: AI can make all of us builders, and being more efficient, we can build and tinker much more than before.

As a side track, I also asked Claude to review the old code, expecting to be told I was a genius for having pulled this off on the side while studying. Not so much. When a review opens with "what is most impressive is not the code..." and goes on about the level of reuse we would expect today (it did bring up Fowler; in my defense, what we expected in terms of reuse in 2001 was not quite what we expect now), you know it is not giving you an A+. I did get credit for some architectural choices and for being clear about tradeoffs in the comments and whatnot. I'll take it.

Back from the 25-year-old vintage code. In my role as product manager at Artifik, where I still code even if slightly less than I would like, I estimate AI has made me factors, not percentages, more productive at writing code. We also find AI very useful for testing, for design work and prototypes in particular, and for general office work, but we have a way to go before we see quite the same improvement there. Which brings me to my second point, in the form of a question: Will AI deliver the same level of improvement for all work as it already has for coding? My current best guess is that it very likely will. Going beyond work that manifests itself digitally will likely only happen in the longer term, even if Optimus and others already do impressive limited demos.

This is a slide I often use when I present about our use of AI externally:

(Please go and see "Annie Get Your Gun" on Broadway rather than suing me, image courtesy of Spotify album from the musical. Fun fact: In Norwegian "AI" sounds more like I, so it works even better)

Cheeky, but it feels more and more true.

A concrete signal of that spreading beyond code: Cloudflare has just open sourced Cloudflare OS, the AI productivity environment they use internally. The interesting part is what they call gadgets. When you make a slide deck there, you are not connecting to a slide deck service somewhere in the cloud. The system creates a private instance of the slide deck software just for you, and if it is missing something you need, you ask your agent to add it. A gadget sits somewhere between a document and an application, rewritten by the user with AI as they go, and it blurs the line between apps and data. Worth a pause, because blurring that same line is exactly what SaaS did to the dominant design before it, when your data stopped being a file on your machine and became something living inside someone else's application. SaaS may be about to get the treatment it gave the desktop.

Their contribution policy may be the most interesting thing in the repo, and it is where this stops being about Cloudflare. They are not accepting external code contributions, and the reason they give is worth quoting in full:

"AI has made writing code easy. The hard part, today, is not writing the code, but reviewing it, making sure quality stays high, and keeping the product coherent. In that light, unfortunately, external code contributions are 'donating' the easy part of the job, while creating more of the hard work."

My main point of this post is about tech debt, and not the conventional kind. I am quick to dismiss the "when you use AI you create a lot of code no-one owns or fully understands" worry. This happens with human team members as well. It just happens faster when you are more effective. And getting to know unknown code is something AI does insanely well. In fact you can argue that it does more or less exactly that every time you use it, however perfect your harness is. (Look out for "I had to build my own harness or model router" as the same risk marker as the people who wanted to home-cook their own template engine or dependency injection framework a decade ago, by the way.) None of that keeps me up at night.

The one version of that worry I do take seriously is the one Cloudflare just named: The problem is not that nobody owns the code, it is that right now review, taste and coherence do not scale the way producing code does. I am guilty of producing quite a bit of that work myself, liking to "get things done" with AI.

My real worry, though, is what I will call generational tech debt: the competence, and even the taste, for coding and architecture that never gets built in the first place. I don't mean only that the people who knew a particular piece have left. I mean that fewer and fewer people learn coding deeply, and therefore never build the muscle memory that later shows up as sound architectural choices, and as not making the same mistake twice.

It could be that in the long run we will simply see other competencies mattering more, and that the next generation of software professionals has a different profile. That is a real possibility, not a strawman. But there is some combination of skill, taste and creativity that I think takes longer to develop than AI can currently shortcut, and right now I do see the danger.

Readers of the poker series here will have seen this film before. Solvers arrived, and a generation of players got sharply better and sharply more correct. What did not obviously come along was the ability to look at a specific bad opponent and work out how to take his money, because a solver assumes the guy across the table is playing as well as you are. It also cannot tell you which spot to solve, or what your bet sizes should be, and it hands you an answer per node, while the real work is compressing thousands of those into something you can use at the table without a laptop.

I think coding is running the same experiment, with one difference that should worry us more, not less. In poker there was a ground truth. You could go home, run the spot, and find out you were wrong. There is no solver for "should this be a separate service", and no printout telling you your abstraction was bad. The bill arrives three years later, disguised as something else, usually as reduced velocity.

Which leaves a tension I have not resolved. My first point was that AI makes all of us builders. But at this moment in time, AI coding is still at its best in the hands of people who were already very good at coding and building manually. Both of those look true to me. The uncomfortable question is: Where should the next cohort of already-very-good software people come from, if the ladder they climbed is the part being automated? This is the more fundamental tech debt, and a generational one, with potential impact beyond individual companies.

This might of course change. For casual users, AI already mostly catches your intent correctly, where 6-12 months ago you had to get the prompt just right. I suspect much the same will happen to coding. It could be that when humans look back, what amazes them will not be "you can instruct computers in your own language to do things from scratch", but the perhaps relatively brief period of give or take 70 years where we actually had to have specialists communicate with computers in their language, rather than use ours.

So what do I want my son to do to be prepared for this world, besides playing the games I coded a quarter of a century ago? I don't have a clean answer, which is a little uncomfortable in a post that spends this long on a danger. The cliché is still the best I have: Enjoy what you do, be very willing to adapt, and love learning. I know the feeling of being in the steepest part of the steepest S-curve is partly a feature of getting a bit older, but heck, things are moving faster than ever. At least I do enjoy the ride. The title was not intended as a pun on what I owe my son in advice or tech training. But as an installment on that debt, I try to supplement Mark Rober (former NASA engineer, of thinking-like-an-engineer YouTube and Netflix fame, and one of my son's favorites) as best I can.

April 2, 2015

Imperfections of personalized advertising

I am pretty excited about the possibilities of blending online and physical traces to deliver more relevant content and ads. So Kjartan and the guys at Unacast are chasing a huge opportunity for sure.

That being said, there are certainly smaller fish to fry - so to speak - first, because even the current cutting edge personalization engines (of the likes of Google) are so far from perfect.  I would even say they are totally broken. A few samples from the last two weeks:

  • I was on a day trip to a city in the south of our country last week. On the airport I briefly checked if it made sense to rent a car instead of jump into a taxi or bus (I was picked up in the customer's Tesla in the end...). Since then, there have been ads for car rental in that particular city all over the Internet. 
  • The last thing I bought on DX.com is shown me all the time, and the same applies to my last MPX.no purchase. Since I just bought these things, the ads are less relevant than ever.
  • My Google Apps CRM shows up in ads for me all over the place, even if I am already using it daily.
As an engineer, I have no problem understanding that it is difficult to know what is (still) relevant for me. Some of the cases would require deep integration into ecommerce systems connected to ad platforms, and possibly raise additional privacy issues. But as it is, I would say that personalization in these cases make the ads less valuable than if they were not personalized. 

So before having my browsing of cars in the physical world affect the ads I see online, I would like to see the more basic problem fixed. Maybe the solution will come from the same provider (and I am sure it will be bought by Google) that cracks the "beacon code"?

September 24, 2013

Correct, Clay? At least in theory.

In a well-written post titled "What Clayton Christensen got wrong", Ben Thompson uses the iPhone as a proof that the theory supporting the disruption-from-below pattern might be wrong. He puts forward that the faulty claims of Christensen are:

(1) Buyers are rational & every attribute that matters can be documented and measured
(2) Modular providers can become “good enough” on all the attributes that matter to the buyers

The grouping of his first two items into (1) is intentional and lets me come to my quick response right away:

(1) Non-functional attributes are of course important to buyers, even professional ones[1]. This is kicking in open doors. Just because Clayton Christensen is not good, or at least has missed here, at predicting just how important they can be, it does not really make the theory wrong. Brand counts. Feeling counts. (And why touching the iPad 1 screen still feels superior to the very newest Android tablet is a mystery to me, but that is a side track!) I'm no expert of rational choice theory, but accounting for these non-functional attributes does not make it less rational in my use of the word - and if the theory is to have any use modelling consumer behaviour, for sure such non-functional elements must be factored in as attributes in some way. If not, it would be useless for this purpose.

(2) The good-enough-curve[2] for mobile phones, a product with usage patterns very personal and frequent, might be pretty high. So iPhones may still not over-serve their customers as much as Clayton Christensen thought they would in the interviews mentioned, thus the theory as such can be correct. Maybe the high positioning of the curve is particularly true in countries with strong buying power, but another piece of anecdotal evidence pointing to the same being the case for developing countries is how smartphone penetration is increasing there (not yet so much for iPhones, but relatively speaking $100 Android devices are also put pretty high on the list to make the cut for many of their recent purchasers!).

I've heard Clay Christensen speak on the topic a couple of times (a long time ago, but I still recall it with joy), and he does not really claim this is the only pattern of paradigm shifts - which means it cannot really be proved wrong by providing counter-examples as such, if it still accurately describes (and maybe even predicts) others.

It is very useful to point out, as I tried to do to the students in my Entrepreneurship class today - leading to one of the students reading Ben Thompson's piece with plenty of great references, that it cannot be used as a simple acid test for new ventures. It does not have to be a disruptive innovation to succeed - and planning to disrupt an industry segment is easier than doing it anyway. Thinking about it is still useful for positioning the product and learning which segments will appreciate your value proposition.

In my opinion it is bold to claim at this point that Apple will never fall into the trap of marginalizing their real market over time, by only focusing on the top end. In some of the old examples in The Innovator's Dilemma, there were "genius CEOs" (and they were, at the time!) focusing on the high end of the market for improved profits. Of course right now, with 5Ss and 5Cs flying out of stores of the rate of 9 million over one weekend (AAPL stock price was up the day of this blog post because of this), it seems Apple is far from in that situation just yet.

[1] - The claim that professional buyers are extremely rational might be about as misleading as saying consumers are not. It all depends what you measure into that value. What is the value of the McKinsey brand for a strategy project and is not some of that irrational and/or unconscious? Why does Coke taste better than the white label variant sold as as a store chain's private label, even though they cannot be separated in blind tests?

[2] - I'll borrow Clayton Christensen's own illustration of this from a guest lecture at MIT Sloan back in 2007:


What I called the "good-enough-curve" is that dotted red line of average consumer performance utilization of a product.