500nits

transforming ideas, automating tasks

What does it mean for a software company to use AI

A live coding session used to be the clearest window into how a team builds software. Give someone an exercise — say, writing an algorithm that spells out the numbers from 1 to 100 in letters — and watch how they approach the problem.

Today, that is not enough. Asking someone to write a small algorithm does not tell you how they build software anymore.

When working with agents, we are not following the evolution of the program in the same way we used to. The work is shifting from writing logic to defining intent, and at the scale of 30 devs on the same repositories, that intent needs to be explicit, shared, and maintained. Otherwise every developer gives different directions based on a different understanding of the same system: using AI is not just having Claude's logo in the roster of tools next to Terraform and the database (no offence, Terraform).

These are some of the questions that start appearing once AI becomes part of the actual development process:

  • Are changes produced with agents reviewed differently?
  • Is the current architecture and its evolution maintained in plain source files that both people and agents can read?
  • Are repository and project rules being organised with OpenSpec? If not, are they at least maintaining AGENTS.md templates?
  • Is the team using any kind of memory system — Cognee, Graphiti, or something internal — to keep the context of all of this together?

These are not necessarily requirements for every company. But they are the kind of questions that matter once AI is not just another isolated tool in the stack. It affects almost every part of software development.

Done right, it makes the work easier to control.

Done badly, it becomes a jungle where everything can go wrong, no matter how many tokens you use or how smart the models are.