DEV
Home About Services Projects Blog Contact
Hire me
Intelligence Artificielle

How I Use ChatGPT to Code 3x Faster (and What It Can't Do)

🇫🇷 Lire en français
How I Use ChatGPT to Code 3x Faster (and What It Can't Do)

I'll be direct: when I first started using ChatGPT for coding, I was doing everything wrong. I was asking it to write entire functions, copying and pasting without checking, and ending up with code that "worked" but that I didn't understand. That's the worst way to use AI.

Since then, I've developed a workflow that genuinely lets me code faster — while remaining in control of my code. Here's how.

What ChatGPT Does Really Well (and How I Use It)

1. Boilerplate generation

Repetitive code — migrations, seeders, basic unit tests, config files — that's where AI shines. These tasks are tedious, standardized, and ChatGPT generates them correctly 90% of the time.

Prompt: "Generate a Laravel migration for a 'products' table with:
- id (auto-increment)
- name (string, max 255, required)
- slug (string, unique)
- price (decimal 10,2, default 0)
- stock (integer, default 0)
- category_id (foreignId, nullable)
- is_active (boolean, default true)
- published_at (timestamp, nullable)
Add appropriate indexes."

2. Debugging obscure error messages

An incomprehensible error at 11pm? I paste it into ChatGPT with the code context. In 70% of cases, the answer is right on the first try. In the remaining 30%, the answer points me in the right direction.

3. Writing unit tests

Tests — we all do too few of them. With ChatGPT, I provide the method to test and ask for PHPUnit tests. My test coverage has increased by 40% since I started using this approach systematically.

What ChatGPT Does Poorly: Traps to Avoid

It hallucinates functions that don't exist

ChatGPT sometimes invents methods, packages, APIs. Especially on recent technologies. All generated code must be verified.

// ChatGPT suggested this Laravel "method" (it doesn't exist)
$users = User::whereActive()->paginate(20);

// The real implementation
$users = User::where('is_active', true)->paginate(20);
// or with a scope
$users = User::active()->paginate(20);

It doesn't know your codebase

ChatGPT generates generic code. It doesn't know you have a published() scope, a HasSlug trait, or that your UserController already does exactly what it's proposing. Without context, its suggestions are often redundant or incompatible.

Solution: Always copy the relevant context into your prompt. The more context you give it, the better it responds.

My Real 5-Step Workflow

  1. Describe the problem precisely — with context, constraints, and what I've already tried
  2. Read the entire response before copying anything
  3. Test in an isolated environment before integrating into the project
  4. Understand what I'm copying — if I can't explain it, I don't use it
  5. Document non-obvious solutions for my team (and myself in 6 months)

Prompts That Make All the Difference

  • "Act as a senior Laravel developer. [...] Explain your reasoning."
  • "Generate [X] following PSR-12 conventions and Laravel best practices."
  • "Review this code and identify performance, security, and readability issues."
  • "Give me 3 different approaches to solve [problem], with pros and cons of each."

Conclusion: AI Amplifies, It Doesn't Replace

ChatGPT is a tool. Like Git, like PHPStorm, like Stack Overflow. It amplifies your existing capabilities — it doesn't replace them. A beginner developer who uses ChatGPT is still a beginner producing generative code they don't understand. An experienced developer who uses it intelligently gains a real productivity multiplier.

The difference is the critical thinking you bring to every generated line.

Écrire sur WhatsApp