Remix.run Logo
christophilus 3 days ago

My problem is that code review has always been the least enjoyable part of the job. It’s pure drudgery, and is mentally taxing. Unless you’re vibe coding, you’re now doing a lot of code review. It’s almost all you’re doing outside of the high-level planning and guidance (which is enjoyable).

I’ve settled on reviewing the security boundaries and areas that could affect data leaks / invalid access. And pretty much scanning everything else.

From time to time, I find it doing dumb things- n+1 queries, mutation, global mutable variables, etc, but for the most part, it does well enough that I don’t need to be too thorough.

However, I wouldn’t want to inherit these codebases without an AI agent to do the work. There are too many broken windows for human maintenance to be considered.

rhubarbtree 3 days ago | parent | next [-]

Worse, you’re doing code review of poorly written code with random failure modes no human would create, and an increasingly big ball of mud that is unmaintainable over time. It’s just the worst kind of reviewing imaginable. The AI makes an indecipherable mess, and you have to work out what the hell is going on.

bsimpson 3 days ago | parent | next [-]

There's been so much pressure to use AI at work.

My codebase is a zen garden I've been raking for 6 years. I have concerns about what's going to happen after a few months of "we're using AI cause they told us to."

rhubarbtree 3 days ago | parent [-]

That must be so satisfying. I’ve heard the phrase “code farming” before, but I like the zen garden analogy.

If the future is indeed AI, and I’m certainly hearing a lot of people using it extensively, then I think there has to be a mindset shift. Our job will change from craft to damage limitation. Our goal will be to manage a manic junior developer who produces a mixture of good code and slop without architectural level reasoning. Code will rot fast and correctness will hinge on testing as much as you can.

It seems like a horrible future. However, it does seem to me that given decades we were unable to build good development practices. Our tooling is terrible. Most of our languages are terrible. Our solution was to let inexperienced devs create languages with all the same flaws, repeating the same mistakes. Web dev is a great example of inefficient software dev that has held the world to ransom. Maybe AI slop is payback for software developers.

askafriend 3 days ago | parent | prev [-]

> The AI makes an indecipherable mess

Humans are perfectly capable of this themselves and in fact often do it...

rhubarbtree 3 days ago | parent [-]

That’s true, but the AI can make it bigger, faster, and more messy.

BeetleB 3 days ago | parent | prev | next [-]

> My problem is that code review has always been the least enjoyable part of the job.

The article is about personal projects. The need to review the code is usually 10x less :-)

michaelsalim 3 days ago | parent | prev | next [-]

For most of my AI uses, I already have an implementation in mind. The prompt is small enough that most of the time, the agent would get it 90% there. In a way, it's basically an advanced autocomplete.

I think this is quite nice cause it doesn't feel like code review. It's more of a: did it do it? Yes? Great. Somewhat? Good enough, i can work from there. And when it doesn't work, I just scrap that and re-prompt or implement it manually.

But I do agree with what you say. When someone uses AI without making the code their own, it's a nightmare. I've had to review some PRs where I feel like I'm prompting AI rather than an engineer. I did wonder if they simply put my reviews directly to some agent...

SchemaLoad 3 days ago | parent | prev [-]

Agreed. I've settled on writing the code myself and having AI do the first pass review.