"Cognitive surrender is when you blindly accept what AI gives you" I had a great fireside chat on the evolution of the developer craft with Richard Seroter, Aja Hammerly and Ciera Jaspan at Google I/O this week. The full video is out now: https://lnkd.in/gW8nwJHk We covered a lot of ground: what seniority actually means when agents can generate code faster than any of us, why the difference between feeling busy and being productive has never mattered more, and why the engineers thriving right now aren't the ones running the most agents - they're the ones who still understand what is getting built. If you're thinking about how to stay sharp in this moment without surrendering to the tools, this one's worth 45 minutes of your time. #ai #programming #softwareengineering #lifeatgoogle
That's spot on Addy.
Cognitive surrender is the biggest risk for junior devs right now. If you do not understand the output you are not building skills you are just copy pasting... Addy Osmani
"Cognitive surrender" is just the latest of a series of trendy terms thar brought back a bad trend: blaming the user when the system is badly designed. Very few people understand a system completely and have the ability to debug at scale when the pressure to build is higher than it's ever been. No one is "blindly accepting what AI gives". What actually happens is good old "learned helplessness" when AI (which is still in its infancy) onslaughts you with bad information. It's just like early Google. Needs to be much better.
I think what threatens the society and not only developers is that, without questioning we easily let the cognitive surrender happen. We have been doing this for so long with Google search, but now AI gives a false confidence and we accept it. I believe that the confusion is going to be for one full generation, and the next generation is going to figure it out because to them AI will not be a new and or an extraordinary phenomenon, but merely a routine in their lives. For them such a term like cognitive surrender will be meaningless as they will build their frame of thought around it.
Totally agree — I’ve been experiencing the cognitive load too. Sometimes, while reviewing AI-generated code, I already know what the next few steps will be halfway through and it becomes tempting to skip the review entirely. 🫣 But I realized pretty quickly that this isn’t a sustainable way to improve productivity. Now I consciously complete the review even when I’m confident about the output — because understanding generated code is very different from merely recognizing patterns.
That’s a fact. AI is only as good as the instructions you give it. In my experience, you get truly high-quality code when you tell the AI exactly how to proceed. For example: “I want you to use a dispatch pattern to remove the if statements” or “Separate the concerns and split the logic across multiple files.” When working iteratively with Prompt Context Markdown files as a Co brain 🧠 — which the AI keeps up to date on its own—I’ve found that the AI learns exactly what I want through the threads. Good prompts—best results. With that in mind: Experienced developers and architects still make all the difference.
AI should accelerate thinking — not replace it. The developers who will dominate this decade aren’t just prompt operators. They’re systems thinkers. Anyone can generate code. Very few can understand consequences. That’s the real seniority gap in the AI era. 🔥 Exceptional discussion from Google leaders on the future of developer craftsmanship and cognitive resilience in modern engineering.
most people wouldn't know better, they just go ask the AI for the answer, wouldn't question if it's the RIGHT answer or not; the hardship & the time taken, mental effort & energy invested isn't there anymore hence now the people aren't actually learning anything but rather regurgitate what the LLM has given them without further examination & expansion; this is true especially with the young generations (Gen-Z & beyond).
If you’re not able to code as fast as AI, the bare minimum is to make sure you are aware of each line of your code and confidently understand what each line does and why it’s there. More importantly, should it even he there. Output matching without understanding context is like knowing your destination is 5km away but taking a detour that covers 60km which eventually arrives at the same destination. You arrived at the required destination, yes. But at 12 times the cost and losing the plot in the process
Feels like ‘accept all changes’ became muscle memory instead of a conscious decision for a lot of us