What the hell is this thing doing?
I work as a software engineer. My actual title is “product engineer.” This is what the industry has started calling full-stack engineers as the list of individual responsibilities grows.
Anyway, like many engineers I have converted to agentic development. I hardly write code directly anymore. I’d call it vibe coding but this feels like a terrible name for what I do on a daily basis.
I’m not going to mourn the death of programming. To me, coding was always a means to an end. I’ve never found it to be particularly enjoyable. Writing software is not some sacred art.
Agentic coding is super fast. You get to type a lot less. You get to yell at an inanimate object that understands language. This is like yelling at a toaster but it apologizes.
You get incredible speed of development in exchange for inconsistencies and shortcuts in your code. And it requires that you deal with these.
Yet, the practices it takes to trust AI code are the same ones that teams should have had with human code.
The issues I see with AI code I have seen humans create as well. Especially in cases where the codebase has been outsourced. In fact, I often feel better about AI code quality than human code quality.
Our team has built strategies to deal with problems AI coding introduces. This way we can enjoy the benefits and mitigate the risks.
We establish documented development patterns. We heavily use automated testing and code analysis. We use agentic and human review.
We often find issues during agentic review that no human I’ve worked with would ever have caught. AI doesn’t blindly approve. We recently paid for a penetration test and came back with only minor issues. I feel confident that would have come out differently with human code.
What’s interesting to me is that these are things that development teams should do anyway. Yet, projects I’ve worked on in the past skipped these practices.
I have gained more empathy for non-technical team members who aren’t sure how the code works. While I do know how our software works, I frequently go through periods of “what the hell is this thing doing.”
Agentic coding requires processes for establishing trust in code. The same trust we also needed in human code. The difference is agentic coding frees up time to build those processes.