Vibe Coding & Photography

Are LLMs to software engineering what digital cameras were to photography?

Vibe Coding & Photography

We often compare creating software and the arrival of LLMs with the horse and carriage and the arrival of the car. I think that’s a flawed analogy. And I think I have a better one.

I’d like to claim some form of superintelligence here but the truth of it is that it’s not even my own idea but a bit of an amalgam of a few ideas from people in the photography and software communities. I think LLMs might be for software creation what digital cameras have been for photography.

Film photography is like creating software without LLMs. Taking pictures with old film cameras required you to understand how to load and process the film (or use the services of someone else who that for you). You had to understand how to expose the film correctly without any live feedback on a little screen and you wouldn’t know if you’d got it right for hours at best and possibly days to weeks at worst once the film was developed. A significant part of taking a photograph involved technical skills around the operation of a camera, a light meter and dealing with film. There were entire professions that did this and never pressed the shutter button to take a picture. All this before we even start thinking about what the picture is even of.

Without getting into a complete history of the evolution of digital photography, I think we can agree that modern digital cameras (think of the phone you’re reading this on or in your pocket) make it such that getting those basics wrong is close to impossible. You’d have to try pretty hard to take a picture that is incorrectly exposed and you’d know about it before you pressed the button.

We have more photographs (real ones, not even AI generated ones) in existence today than we ever had. Many more of the photographs we take are of no interest to anyone but ourselves. Yet we still pay people to be photographers. It’s still a viable career.

The work of a photographer shifted. A photographer still understands how to correctly expose a photograph (or when to deliberately not) but the amount of effort in that is far lower than it used to be. Instead, the work shifted to the content of the photograph. How its framed, the composition, the lighting, the subject and most importantly, the story it tells. This was always important. Great photographs even from the film era still needed this.

I think creating (and I used the word creating very deliberately) software is in the same boat. LLMs (and vibe coding and tools such as Lovable in particular) have taken away much of the skill that was needed in creating software. In much the same way anyone can take a competent picture with their phone today, anyone can create software using these tools. In much the same way digital cameras have shifted where the effort of a photographer goes, LLMs will (have?) shift the effort of software creators. Just because you can take a picture on your phone doesn’t mean anyone else wants to see it. Just because you create a new game using Codex and Astra doesn’t mean anyone else will want to play it. And that might be just fine.


Photography today is in an interesting place. There’s a revival of interest in film photography. People are paying inordinate prices for old digital cameras to obtain a “filmic” look to their photographs. Modern cameras (and your phone) come with built in modes to make your photographs look like they’re old.

I’m sure part of this is just the cyclic nature of fashion and trends but a part of it, at least from the photographers, is chasing the process. A desire to make photography slower, more deliberate. Removing the work that went into taking a photograph took away something from the final output too.

I think we’re seeing the same with software. The slow and difficult process of creating software wasn’t just a barrier but promoted deliberation, more refinement before ever typing the code. Sometimes the limiting factor isn’t the ability to write the code but to refine the idea.

The photo? I’ll let you guess how it was taken and how old it is.