0%

Programming in the Age of AI

Assistance That Works Beside You

Most AI help for programmers is unglamorous and constant. It sits in the editor while you work, and you see every line it produces before anything happens.

That is the half of the field worth understanding first, partly because it is where you will spend most of your time, and partly because it is genuinely wonderful for learning.

Finishing what you started

Completion watches what you are writing and offers the rest. Sometimes a few words, sometimes a whole function.

The interesting part is how much context it now uses. Give a function a clear name and a line describing what it should do, and a good completion will often produce a reasonable body, because the name and the comment told it what you meant. Write vague names and you get vague suggestions, which is a small daily reminder that naming things carefully was always doing more work than it looked like.

You accept or ignore each one. Nothing happens that you did not watch happen.

Changing a piece of code you point at

Select some code, describe the change, and the tool rewrites that selection. “Handle the case where the file is missing.” “Turn this into a function that takes the folder as an argument.” “Make this work for a list of files instead of one.”

This is the tightest useful loop in modern programming. Small enough to check at a glance, specific enough that you already know what you were asking for.

Asking about code that already exists

This one changed my working life more than any other, and it is the one I would push hardest on a beginner.

You can point a conversation at real code and ask what it does. Not a textbook example: the actual file in front of you, with its odd names and its history. You can ask why a line is there, what breaks if you delete it, what a piece of unfamiliar syntax means, or what the author was probably worried about.

For someone learning, that is a patient expert sitting next to your screen. Reading real code used to be the hardest way into programming. It is now one of the easiest.

Explaining what went wrong

Paste an error message and ask. You will usually get the meaning, the likely cause, and a suggested fix.

Errors are typically the point where beginners quietly give up, because a traceback is written for people who already understand it. Having something translate that on demand removes one of the genuine cruelties of learning to program.

Drafting the parts nobody enjoys

Tests, documentation, commit messages, example data, the tedious conversion between one shape of data and another. All of it drafts quickly and reviews quickly.

What this half has in common

Every tool here works in units you can see. One line, one selection, one answer, one file. You are reading the output as it arrives, and the cost of a bad suggestion is that you notice and reject it.

That makes this the safest place to work with AI, and by far the best place to learn from it, because you are looking at real code the whole time and can ask about anything you do not recognize.

The other half of the field does not work that way. There you hand over a goal, the tool works for a while on its own, and you review the result rather than the keystrokes. That changes what your judgment is for, which is next.