{"id":5996,"date":"2026-08-31T17:13:08","date_gmt":"2026-08-31T17:13:08","guid":{"rendered":"https:\/\/www.aviator.co\/blog\/?p=5996"},"modified":"2026-08-31T17:13:10","modified_gmt":"2026-08-31T17:13:10","slug":"code-review-ai","status":"publish","type":"post","link":"https:\/\/www.aviator.co\/blog\/code-review-ai\/","title":{"rendered":"Code review is a taste problem"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Code review is becoming the most important decision-making surface in software engineering, and it&#8217;s outgrowing the diff. The assumption was always that code review exists to catch bugs. Its real job is taste, judgment, and applying organizational processes: Is this the right thing for our product?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now that AI writes thousands of lines of code in minutes, and there\u2019s no way engineers can keep up with the review, engineering teams are stuck between two bad options: skip code review and risk shipping slop, or keep reviewing everything and become the bottleneck. That\u2019s why conversations about reviewing AI code keep going in circles &#8211; everyone is arguing about a different part of code review.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The three jobs that remain<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Strip away line-by-line inspection, and code review still does three things that teams need.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>First, it&#8217;s a place to collaborate.<\/strong> This is where teams come together to decide what belongs in the product.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second role of code review is<strong> alignment and knowledge sharing.<\/strong> Every review builds shared context about the changes happening to a code base and the underlying business needs. This context is increasingly important for both people and agents and carries the institutional knowledge and historical considerations for the product and organization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Its third function is verification:<\/strong> Is the code correct? Will it work? What&#8217;s the risk?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These three jobs don&#8217;t go away when AI generates the code. If anything, they become more important because the volume of code demanding review is growing faster than the number of people available to review it. Code review was never strictly about reviewing code. Is this even the right name for it? Code is the medium, but the review is where we exercise judgment, and it\u2019s still important.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Code Review Is a Taste Problem | David Poll @GitHub\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/nMIWS42B0k8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Planning and review are merging<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Code review is where engineering teams conclude that they&#8217;re confident this is <strong>the right thing for their product.\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As it becomes cheaper to write and rewrite code, a lot of the things teams used to front-load, such as PRDs or architecture documents, are collapsing into the same space as code review. Teams used to do all of that in advance because writing code was expensive, making it important to catch issues earlier in the pipeline. But now they can collaborate on the genuine artifact and shape it until, as a team, they can decide this is what they want. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There may be a world where there are 20 times as many PRs that don&#8217;t get merged. And maybe that&#8217;s how people build software in the future: by trying things, accepting some, rejecting others. Or, teams move the code review process left, before any code is written, by <a href=\"https:\/\/www.aviator.co\/verify\">capturing intent<\/a> and the decision-making process from the LLM session where they happen. The decisions the engineer made while talking to the agent are already there. The discipline is in preserving them before submitting the change rather than letting them disappear.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The reviewer&#8217;s job shifts accordingly. Instead of reading a 600-line diff and asking, &#8220;Does this look right?&#8221;, they read eight lines of intent and ask whether we are solving the right problem with the right <a href=\"https:\/\/docs.aviator.co\/verify\/concepts\/invariants\">constraints<\/a>. That is a better use of a senior engineer&#8217;s time, and it is where the knowledge-sharing function of review survives\u2014reviewers reading acceptance criteria are reading the decisions behind the implementation, not the implementation itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That collapse puts more pressure on the code review, but it&#8217;s fundamentally the same kind of decision-making. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Code review is becoming the place where product decisions get made, not just where code gets checked. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Not reading code is a sliding scale<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The future of code review is also the center of the debate over whether engineers should still <a href=\"https:\/\/www.aviator.co\/blog\/stop-reading-the-code\/\" type=\"post\" id=\"5859\">read every line of code<\/a>, but the framing is wrong.\u00a0 It&#8217;s not \u201cDo I read or not read the code?\u201d It&#8217;s\u00a0 &#8220;Does my attention get directed to where it&#8217;s actually useful?\u201d<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">The question is whether reviewers can be pointed at the parts that are meaningful for them to apply their judgment and expertise, while the things that can be removed from their attention set with high confidence fall away over time.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Different organizations will find themselves at different places on that scale. It depends on the sensitivity of what you&#8217;re building, the consequences of the change, and what happens if something goes wrong. A team shipping an internal dashboard and a team shipping medical device firmware will make different choices, and both can be right.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AI code needs an AI slop register<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The standards and correctness checking role of code review is the most likely candidate for AI automation, but not in the most obvious way. Pointing an LLM at a diff with a checklist does not create a quality gate. One of the most underexplored opportunities is closing the loop between review decisions and automated enforcement. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Today, a senior engineer catches an API design anti-pattern in review and leaves a comment. Tomorrow, that same anti-pattern shows up in a different PR, and someone has to catch it again. This is where we can and should leverage AI and beat AI slop with AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When teams actually pull their last 1000 PR review comments and sort them into three buckets (deterministic, execution-testable, genuine judgment), you might end with a split around 45\/30\/25. Three-quarters of review feedback may be codifiable. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The work to codify it is real, but it is finite. <a href=\"https:\/\/docs.aviator.co\/verify\/concepts\/invariants\" type=\"link\" id=\"https:\/\/docs.aviator.co\/verify\/concepts\/invariants\">Extract those decisions back into rules<\/a> that become part of the institutional memory of the code base, your AI slop register. An LLM can check, at the time code gets built, with rigor that would have been extraordinarily difficult for humans to maintain\u2014keeping an entire set of rules in your head and applying them to every API was never realistic at scale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The tighter that loop and the closer it runs to where engineers are already iterating and collaborating, the more effective it gets.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stop calling it code review<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Code review may not be the right name anymore, but the practice it represents isn&#8217;t going anywhere. The code is one of many artifacts we\u2019ll use to assess a change and may become less central as a result. Engineering teams still need a place to collaborate, share knowledge, and apply judgment about what they&#8217;re building. That place is evolving, away from the diff, toward intent, toward institutional memory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.aviator.co\/verify\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"250\" src=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/CTA-Verify.png\" alt=\"\" class=\"wp-image-5972\" srcset=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/CTA-Verify.png 970w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/CTA-Verify-300x77.png 300w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/CTA-Verify-768x198.png 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This article was originally published on The New Stack. <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Code review isn&#8217;t just about catching bugs\u2014it&#8217;s about taste and judgment. Discover how AI is reshaping software engineering decisions.<\/p>\n","protected":false},"author":15,"featured_media":5997,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5996","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Code review is a taste problem - Aviator Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thenewstack.io\/code-review-taste-problem\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Code review is a taste problem - Aviator Blog\" \/>\n<meta property=\"og:description\" content=\"Code review isn&#039;t just about catching bugs\u2014it&#039;s about taste and judgment. Discover how AI is reshaping software engineering decisions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thenewstack.io\/code-review-taste-problem\/\" \/>\n<meta property=\"og:site_name\" content=\"Aviator Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-31T17:13:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-31T17:13:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1320\" \/>\n\t<meta property=\"og:image:height\" content=\"690\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ankit Jain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ankit Jain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Code review is a taste problem - Aviator Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thenewstack.io\/code-review-taste-problem\/","og_locale":"en_US","og_type":"article","og_title":"Code review is a taste problem - Aviator Blog","og_description":"Code review isn't just about catching bugs\u2014it's about taste and judgment. Discover how AI is reshaping software engineering decisions.","og_url":"https:\/\/thenewstack.io\/code-review-taste-problem\/","og_site_name":"Aviator Blog","article_published_time":"2026-08-31T17:13:08+00:00","article_modified_time":"2026-08-31T17:13:10+00:00","og_image":[{"width":1320,"height":690,"url":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png","type":"image\/png"}],"author":"Ankit Jain","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ankit Jain","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#article","isPartOf":{"@id":"https:\/\/www.aviator.co\/blog\/code-review-ai\/"},"author":{"name":"Ankit Jain","@id":"https:\/\/www.aviator.co\/blog\/#\/schema\/person\/9d68a2b53b2dc04779f99ee40b3914a4"},"headline":"Code review is a taste problem","datePublished":"2026-08-31T17:13:08+00:00","dateModified":"2026-08-31T17:13:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.aviator.co\/blog\/code-review-ai\/"},"wordCount":1069,"image":{"@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.aviator.co\/blog\/code-review-ai\/","url":"https:\/\/thenewstack.io\/code-review-taste-problem\/","name":"Code review is a taste problem - Aviator Blog","isPartOf":{"@id":"https:\/\/www.aviator.co\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#primaryimage"},"image":{"@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png","datePublished":"2026-08-31T17:13:08+00:00","dateModified":"2026-08-31T17:13:10+00:00","author":{"@id":"https:\/\/www.aviator.co\/blog\/#\/schema\/person\/9d68a2b53b2dc04779f99ee40b3914a4"},"breadcrumb":{"@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thenewstack.io\/code-review-taste-problem\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#primaryimage","url":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png","contentUrl":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/08\/code-review-taste.png","width":1320,"height":690},{"@type":"BreadcrumbList","@id":"https:\/\/thenewstack.io\/code-review-taste-problem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.aviator.co\/blog\/"},{"@type":"ListItem","position":2,"name":"Code review is a taste problem"}]},{"@type":"WebSite","@id":"https:\/\/www.aviator.co\/blog\/#website","url":"https:\/\/www.aviator.co\/blog\/","name":"Aviator Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.aviator.co\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.aviator.co\/blog\/#\/schema\/person\/9d68a2b53b2dc04779f99ee40b3914a4","name":"Ankit Jain","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5f573452342d650c8b94207298e386ed0c10d45a16df11bb45d80052d181765b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5f573452342d650c8b94207298e386ed0c10d45a16df11bb45d80052d181765b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f573452342d650c8b94207298e386ed0c10d45a16df11bb45d80052d181765b?s=96&d=mm&r=g","caption":"Ankit Jain"},"description":"Ankit Jain is a cofounder and CEO of Aviator, a developer productivity platform used by modern engineering teams to ship AI-generated code at scale. He also leads The Hangar, a community of senior DevOps and senior software engineers focused on developer experience, and Xoogler, the ex-Google alumni network.","url":"https:\/\/www.aviator.co\/blog\/author\/ankitjain\/"}]}},"_links":{"self":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/comments?post=5996"}],"version-history":[{"count":2,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5996\/revisions"}],"predecessor-version":[{"id":5999,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5996\/revisions\/5999"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/media\/5997"}],"wp:attachment":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/media?parent=5996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/categories?post=5996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/tags?post=5996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}