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