<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tanmay Vishwakarma</title>
    <description>The latest articles on DEV Community by Tanmay Vishwakarma (@tanmayydev).</description>
    <link>https://dev.to/tanmayydev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3578194%2F6a18e128-12b9-4f5e-a451-2b97a7b74612.png</url>
      <title>DEV Community: Tanmay Vishwakarma</title>
      <link>https://dev.to/tanmayydev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanmayydev"/>
    <language>en</language>
    <item>
      <title>Agentic Engineering: Why Software Engineering Matters More Than Ever</title>
      <dc:creator>Tanmay Vishwakarma</dc:creator>
      <pubDate>Wed, 28 Oct 2026 10:21:20 +0000</pubDate>
      <link>https://dev.to/tanmayydev/agentic-engineering-why-software-engineering-matters-more-than-ever-5g8</link>
      <guid>https://dev.to/tanmayydev/agentic-engineering-why-software-engineering-matters-more-than-ever-5g8</guid>
      <description>&lt;h2&gt;
  
  
  AI Can Write Code, But Is That Enough?
&lt;/h2&gt;

&lt;p&gt;I've been building applications with my friends for hackathons, college projects, and other things. Like many developers today, we use AI coding agents to speed up development and implement features.&lt;/p&gt;

&lt;p&gt;But sometimes, something interesting happens. We look at our application and find a feature that was implemented by an agent, or a decision it made about how the system should work. And at the end, we're not even sure who accepted that decision or why that feature is present in the first place.&lt;/p&gt;

&lt;p&gt;The feature might work just fine, but do we really understand why it was built that way? Does it fit our application? What happens when something breaks?&lt;/p&gt;

&lt;p&gt;This got me thinking about how we use AI to build software. Writing code is becoming easier, but building a good application still requires us to understand the system, make the right decisions, and verify what we've built.&lt;/p&gt;

&lt;p&gt;That's what led me to explore &lt;strong&gt;agentic engineering&lt;/strong&gt;, and why I think software engineering matters more than ever.&lt;/p&gt;




&lt;h2&gt;
  
  
  How We Got Here: Five Approaches to Building Software
&lt;/h2&gt;

&lt;p&gt;Before getting into agentic engineering, I think it helps to understand how our approach to building software has changed with AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  #1) Traditional Software Engineering
&lt;/h3&gt;

&lt;p&gt;This is how we've traditionally built software. We write the code, design the system, debug issues, and test the application ourselves.&lt;/p&gt;

&lt;p&gt;The advantage is that we have direct control over what we're building. But writing and maintaining everything manually can take a lot of time, especially when some tasks are repetitive.&lt;/p&gt;

&lt;h3&gt;
  
  
  #2) AI-Assisted Coding
&lt;/h3&gt;

&lt;p&gt;Here, AI becomes our coding assistant. We can ask it to explain code, fix bugs, generate functions, or help us understand an error.&lt;/p&gt;

&lt;p&gt;We're still doing most of the decision-making and implementation, but AI helps us get things done faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  #3) Vibe Coding
&lt;/h3&gt;

&lt;p&gt;With vibe coding, we describe what we want in natural language and let AI generate the application. We focus mainly on getting the desired result, rather than understanding every implementation detail.&lt;/p&gt;

&lt;p&gt;For example, we might ask AI to build a dashboard, look at the result, and keep prompting it to change things until we're happy with how it looks and works.&lt;/p&gt;

&lt;p&gt;This can be useful for quickly exploring ideas and building prototypes.&lt;/p&gt;

&lt;h3&gt;
  
  
  #4) Agentic Coding
&lt;/h3&gt;

&lt;p&gt;Agentic coding goes a step further. Instead of simply prompting AI to generate something and adjusting the result, we delegate a coding task to an AI agent that can work through multiple steps on its own.&lt;/p&gt;

&lt;p&gt;For example, we might ask an agent to add authentication to our existing application. It can explore the codebase, decide which files need changes, implement the feature, run tests, inspect errors, and try to fix them.&lt;/p&gt;

&lt;p&gt;The focus here is on giving an AI agent a task and letting it carry out much of the implementation work independently.&lt;/p&gt;

&lt;h3&gt;
  
  
  #5) Agentic Engineering
&lt;/h3&gt;

&lt;p&gt;This is where I think things get more interesting.&lt;/p&gt;

&lt;p&gt;Agentic engineering is not just about letting an agent write code or complete tasks. It's about applying proper engineering practices around the work the agent does.&lt;/p&gt;

&lt;p&gt;We define clear requirements, understand the existing system, make architectural decisions, set boundaries for the agent, and verify that the final solution is correct, maintainable, and suitable for our application.&lt;/p&gt;

&lt;p&gt;These approaches can overlap, and they aren't strict stages that everyone must follow. But the distinction matters: getting AI to build something, getting an agent to perform a coding task, and engineering a reliable application with AI are not quite the same thing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Neither Extreme Is Enough
&lt;/h2&gt;

&lt;p&gt;I think both traditional software engineering and vibe coding have their own limitations.&lt;/p&gt;

