[SERIES WORKING WITH AI] PART 1: LAYING THE FOUNDATIONS

Remember the days when we'd spend hours stuck on a tricky bug, or when we'd dream of building a perfect app but felt limited by our skills? I've been there, too.

That changed when I started working with ChatGPTand later, Claude. Suddenly, I wasn't working alone anymore. AI became a collaborator: it suggested architectures, scaffolded code, and helped me move much faster.

This article (aimed at developers in our company) will show you how to lay the foundation for AI-assisted development: setting up your environment, adopting the right mindset, and using AI for project initialization, component breakdown, and roadmapping.

1.Preparing Your Development Environment

Stick with your preferred IDE (VS Code, JetBrains, vim, etc.). Comfort matters. AI should enhance, not complicate, your workflow.
Create a prompt library. Keep a prompts.md file or a Notion page with your best prompts for reuse.

2.The Mindset Shift: AI as a Collaborator, Not a Replacement

You are the craftsperson AI is the tool. You guide, it assists.
Work iteratively. Don't expect perfection on the first try.
Always review and understand. Treat AI output as a draft, not production-ready code.
Be specific in your prompts. Clarity equals quality.
Learn from AI. Explore its reasoning and alternatives to expand your own skills.

3.Project Initialization & Planning

3.1. Create a "Knowledge Base" for AI

Before coding, briefly summarize your project for your AI assistant:

  • Project Overview: What are you building? What problem does it solve?
  • Tech Stack: Languages, frameworks, infrastructure.
  • Key Features: Main functionalities.
  • Constraints: Performance, compatibility, regulations.
  • Coding Style/Architecture Preferences.
  • Prompt Examples:
    🔹 I'm starting a new project and I'd like to create a knowledge base for you to reference throughout our development process.
    🔹 The project is [brief description].
    🔹 We'll be using [tech stack].
    🔹 The key features we need to implement are [list features].
    🔹 Some important constraints to keep in mind are [list constraints].
    🔹In terms of coding style, we prefer [mention preferences].
    🔹 Can you summarize this information and suggest any additional details we should include in our knowledge base?

3.2. Break Down into Components

Ask AI to divide the project into manageable modules.

  • Prompt Examples:
    Based on the project overview we just created, can you help me break down this project into manageable components or modules?
    For each component, please suggest:
  • A name for the component.
  • Its main functionality.
  • Potential challenges in implementing it.
  • How it might interact with other components.
  • And a logical order for developing these components.

3.3. Build a Roadmap

Once you have components, create a roadmap with milestones and dependencies.
Prompt Examples:
Using the component breakdown we've created, can you help me develop a project roadmap?
Please include:

  • A suggested order for developing the components, estimated time frames for each component (assuming I'm working on this part-time)
  • Potential milestones or checkpoints, any dependencies between components that might affect the development order, and suggestions for any proof-of-concept or prototype stages that might be beneficial.

4.Refining AI Output

The real value comes from refining AI's suggestions.
Prompt Examples:

  • What are the potential drawbacks or limitations of this approach?
  • Can you suggest an alternative design that prioritizes [specific concern, e.g., performance, flexibility]?
  • How would this design need to change if we needed to [potential future requirement]?

This back-and-forth process is like a brainstorming session with a tireless and knowledgeable colleague.

Conclusion
That's the foundation phase: mindset, setup, and planning with AI.
In Part 2, we'll dive into Building with AI - safely generating code, designing databases, and auto-writing documentation.
In Part 3, we'll cover Testing, Optimization, and Version Control to keep our projects robust and maintainable.

-V.D.Quang GITS-

Leave a Reply

Your email address will not be published. Required fields are marked *