{"id":107269,"date":"2025-06-27T01:12:41","date_gmt":"2025-06-27T01:12:41","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=107269"},"modified":"2025-06-27T01:12:42","modified_gmt":"2025-06-27T01:12:42","slug":"vibe-coding-or-not-coding-whats-in-the-middle","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/vibe-coding-or-not-coding-whats-in-the-middle\/","title":{"rendered":"Vibe Coding or Not Coding: What&#8217;s in the middle"},"content":{"rendered":"\n<p>The capability to generate code with AI created a new fashion in the market: The Vibe Coding.<\/p>\n\n\n\n<p>Mocking and memes about vibe coding don\u2019t stop people with limited technical knowledge\u2014who may be unaware of the consequences\u2014from doing it anyway.<\/p>\n\n\n\n<p>There is one good example about what vibe code actually means: There was a message from a &#8220;developer&#8221; in many forums about how the AI models were not supporting his system anymore. He was submitting his thousands of lines of code and explaining the bug he would like to be fixed, but it always resulted in new bugs. Yes, this is vibe coding.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ai-and-software-development\">AI and Software Development<\/h2>\n\n\n\n<p>On one hand, we see companies increasing their use of AI and even Microsoft announcing part of the software developed is built by AI.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"480\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content.jpeg\" alt=\"Article content\" class=\"wp-image-107270\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content.jpeg 480w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-300x300.jpeg 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-150x150.jpeg 150w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/figure>\n\n\n\n<p>\n  \n<\/p>\n\n\n\n<p>On the other hand, the consequences of vibe coding are highlighted everywhere:<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li> Bugs <\/li>\n\n\n\n<li> Security Flaws <\/li>\n\n\n\n<li> Low Quality <\/li>\n<\/ul>\n<\/div>\n\n\n<p>What&#8217;s the truth? How it could be good and bad at the same time?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-developing-with-ai\">Developing with AI<\/h2>\n\n\n\n<p>The challenge is to find a middle point between vibe coding and not using AI.<\/p>\n\n\n\n<p>This quote became very popular: <strong><em>&#8220;I want AI to do my laundry and dishes so that I can do art and writing, not for AI to do my art and writing so that I can do my laundry and dishes&#8221;<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-1.jpeg\" alt=\"Article content\" class=\"wp-image-107271\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-1.jpeg 1200w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-1-300x169.jpeg 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-1-1024x576.jpeg 1024w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-1-768x432.jpeg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<p>\n  \n<\/p>\n\n\n\n<p>In software development we can translate this to the fact we should still hold the creative task related to the software code and architecture. We can and should use AI to make repetitive tasks.<\/p>\n\n\n\n<p>In other words, it&#8217;s great when we ask AI to build pieces of code to us and increase our productivity. However, when we become incapable of understand what AI is building and fix it where it&#8217;s needed, we lose the control and this becomes vibe coding.<\/p>\n\n\n\n<p>It&#8217;s interesting to notice this middle point doesn&#8217;t have a name yet. We could call it <strong><em>Scrub Coding<\/em><\/strong>. If the name becomes viral it will be easier to promote the good use of the AI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-identifying-the-limit\">Identifying the Limit<\/h2>\n\n\n\n<p>That&#8217;s the challenge: How to identify when you are going beyond the limit?<\/p>\n\n\n\n<p>First of all, I don&#8217;t believe this limit is static. The evolution of AI will push this limit, for sure. This evolution is happening with an exponential speed, it&#8217;s difficult to predict how this limit will evolve.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"454\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content.png\" alt=\"Article content\" class=\"wp-image-107272\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content.png 960w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-300x142.png 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-768x363.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<p>\n  \n<\/p>\n\n\n\n<p>Besides that, is this limit the same in all scenarios? I&#8217;m not sure. Let&#8217;s talk about this in the comments.<\/p>\n\n\n\n<p>Let&#8217;s consider some practical limits which may be similar for most scenarios.<\/p>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li> If you <strong>Read and Understand<\/strong> the code generated by AI, this is <strong>Scrub Coding<\/strong>, otherwise this is <strong>Vibe Coding<\/strong>. <\/li>\n\n\n\n<li> If you <strong>Validate<\/strong> the code generated by AI before taking it to your system and often ask AI to fix or improve it, this is <strong>Scrub Coding<\/strong>. Otherwise, if you blindly copy and run the code, this is <strong>Vibe Coding<\/strong>. <\/li>\n\n\n\n<li> If you <strong>Complete and Fix<\/strong> the code generated by AI, knowing AI will not go beyond some limits, this is <strong>Scrub Coding<\/strong>. If you don&#8217;t do it or don&#8217;t know how to do it, this is <strong>Vibe Coding<\/strong>. <\/li>\n<\/ul>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-calculator-effect\">The Calculator Effect<\/h2>\n\n\n\n<p>This kind of scenario always reminds me the calculator effect.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"306\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-2.jpeg\" alt=\"Article content\" class=\"wp-image-107273\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-2.jpeg 250w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/06\/article-content-2-245x300.jpeg 245w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/figure>\n\n\n\n<p>\n  \n<\/p>\n\n\n\n<p>When the calculator became popular, a lot of people became scared with the possibility of forgetting how to make basic calculations.<\/p>\n\n\n\n<p>Use a calculator in school? During an Exam? Unthinkable!<\/p>\n\n\n\n<p>The transformation process which led from the &#8220;Unthinkable&#8221; to &#8220;You need to identify if the calculator result seems off&#8221; is the same process which is starting to happen with the use of AI in software development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-summary\">Summary<\/h2>\n\n\n\n<p>Let&#8217;s increase our productivity with <strong>Scrub Coding<\/strong> and leave the <strong>Vibe Coding<\/strong> for starters who will come to us asking for help later.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The capability to generate code with AI created a new fashion in the market: The Vibe Coding. Mocking and memes about vibe coding don\u2019t stop people with limited technical knowledge\u2014who may be unaware of the consequences\u2014from doing it anyway. There is one good example about what vibe code actually means: There was a message from&#8230;&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":107275,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"coauthors":[6810],"class_list":["post-107269","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/107269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=107269"}],"version-history":[{"count":2,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/107269\/revisions"}],"predecessor-version":[{"id":107276,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/107269\/revisions\/107276"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/107275"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=107269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=107269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=107269"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=107269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}