DEV Community

Cover image for Don’t let AI do your thinking: a practical guide for engineers
Julien Avezou
Julien Avezou Subscriber

Posted on

Don’t let AI do your thinking: a practical guide for engineers

I designed a "Thinking Guide" for engineers building with AI. And looking for your feedback.

We’re entering a new era of software engineering.

Code can now be generated instantly. Entire functions, components, even systems can be scaffolded in seconds.

This is a massive opportunity.

But there’s a subtle tradeoff I’ve been thinking a lot about lately:

When execution becomes easier, thinking can quietly decrease.

Not because we’re less capable, but because many of the moments that used to force us to think - debugging, struggling, reasoning - are now compressed or skipped.

You can ship faster than ever.

But speed alone does not build understanding.


Several studies suggest that heavy reliance on AI tools can reduce cognitive effort, weaken critical thinking, and impair long‑term learning, which are all forms of cognitive offloading.

A recent experimental learning study reported in Psychology Today (“Cognitive Offloading: Using AI Reduces New Skill Formation”) showed that learners who relied heavily on AI while acquiring a complex skill (e.g., coding assistance) formed substantially fewer new skills than those who completed the same tasks without AI. The authors conclude that when tasks are done with the goal of learning, offloading key steps to AI “considerably reduces” skill formation and recommend delaying AI support until a solid base of independent proficiency is built.

The takeaway isn’t to avoid AI. It’s to use it in a way that keeps you thinking, rather than replace your thinking.


Why I wrote this guide

Over the past few years, I went from a graduate with no experience to a senior software engineer in 5 years, while also building and launching my own projects.

One thing I realized along the way:

Growth didn’t come from writing more code.

It came from reflecting on the code I wrote.

After debugging an issue, what signal led me to the root cause?

After designing a system, what trade-offs did I make?

After using AI, did I actually understand what was generated?

So I started building small reflection habits around my work.

Over time, this turned into a structured system.

I recently turned that system into a guide:
"Thinking in the Age of AI"

The goal is simple:
Help engineers keep developing their judgment and intuition while using AI tools.


How to use the guide

This isn’t meant to be read once and forgotten.

It’s designed to be used in small moments during your workflow.

Most exercises take 2–5 minutes.

15 exercises in total.

You don’t need to use everything. Just start by picking one tool and applying it consistently.

The idea is not to reflect more.
But to reflect deliberately.


Example 1 — AI Dependency Detector

One of the tools in the guide is a quick and effective assessment on whether AI strengthening your thinking, or replacing it.

Here is the full exercise extracted from the guide:

Part 1 — Quick Self-Assessment

For each statement, check the box if it applies to you frequently.
☐ I use AI before attempting to think through the problem myself.
☐ I paste AI-generated code without fully reading it.
☐ I struggle to explain AI-generated solutions afterward.
☐ I rely on AI for problems I previously could solve independently.
☐ I rarely rewrite AI-generated code in my own style.
☐ I feel uncomfortable solving similar problems without AI.
☐ I accept AI solutions even when I do not fully understand them.
☐ I use AI to avoid difficult cognitive effort.

Interpreting Your Results

0–2 boxes checked → AI is likely accelerating your thinking.

3–5 boxes checked → Monitor usage and reintroduce friction.

6+ boxes checked → Consider temporarily increasing independent problem-solving time.

Part 2 — Dependency Signals

Reflect on the following questions:

When AI is unavailable, how confident would I feel solving similar problems?

1 — Not confident
2 — Somewhat unsure
3 — Neutral
4 — Confident
5 — Fully confident

Circle one: 1 2 3 4 5

Have my independent debugging skills improved, stayed the same, or declined over the past months?

☐ Improved
☐ Stayed the same
☐ Declined

If I removed AI from my workflow tomorrow, what would weaken first?

_____________________________________________________________________

Part 3 — Cognitive Strength Check

Complete this short test after using AI:

Without looking at the code:

• Can I describe the logic step by step?

• Can I identify edge cases?

• Can I reason about time/space complexity?

• Can I modify the solution confidently?

If you answered “no” to multiple items, this is not failure, it is a signal.

Part 4 — Adjustment Plan

If you notice rising dependency, choose one corrective action:

☐ Attempt solutions yourself for 5–10 minutes before using AI

☐ Rewrite AI-generated code in my own words

☐ Explain the solution aloud after generating it

☐ Use AI only after defining constraints clearly

☐ Limit AI use for certain categories (e.g., debugging)

Write one commitment for your next session:
_____________________________________________________________________
Enter fullscreen mode Exit fullscreen mode

Example 2 — Reflection Prompt Cards

I also created a set of prompt cards organized by engineering themes:

  • system design
  • debugging / incidents
  • learning
  • promotion / impact
  • AI usage

I printed them out and keep them on my desk when building products so that I can ask myself the right questions along the way.

Whenever I’m working, I can pull a relevant card and quickly reflect.

For example:

  • "What trade-offs did I consciously make here?"
  • "What signal led me to the root cause?"
  • "What would I do differently if I had to rebuild this from scratch?"

These small questions compound over time and build intuitions.


I’m now sharing this guide for feedback

If you’re curious, I’ve put the guide here:

👉 https://javz.gumroad.com/l/thinking-in-the-age-of-ai

You can grab it for free (just set the price to 0).
If it ends up being useful, feel free to support so I can keep investing my time in creating resources to help engineers, totally optional of course.

Mainly looking to get feedback from other engineers.

Would especially appreciate feedback on:

  • which exercises feel useful vs unnecessary
  • what feels missing
  • how this fits into your actual workflow

Curious how others approach this

I’d also love to hear from other devs here:

How do you make sure your thinking keeps up with AI tools?

Do you have any habits or systems in place?


AI can generate code.

But the engineers who will stand out are the ones who continue to think deeply while using it.

That’s what I’m trying to build here. This guide is helping me, I hope it can help you too along your journey as a dev.

Curious to hear your thoughts!

Top comments (2)

Collapse
 
openclawcash profile image
OpenClaw Cash

Very useful! Feel free to check out my posts as well.

Collapse
 
javz profile image
Julien Avezou

Thanks for the support! Will do.