Written by Mico Ang
AI is useful when the responsibility stays human
AI can shorten the distance between an idea and a working implementation. It can summarize unfamiliar code, propose test cases, draft repetitive transformations, compare approaches, and help a team explore a problem before committing to a solution.
It cannot own the consequences of a technical decision. The engineer still needs to understand the product, protect user data, choose appropriate boundaries, and verify that the result behaves correctly.
Use AI where feedback is fast
The best AI-assisted tasks have clear constraints and inexpensive verification. Examples include:
- drafting a focused component from an existing design system;
- generating a first pass of mapping code between known API shapes;
- identifying edge cases for validation or error handling;
- explaining an unfamiliar library before reading its primary documentation;
- producing migration or test scaffolding that an engineer reviews immediately.
The slower and more consequential the feedback loop, the more deliberate the review should be.
Give the tool the same context a teammate would need
Useful output depends on useful context. I provide the existing architecture, the affected files, interface contracts, design rules, expected states, and explicit boundaries around what must not change.
This does two things: it improves the implementation and makes incorrect assumptions easier to detect.
Separate generation from acceptance
Generated code is a proposal. Acceptance still requires engineering work:
- Read the change and understand its control flow.
- Verify data boundaries and error handling.
- Check accessibility and responsive behavior for user-facing work.
- Run the smallest meaningful tests.
- Review the final diff for unrelated changes.
AI should reduce repetitive effort, not reduce the standard of evidence.
Automation should remove friction, not judgment
Beyond code generation, AI can help automate business workflows: classifying requests, extracting structured data, preparing drafts, routing work, and surfacing anomalies. The safest implementations keep clear approval points, audit trails, fallback behavior, and a way for people to correct the system.
The real advantage is not producing more code. It is creating more space for product thinking, careful engineering, and communication. Used with discipline, AI becomes a strong delivery tool while judgment remains exactly where it belongs.