AI Is Writing My Code — Now What?

Writing computer code has hit an inflection point. Code generating LLMs such as Anthropic's Claude Code, OpenAI's Codex, Cursor, etc. are able to write JavaScript, SQL, Python, HTML/CSS, etc. faster than even expert programmers (for this particular document I'm grouping software engineers, computer scientists, programmers, etc. into "programmers"). So, what does that mean for those programmers tasked with "writing code"?

Your Job Hasn't Changed

You likely didn't get hired to "write code". Gone are the days when an "architect" wrote a "spec" and handed it off to a "junior developer" to write the implementation and a "quality assurance" group would test the implementation.

You were hired to provide functionality (or a portion of functionality) that worked, answered a need, and is reliable.

Ultimately, you're responsible for the code's correctness (as every LLM reminds you in small font at the bottom of the page). And you're not "done with code". You have to be able to read the Python code that you're responsible for.

You are also responsible for interpreting the customer need (regardless if it's internal or external). That communication loop is essential for a successful project.

Below are the tasks you are (and always were) responsible for. This applies to regular "for hire" programming as well as free and open source and academic code.

Understanding the Tools

Code generating LLMs are tools. You must have an understanding of how they work and what the state of the art is today. This in itself is a key skill set.

Direction and Management

The code generating LLM (or LLM for short), needs to be given the task. The task (usually described in a Markdown file) must be clear and concise. Also, it needs to be monitored to "stay on track" and corrected as necessary.

Key direction files such as CLAUDE.md are critical to manage the LLM. These include:

Should the LLM create the code that is the application or should the application "business logic" be in an AI itself?

Use of repositories and access are key responsibilities of the code owner. This includes:

Tests/Correctness

Ultimately the programmer is responsible for correctness.

What tests does the human write and what does the LLM write? Human tests may be more of a "spec" or functional tests. Once the functionality is defined, the LLMs can write regression tests. But don't outsource all of your tests to the LLM. They define what the software does.

Representing the Project

Ultimately you will represent your project in some way. Either on the web as websites or papers, or in person.

← All posts