&lt;p&gt;With traditional software engineering, we have more direct control over the code and how the system is built. But writing everything ourselves can be slow. We might spend hours on tasks that an AI agent could help us complete much faster.&lt;/p&gt;

&lt;p&gt;On the other hand, vibe coding makes it easy to build something quickly, but speed can come at a cost.&lt;/p&gt;

&lt;p&gt;When we keep asking AI to add features without understanding the code it generates, we might end up with a system where different parts don't fit together well. There could be unnecessary code, poor architectural decisions, missing edge cases, or bugs that we don't notice until later.&lt;/p&gt;

&lt;p&gt;Of course, writing everything manually doesn't guarantee good software, and using AI doesn't automatically lead to bad software either.&lt;/p&gt;

&lt;p&gt;I think the real challenge is to get the speed that AI offers without losing the understanding and control that good engineering requires.&lt;/p&gt;

&lt;p&gt;And that's where agentic engineering becomes interesting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foizblachzilq4kclyq1j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foizblachzilq4kclyq1j.png" alt="Matrix meme presenting traditional coding as potentially slow and vibe coding as potentially risky." width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr3ftcv1trvus2rud56ki.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr3ftcv1trvus2rud56ki.png" alt="Matrix meme with the message: Neither pill. Let AI handle the coding. Engineer the system." width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Agentic Engineering: More Than Asking AI to Build an Application
&lt;/h2&gt;

&lt;p&gt;So, what exactly makes agentic engineering different from agentic coding?&lt;/p&gt;

&lt;p&gt;The way I understand it, agentic coding is about delegating coding tasks to an AI agent. Agentic engineering goes beyond that. It involves thinking about the entire process of building the application, including the decisions the agent makes and the quality of the final solution.&lt;/p&gt;

&lt;p&gt;Let's say we're building a feature for our application. We can ask an agent to implement it, and it might get the job done. But before that, have we clearly defined what the feature should do? Does the proposed solution fit our existing architecture? What edge cases should we consider? How will we know if the implementation is actually correct?&lt;/p&gt;

&lt;p&gt;Here's how I see the difference:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agentic coding&lt;/th&gt;
&lt;th&gt;Agentic engineering&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;We delegate coding tasks to an AI agent.&lt;/td&gt;
&lt;td&gt;We use AI agents within a proper engineering process.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The focus is on implementing the task.&lt;/td&gt;
&lt;td&gt;The focus is on requirements, architecture, implementation, and verification.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;We check whether the task was completed.&lt;/td&gt;
&lt;td&gt;We check whether the solution is correct and makes sense for our application.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This doesn't mean agentic coding ignores testing or architecture. An agent can handle both. The difference is that agentic engineering makes these engineering decisions and checks a deliberate part of the process, rather than focusing mainly on getting the task done.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Understanding Software Engineering Becomes Even More Important
&lt;/h2&gt;

&lt;p&gt;I think this is the most important part of agentic engineering.&lt;/p&gt;

&lt;p&gt;When an AI agent can write code, implement features, and suggest solutions, the person who understands the system has a clear advantage. They can judge whether the generated solution is actually good, rather than just checking whether it works.&lt;/p&gt;

&lt;p&gt;Here are a few reasons why I think this matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  #1) Understanding the System and Its Architecture
&lt;/h3&gt;

&lt;p&gt;When we build an application, its different parts need to work together. We need to understand how they interact, where each responsibility belongs, and how a change in one part might affect another.&lt;/p&gt;

&lt;p&gt;An agent might suggest a solution that works for the feature we're building, but does it fit the rest of our application? Is it adding unnecessary complexity? Is there a simpler way to solve the problem?&lt;/p&gt;

&lt;p&gt;These are architectural decisions, and we need to understand the system to make the right ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  #2) Understanding the Code Generated by AI
&lt;/h3&gt;

&lt;p&gt;Just because an LLM generates code doesn't mean that code is correct or well-written.&lt;/p&gt;

&lt;p&gt;We should be able to read the generated code, understand what it does, and question the decisions behind it. Otherwise, we might keep accepting code without realising that it introduces duplicate logic, unnecessary complexity, or problems that could become difficult to fix later.&lt;/p&gt;

&lt;h3&gt;
  
  
  #3) Knowing the Edge Cases
&lt;/h3&gt;

&lt;p&gt;A feature might work perfectly for the expected input but fail when something unexpected happens.&lt;/p&gt;

&lt;p&gt;What if the input is invalid? What if an API request times out? What if a database operation fails halfway through? What if two requests happen at the same time?&lt;/p&gt;

&lt;p&gt;An agent might miss these cases, or the tests it writes might not cover them. Understanding how the application works helps us anticipate where things can break and make sure those cases are handled.&lt;/p&gt;

&lt;h3&gt;
  
  
  #4) Optimising the Solution
&lt;/h3&gt;

&lt;p&gt;Getting a feature to work is only one part of the job. Sometimes, the solution might use unnecessary database queries, consume more resources than needed, or have a better alternative in terms of time and space complexity.&lt;/p&gt;

