This morning it hit me why some of my AI software projects aren’t interesting to me. Basically it is the mirror of the sunk cost fallacy. There, we cast a desire to hang on to something – throwing good money after bad – as a flaw in our thinking. But in my case, I realized that it’s that instinct to value a project I poured resources into that gets it through to the finish line. The feeling pushes me to refine it into something until I at least like it, if not take pride in it.

Building something complex sinks costs into moving closer to your goal, and also build skills for reaching the very specific project goals. You just spent two weeks getting really good at a UI library or new database; you’re going to be inclined to use them. Maybe it’s a cognitive bias, but it’s a useful one.

The sunk-cost fallacy works differntly: It’s a fallacy precisely because in the case of an investment, the stock doesn’t care how much money you put into it over the last year. All that changed is your attachment to the stock. You don’t lose anything by selling. You’re not throwing away the fruits of your labor. You didn’t – and can’t – actually control its fate unless you’re mega-rich. Even then, a bad business is probably just hopeless. On the other hand, developers we often have a stake in a project’s success while also influencing its success a great deal. A half finished project is something to build on.

My recent AI projects, while kind of fun for how many ideas I can try out quickly, don’t interest me much once I finish. And by finish, I mean get them to a proof of concept state and then abandon.

When you didn’t invest a lot of yourself into something and can’t really claim you even made it, what’s the point? Obviously there’s utility in the software itself. It’s pretty clear to me now that for most developers who love their work that was never the main reason they did it. I’m a results oriented person, or I thought I was. Even so, removing most of the process on the way to the result feels pretty depressing.

After more than a few experiences like this I’m wondering what I can do to get past the boredom to see an AI built software project through to where it’s a decent product. Why don’t I develop much attachment to AI-first projects? I think there are several benefits that building the traditional way bring, and a lot of us aren’t totally concious at first of what we’re missing out on. Here are some problems to overcome:

  • In general, Building with AI doesn’t elicit the “ownership” feeling or “Ikea effect.”
  • I’ve noticed a reduction in extrinsic motivation.
  • The feeling of learning and improving every day has gone.
  • The immediate motivation to learn every day has gone.
  • New ideas don’t come as easily (I know this is pretty subjective.)
  • Understanding one’s own project implementation detail has gone.
  • Attention gets fragmented, which is bad for learning.
  • The perceived value of our work-product is lower (see extrinsic motivation.)
  • Writing lines of code can be very enjoyable for some, and that’s gone by definition.

Extrinsic motivation

Software is now suddenly a cheap commodity compared to a few years ago – it used to be worth spending effort on, refining and really thinking about what you built. Now it feels like whatever you build gets buried by a flood of AI output, and whatever little extra I might produce is of no interest or value to anyone. In other words there’s less extrinsic motivation available. Even for the silly little projects or hobby programming languages that won’t be products, I could stick them in my portfolio and share on Github.

I’m not especially extrinsically motivated, but man I feel it when it’s gone. Some people misunderstand this point: It’s not that I or most developers expect to own a startup or get rich on our coding skills or become a celebraty developer. There are gradations of fame though, and even when nobody knows who you are, knowing you made something people use all the time is also an extrinsic motivation. It can be as small as helping your team at work get unstuck on an unusual problem only you had experience with. That never leaves the team and it’s just part of the job really, but it matters.

Idea Generation

The hand coding process itself serves as an idea generator. This matters a lot for some user interface heavy applications but it can happen on almost anything. Sure you have a end goal in mind but as we all know you don’t get the best results through complete up-front design. Working closely with the APIs, UI libraries and testing out your code is the best way to prompt thoughts about how to recombine finer building blocks to solve a tricky problem or achieve a unique effect.

You miss all that using AI. Choosing the technologies and making opinionated UI choices isn’t enough. You can get the AI coding agents to make something to your liking with careful choices and steering but (1) you’re not enriched in the process, and (2) you miss out on serendipidus discoveries.

Skills building

Related to idea generation, does it make sense to learn a new programming language and ecosystem these days? It’s quite a lot of effort to get on board, and much more to get highly proficient. You have that “easy” button right there.

You also developed “micro skills” while iterating on design details when coding by hand. Little facts about CSS, little tricks for saving time starting up your app, how to implement a complex control: These bits and pieces all add up and can effect the taste you bring to future projects.

In the extremely recent past, learning, one of the most fun parts of the job (or hobby even more so) luckily lined up with one of the most valuable activities you could pursue. Now it doesn’t make economic sense and you’ll work quite slowly for a while teaching yourself. When you get good, what was the point? This line of thinking may not be correct but it has a strong pull.

Woodworking is a bad analogy

Some people suggest thinking of software development like woodworking. Automation displaced the artisen furniture maker, but plenty of home woodworkers still exist and enjoy the hobby. This is supposed to make us feel better I guess?

The woodworking analogy gets thrown around quite a bit but it’s very flawed. Making a coffee table at home will result in a pretty nice table if you have decent wood and know just a thing or two. With more skill you can make an incredibly nice piece of furniture with basic tools. Better tools will help you work faster of course and some stuff can’t be done all by hand.

Ikia sells a really cheap and easy to assemble coffee table to provide you with essential utility and style, but it’s not the same quality. Hand-crafting furniture has a quality of its own and even makes economic sense for those with the time and skills to build it, assuming they want high quality furniture. Software doesn’t exhibit this difference.

The point is that building your own coffee table gives you something you can use for fifty years. It may well outlive you. It can be made of solid wood and look nice, even impressive. It can have character. It will be very rugged. You can actually save money and time if you want comparable quality from a store (but you probably won’t find a comparable piece at your local furniture store.)

Woodworking skills overlap with home-repair skills. You will have tools to loan to a neighbor and skills to help them out.

Hand crafting software doesn’t bring similar benefits to hand-crafting furniture, except that the builder understands it in a way they can’t understand the AI built equivalent. That’s about it. Does that even matter if you can use AI to understand it for you?

The very existence of competent AI software agents wipes out the value of hand coding in a way factory made or flat-pack furniture doesn’t. The contrast is much stronger.