ai newsDi., 3. Nov.
EilmeldungGoogle will switch off Gemini for school students unless schools opt in

The More I Use AI to Code, the More Engineering Judgment Matters

AI is changing the pace at which I can explore ideas and build software. Working with PHP, APIs, databases, and data platforms, I see opportunities to use AI throughout development: understanding an unfamiliar part of a codebase, comparing approaches, working through an implementation, and finding

dev.toDienstag 15:49 · 03.11.6 Min. Lesezeit
Bild: dev.to

AI is changing the pace at which I can explore ideas and build software.

Working with PHP, APIs, databases, and data platforms, I see opportunities to use AI throughout development: understanding an unfamiliar part of a codebase, comparing approaches, working through an implementation, and finding questions I might otherwise overlook.

Tools such as Junie, Codex, and Claude are part of that shift for me. There is real value in being able to move between an idea and a possible implementation more quickly.

That increased capacity also changes where I need to focus my attention.

The more capable these tools become, the more carefully I need to apply my own engineering judgment. I still need to understand the code, the business rules behind it, and the consequences of putting it into production.

For me, the appeal of “vibe coding” is the short loop between describing an idea, seeing something take shape, and refining it.

That can be useful for exploring an interface, trying a different approach, or getting an early prototype in front of you. It creates room to experiment.

As that work moves toward something customers and colleagues will depend on, the questions become more demanding.

How does it fit into the existing application? Which assumptions did the model make? What happens when the input is incomplete, access is denied, or a dependency fails? Can another developer understand and maintain the result?

A successful demonstration is an encouraging milestone. Production software needs a deeper understanding of its behavior.

For me, staying true to the craft means carrying that understanding through the entire process.

Years of development experience shape the questions we know to ask.

When I look at a generated implementation, I need to consider more than whether the syntax looks familiar. I need to connect it to the system around it.

Those questions are part of the value an experienced developer brings to AI-assisted work.

GitHub’s responsible-use guidance for Copilot acknowledges that generated code can appear valid while being incorrect or failing to reflect the developer’s intent. It recommends reviewing and testing suggestions, including their security implications and fit within the application.

My experience helps me give the tool better direction and recognize when an answer needs further investigation. It also reminds me to challenge my own assumptions.

When code arrives quickly, there is a temptation to review it at the same pace.

That is where I think our attention to detail needs to become more refined.

Consider a PHP search endpoint generated with AI assistance. It uses prepared statements and returns the expected results for a sample search.

I would still want to inspect how the complete query is constructed.

PHP’s PDO documentation explains that placeholders represent data values. They cannot represent column names, SQL keywords, or arbitrary parts of a query. If the endpoint lets a user choose a sort column or direction, I would use a fixed mapping of supported options and inspect how those options become SQL.

I would also ask a separate question: Is this user allowed to see the records being returned?

A user being logged in does not establish permission to access every record. OWASP’s authorization guidance distinguishes identity verification from access decisions and recommends checking permissions on every request, including access to the specific resource involved.

This is the kind of detail that matters when reviewing an implementation. Query construction, access control, and business correctness each need attention.

The same care applies to generated tests. I need to review what they establish. A test built around the same mistaken assumption as the implementation can pass while the requirement remains unmet.

The partnership works best when I bring clear context and remain engaged throughout the work.

The standard I want to maintain is straightforward:

A useful instruction to an assistant might be:

Before changing this endpoint, explain its current behavior and the assumptions you are making. Use the versions declared by this project. Preserve the required access rules and response format. Propose a focused change and identify cases we should verify, including empty results, invalid input, and denied access.

That gives the collaboration a clearer purpose.

AI can help propose implementations, explain alternatives, and identify possible gaps. I need to make the acceptance decision based on the code and its observed behavior.

If I ship it, I need to be able to explain it, debug it, and maintain it.

Keeping up with AI tools also means staying current with the technology underneath the application.

For PHP work, that includes the runtime, extensions, framework, Composer dependencies, and our own application logic.

As of November 3, 2026, PHP 8.4 and 8.5 are in active support, while PHP 8.2 and 8.3 receive security fixes only. PHP 8.2 reaches the end of security support on December 31, 2026. The official PHP supported-versions page is a useful reference when planning maintenance and upgrades.

Staying current means following security releases for a supported branch and assessing compatibility before moving an application forward. PHP’s 8.5 migration guide, for example, calls out incompatibilities that should be tested before switching production environments.

For a Composer-based project, two useful checks are:

composer audit --locked composer check-platform-reqs Enter fullscreen mode Exit fullscreen mode The first audits the packages recorded in the lock file against known security advisories and other dependency policies. The second checks whether the actual PHP and extension versions satisfy the requirements of installed packages. Both are documented in the Composer command reference.

These checks answer specific questions. Application behavior, authorization, and business logic still need their own review and testing.

An AI assistant can help interpret an advisory or work through a migration. I still need to verify the recommendation against current documentation and the application’s actual environment.

There is a growing amount to follow: AI tools, language releases, framework changes, database capabilities, and new development approaches.

I want that learning to feed back into better engineering decisions.

The learning process I want to keep strengthening has four parts:

Start with a real question. What am I trying to improve—understanding an older codebase, reviewing changes, reducing repetitive work, or solving a specific application problem? A clear question gives new tools something useful to prove.

Use AI to accelerate understanding. An assistant can help me work through unfamiliar terminology, compare approaches, or identify questions to investigate. When a decision depends on a specific capability or behavior, I want to check the original documentation.

Try the idea on a manageable problem. A small experiment gives me something concrete to inspect. I can judge the quality of the result, the effort needed to review it, and how well it fits the existing system.

Carry useful lessons back into the work. The knowledge becomes more valuable when it improves documentation, code reviews, shared conventions, or the next implementation.

That is how I want to grow alongside these tools: remain curious, experiment deliberately, and keep strengthening the fundamentals that let me evaluate what I am seeing.

I am excited about what AI-assisted development makes possible.

It gives experienced developers more room to explore ideas, work through difficult problems, and expand what we can accomplish. Making good use of that capacity requires active participation.

Our judgment, technical understanding, and care for the finished result need to grow alongside the tools.

For me, staying true to the craft means being able to stand behind the work—even when AI helped produce it.

Which parts of your development process have become more important as you have started using AI? Have you changed how you review code, test behavior, or keep up with security updates?

This article was drafted with AI assistance. Technical documentation is linked throughout.

Quelle: dev.to (dev.to). Original öffnen