Kartikay

Talking to Computers

Open AI released a new update. You can now talk to your computers just like a human. Low latency. More responsive. It got me thinking about how I talk to computers.

The way I do it is more intimate. I am a low-level programmer. I write firmware code in c mostly. I think about the hardware that runs my code more than the average programmer. Yet if it was the 1980's I would be a very high-level programmer. The assembly lang bros will look at me with contempt the same way I look at the python bros. The thought alone makes me shiver.

How we talk to computers has evolved. So many great engineers built the infrastructure that I use today to turn my c code into machine code. From the libraries, the operating system, and the compiler. There is a sort of deterministic heuristic-based intelligence built into the infrastructure. It optimises my code as it turns it into lower forms of abstraction.

Such conversions lose on certain optimisations that a cracked assembly language engineer intimately familiar with the hardware can do. But I can write more code in less time. Solve problems from a higher abstraction level. A tradeoff.

We have been going to higher abstraction levels in our communication with computers. At each level, we make this tradeoff. The next frontier is talking to computers just like a human. The friction is low here. As the underlying infrastructure becomes more capable and reliable(hallucination issue?) programming will become 'speak and do'. And one day with Neuralink it will be 'Think and do'.

Those worried about programmer relevance don't understand that programmers are paid for solving problems and not for the 'arcane' ways they talk to computers. Any real software engineer will tell you writing code is just 20-30% of the job. The rest is problem-solving. And as you move to senior roles you write even less code.

I am excited about how things will evolve. How the whole plain language to machine code translation infrastructure will look like? How do we get to a reasonable conversion efficiency where the tradeoff is worth it for most applications?

I am in awe of the infrastructure the previous generation of engineers built. I want kids from the next generation to feel the same awe with the one we build.