First, we offloaded knowledge to writing. Then, we came for means of production. Now, we're going for means of computing.
Solving problems the classical non-AI way is where I learned the most. Debugging software and infrastructure issues for days on end could be seen as frustrating and as a waste of time if AI can just one-shot it. Personally, those debugging days were the most productive for refining my mental model of how things work and the most fun memories from work at the same time.
I fondly remember this one time when we started seeing performance degradation in our inference pipeline, me and my coworker went out on a multi-day journey of GPU profiling, debugging kubernetes pods, learning intricacies of CPU throttling, checking those env vars that nobody knows about. After multiple days, the solution was a 2 line change to our log collector configuration. I came out of this experience with a much deeper understanding of distributed log collection, the knowledge which pays dividends to this day. It also created a real bond with my coworker, the one that makes you happy and makes you cooperate much better in the future. We both knew our strengths and weaknesses better, we learned and shared the tricks that we use for debugging, and most importantly we had a blast debugging together.
Since I started heavily using AI in my workflows, those things don't happen anymore. The learning point is now doing code review of what the agent produced, it definitely can broaden the perspective, but my mental model does not get refined as much, the incremental improvement of my problem-solving ability is definitely smaller. You can get a deeper understanding of topology by reading proofs, but nobody in the maths department expects to better their proof-writing by it, it must be done by running the loop yourself.
My experience makes me believe the mental models we create will be much more shallow and the foundation beneath this surface won't be as stable. My take is that we are greatly degrading our ability to run human OODA loops. And as a side effect, by increasing our agency we alienate ourselves from other people, degrading the role of human community further.
Learning involves running the OODA loop yourself, way slower than more experienced colleagues, and with worse outcomes. You might need to run an order of magnitude more iterations of this loop to arrive at a solution of similar quality. However, running it yourself is a learning process, what you gain by running it is reinforcing each step of the loop. After years of software engineering, when posed with a problem, you instinctively observe where to look and what you're looking for, you orient by quickly building a productive mental model of the current state, given your model, you decide what the next steps should be, and you can easily act to create the solution.
The good news for junior engineers is that quality improvement of one's loop is probably sigmoidal in nature, you'll be improving your loop much faster than senior engineers, who are approaching diminishing returns. The bad news is that you need to run the loop to improve it, whereas senior engineers can just augment themselves with AI while keeping the quality of their loop at a maintenance level.
The trillion-dollar question is obviously - won't AI be running better OODA loops than senior engineers? The likely answer is that it just might, it could produce good-enough code faster. Senior engineers will have the advantage in using it, the same way a farmer gets better yields than me out of the same tractor and the same soil. The interesting question is what parts of our experience we are trading in for this optimization. Our power process is getting increasingly disturbed, the gap from means to ends is widening, our cognitive dependence on the existence of human community is severed. Will we still have fun?