20+ years ago, in my first job (junior business analyst – first class), I developed two critical skills: the ability to type fast and the ability to click around an application until something breaks.
As part of my ongoing exploration into vibe coding, I’ve come to realize that these two skills are more important than anything else I’ve learned since then 🤔.
Touch typing has become my emergency brake for when Claude Code or the replit Agent go bananas, deciding to rewrite 400 lines of perfectly good code when all I wanted was to change a variable name. Being able to quickly jump in and course-correct these enthusiastic agents before they decide to rewrite the entire app and burn a ton of credits has been critical.
The functional QA instincts have been even more crucial. AI coding agents looove to refactor code with the enthusiasm of a junior developer who has just discovered a new frontend framework (why are there so many?? 😭). They’ll elegantly refactor the entire authentication system and accidentally break the login button. Thanks, Claude 👍🏾👍🏾👍🏾!
Test automation assumes some stability in your interfaces, but coding agents treat every function signature like a creative writing exercise. So I find myself writing detailed bug reports as GitHub issues for Claude Code to pick up and fix: “Steps to reproduce: 1. Ask agent to add error handling 2. Agent rewrites entire error handling system 3. Original happy path now throws exceptions.”

My current vibe coding workflow has become suspiciously familiar:
1. Write detailed specs with explicit guardrails
2. Hand over to the developer, sorry – coding agent, and 🙏🏾
3. Do manual testing
4. File detailed bug reports for the agent to fix
Wait – this was my first job! I have become an old-school business analyst again 😬.
Just like baggy jeans and flip phones, late 90s ways of building software are back, baby!