&lt;p&gt;When we understand the code and the problem, we can identify these issues and guide the agent towards a better solution. Of course, we don't need to optimise everything prematurely, but we should know when performance and efficiency matter.&lt;/p&gt;

&lt;h3&gt;
  
  
  #5) Testing and Verifying the Application
&lt;/h3&gt;

&lt;p&gt;We shouldn't blindly trust an agent just because it says the task is complete or all tests have passed.&lt;/p&gt;

&lt;p&gt;We need to understand what should be tested, whether the tests cover important edge cases, and whether the new feature breaks something that was already working. We also need to review the actual changes instead of relying only on the agent's summary.&lt;/p&gt;

&lt;p&gt;Ultimately, the better we understand the system, the better we can guide the agent, evaluate its output, make good architectural decisions, and improve the final solution.&lt;/p&gt;




&lt;h2&gt;
  
  
  As Systems Become More Autonomous, the Engineer Becomes More Important
&lt;/h2&gt;

&lt;p&gt;There's one idea that really stands out to me: the more autonomous our systems become, the more important human oversight becomes.&lt;/p&gt;

&lt;p&gt;AI agents can make decisions, choose tools, write code, and carry out multiple steps without us guiding every action. But they can also misunderstand requirements, make wrong decisions, or produce solutions that look correct but fail in unexpected situations.&lt;/p&gt;

&lt;p&gt;For example, imagine an agent that can modify our database or deploy changes to production. We shouldn't give it unlimited control and simply hope everything goes well. We need proper permissions, automated checks, logs to understand what happened, and approval before certain risky actions.&lt;/p&gt;

&lt;p&gt;At the same time, oversight doesn't mean we have to watch every step the agent takes. We can let it handle routine tasks independently, as long as we have the right checks and boundaries in place.&lt;/p&gt;

&lt;p&gt;The goal isn't to assume that the agent will always be correct. It's to make sure that when it isn't, the entire system doesn't fall apart.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Developer's Role Is Changing
&lt;/h2&gt;

&lt;p&gt;So, if AI agents are doing more of the coding, what should we, as developers, focus on?&lt;/p&gt;

&lt;p&gt;I think one of the biggest changes is that our role is becoming less about writing every line of code ourselves and more about explaining the problem clearly, guiding the agent, and evaluating the solution it produces.&lt;/p&gt;

&lt;p&gt;For example, instead of simply asking an agent to build an authentication system, we need to explain how it should work, what security requirements it must follow, how it fits into our existing application, and what cases it needs to handle.&lt;/p&gt;

&lt;p&gt;The better we understand the problem, the better we can guide the agent.&lt;/p&gt;

&lt;p&gt;But giving clear instructions is only one part of it. We also need to understand the code it generates, question its decisions, test the solution, and make changes when something doesn't look right.&lt;/p&gt;

&lt;p&gt;This is why I don't think learning programming and software engineering becomes less important with AI. In fact, understanding the fundamentals helps us get much more out of these tools.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Practical Example: Building the Same Feature in Two Different Ways
&lt;/h2&gt;

&lt;p&gt;Let's take a simple example: adding authentication to an existing Express application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With vibe coding&lt;/strong&gt;, we might ask an AI tool to add JWT authentication, try logging in, and check whether it works. If it does, we move on to the next feature.&lt;/p&gt;

&lt;p&gt;But we might not realise that expired tokens aren't handled properly, some routes are still accessible without authentication, or the generated code doesn't fit well with the rest of our application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With agentic engineering&lt;/strong&gt;, we approach the same task differently.&lt;/p&gt;

&lt;p&gt;Before asking the agent to implement anything, we define how authentication should work, consider security requirements, and understand how it fits into the existing architecture. We give the agent clear requirements, let it implement the feature and run tests, and then review the generated code ourselves.&lt;/p&gt;

&lt;p&gt;We also check edge cases, verify that protected routes behave correctly, and make sure the new feature hasn't broken anything else.&lt;/p&gt;

&lt;p&gt;The difference isn't that one approach uses AI and the other doesn't. Both do. The difference is whether we're just trying to get the feature working or taking responsibility for making sure it's implemented properly.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Takeaway: The Goal Is Not Just to Generate Code
&lt;/h2&gt;

&lt;p&gt;The more I explore agentic engineering, the more I feel that the real value of a developer isn't just in how quickly they can write code, but in how well they understand the system they're building.&lt;/p&gt;

&lt;p&gt;I don't think the answer is to stop using AI or to write everything manually. I think we should learn to use these tools without losing our understanding of software engineering.&lt;/p&gt;

&lt;p&gt;For me, agentic engineering is about combining the speed of AI with the knowledge and judgment needed to build good software. The goal isn't just to make AI write more code. It's to use AI to build applications that are reliable, maintainable, and actually solve the problem they're meant to solve.&lt;/p&gt;

&lt;p&gt;As AI agents become more capable of writing code, what skills do you think developers should focus on the most?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>agenticengineering</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
