When Coding Becomes Code Review — Senior Developer's AI Collaboration Survival Guide

When Coding Becomes Code Review — Senior Developer's AI Collaboration Survival Guide

I recently watched a YouTube video about AI and coding paradigm shifts. Having spent months not writing code hands-on but making AI decisions, I realized I'm experiencing a profound role shift: I'm no longer the soldier sweating in trenches; I've become the "brain" reviewing code. But here's the problem: when AI-generated garbage code snowballs bigger every month, can I even recognize it after three months?

Facing this dilemma, I've implemented five core software engineering countermeasures—distilled from Andrej Karpathy's insights.

1. Reject Blind Trust: Launch "Interrogation Mode"

Most use AI as "I command, you execute." That's dangerous.

My approach: Before I tell you my solution, you interrogate me first. I don't let AI start coding until my mental blueprint is clear enough for a junior engineer to understand. That's not wasted time—it's establishing "design consensus." If AI doesn't question you, it's guessing your intentions, and AI guesses usually mean late-stage rework.

2. For Your Three-Month-Later Self: Notes for Humans

You might ask: "If AI codes so fast but internal logic is chaos, what then?"

My answer: Strategically abandon micro-level details, but strictly control macro-level architecture. I require AI to record learning notes in an Open Spec—notes for "three-months-later me," not machines. When I need maintenance later, I don't need reading every line; I just read the notes and ask AI to discuss based on them. This "conversational maintenance" is my tolerance threshold for AI's redundant code.

3. TDD: Don't Let AI Run Faster Than Its Headlights

AI's biggest problem: it runs too fast—faster than lights can follow.

Force it to slow down. Write test cases first, define "what's success," then let it fill content. Like putting reins on a wild horse—if tests don't pass, no matter how pretty your code looks, you rewrite.

4. Deep Modules: Hide Dirty Work Behind Interfaces

I embrace the "deep module" concept in software design. I tolerate AI's internal implementation stacking code, as long as the interface (output) is simple like USB-C. I design the exit; AI handles internal complexity. Clear boundaries prevent internal chaos from becoming systemic disaster.

5. Role Shift: From Craftsperson to Commander

Transitioning from "code writer" to "code reviewer," my biggest feeling isn't relief—it's responsibility shift.

I'm now like a senior engineer commanding fast-operating interns. My value isn't in typing speed anymore but in: Can I see through AI's polished surface to logic defects? Can I make correct strategic investments before systems collapse?

Comments

Loading comments…

Leave a Comment