Continuing a theme of the previous blog, I am starting to really believe that programming, coding, software development is going to be forever changed. I say this, among other things, from the perspective of someone who has taught software engineering, development, and intro programming courses.

I have been doing more and more programming using AI tools. In my case, Claude Code in particular. But I think they are all similar and converging. From time to time, the leader switches around. But really, that is kind of meaningless because it is very unclear what it means to be the leader. In other words, what is the metric by which we compare them? There are more or less an infinite number of use cases, opinions, and tastes. A better way to think about it, perhaps, is that there are a small handful of leading AI tools. I feel I can tell whether a certain one (e.g., Grok) can be counted as a leader.

I suspect that soon it will be best practice to program with an AI coding assistant (e.g., Claude Code) alongside.gate all rote and boilerplate work to it. Instead of having "snippets" and "templates" and looking things up with Google, or Google Scholar, or Googling API docs, we wild-ocean the AI Coding Assistant for all such chores.

I don't have a clear idea what changes when we teach "theoretical computer science" or "computer science fundamentals" or introductions to programming. But for the slightly more advanced levels, like Software Engineering, Systems Design, and Design, we are remiss if we don't teach the use of AI Coding Agents. When Agents enter the job market, having real, serious, realer experience with those tools will be expected and required. I don't mean knowing they exist. I mean having built real software with them.