Software Engineering in the AI Age: When to Code and When to Prompt

October 25, 2025

The emergence of AI tools like ChatGPT and Claude has sparked a crucial question for aspiring and current software engineers: should projects be built from scratch, or should AI handle the heavy lifting? The prevailing wisdom suggests a synergistic approach, emphasizing foundational learning augmented by AI for productivity.

The Foundational Importance of Building From Scratch

Deep understanding of core concepts is repeatedly highlighted as paramount. Building projects from the ground up allows you to:

  • Learn the Ins and Outs: Gain a deep understanding of languages, frameworks, and their underlying mechanisms. This hands-on experience is invaluable for truly internalizing how systems work.
  • Master System Design: Develop a strong grasp of fundamentals and architecture patterns. This knowledge is not only crucial for building robust applications but also essential for technical interviews and problem-solving in real-world scenarios.
  • Identify AI Flaws: An expert coder, with a solid understanding of how things should be built, is far better equipped to spot when AI is "bullshitting," hallucinating, or producing unmaintainable, insecure, or functionally incorrect code.

AI as a Powerful Accelerator, Not a Replacement

While foundational knowledge is key, AI is recognized as an increasingly essential tool to enhance productivity and accelerate development.

  • Human for 'What/Why,' AI for 'How': A common theme is that engineers should dictate the high-level architecture, design patterns, and overall "what" and "why" of a feature. AI then becomes a powerful assistant for the "how" – generating the actual code based on those precise instructions. For example, rather than letting AI design a caching system from scratch, specify: "Let's add caching functionality. Use Redis as a caching store and let's start with storing these 3 API results in cache."
  • Prototyping and Speed: AI excels at quickly generating functional prototypes. This ability to build a working version in hours, not days, allows for rapid iteration and the swift identification of functional issues. Functionality that sounds good on paper can be tested quickly, revealing flaws before significant time investment.
  • Clarifying Requirements: Surprisingly, AI can aid in refining functional and technical specifications. By interacting with an AI to create specs and implementation plans, it can ask clarifying questions, leading to a deeper and more robust understanding of requirements than might be achieved alone.

Ensuring Code Quality and Maintainability

Leveraging AI effectively without sacrificing quality requires a strategic approach:

  • Master Architecture and Design Patterns: Before relying heavily on AI to "build stuff," invest time in learning software architecture design patterns. This knowledge enables you to provide AI with clear guidelines, ensuring it generates sane, testable, and manageable code. Otherwise, you risk ending up with unmaintainable "shit."
  • Define Strict Inputs/Outputs: To guide AI effectively, provide precise specifications such as OpenAPI specs, wireframes, or detailed database schemas. Using strict languages like TypeScript can ensure that some bugs are caught at compile time, improving reliability.
  • Managing Technical Debt: While AI can generate code quickly, it can also introduce complexity. A skilled engineer's learned mind is still essential for triaging and managing the inevitable technical debt that can arise from AI-generated code. The goal is functioning software with manageable technical debt.

The Evolving Software Engineering Skillset

The role of a software engineer is evolving. While a career purely as a "prompt engineer" is viewed skeptically for the immediate future, proficiency with AI tools will become a fundamental expectation, much like knowing how to use email or the internet. The core mission remains building valuable software solutions for end-users, and using AI effectively within that context is the path forward. Whether building for monetization (where tools like visual UI builders can speed up the base) or for learning (where building from scratch is invaluable), the strategic integration of AI with deep technical expertise will define success.

Get the most insightful discussions and trending stories delivered to your inbox, every Wednesday.