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:
_____________________________________________________________________
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)
Very useful! Feel free to check out my posts as well.
Thanks for the support! Will do.