For a while, I treated Claude like a fancy autocomplete — ask a question, paste the answer, move on. That approach worked, but it wasn't until I slowed down and treated it more like a thinking partner that things actually clicked for my day-to-day backend work. The biggest mistake I see (and made myself) is asking for a finished answer instead of walking through the problem. When I just say "write me a FastAPI endpoint," I get generic code. When I explain the actual constraint — the schema, the edge case, why the last approach broke — I get something I can actually ship.
💬 Give context before you give instructions. A couple sentences about your stack and goal changes the quality of the output completely.
🧠 Ask it to explain its reasoning, not just produce code. If I don't understand why a fix works, I ask before I merge it.
🔁 Treat the first answer as a draft. The second or third pass, after pushing back with more detail, is usually the one that ends up in production.
I've used both, and I'll skip the hype. For backend work — API design, debugging tricky logic, reasoning through a schema — Claude has been more consistent for me, especially on longer, multi-step problems where it keeps track of what we already decided a few messages back. Gemini has its strengths too, particularly when I need something wired up quickly, but for the kind of careful, back-and-forth problem solving backend work usually needs, Claude is what I reach for first.
This isn't about writing less code — it's about spending less time stuck and more time building. As a freelancer, that difference shows up directly in what I can deliver to clients and how fast I can do it.
I'm continuing to build with Claude in the loop on real client projects, and I'll keep sharing what actually works (and what doesn't) as I go.
👉 Check out my work and get in touch here: Upwork profile