This is a wonderfully balanced and accurate take. I have been looking for the right medium of using AI to assist me. Cannot agree more on the three patterns to implement and there to avoid.
If the three good patterns are adhered to, these AI tools can help us become more knowledgeable, productive.
We get to retain our cognitive abilities and the desire to pursue code development as a means to solving hard problems.
Adopting the anti-patterns, on the other hand, could lead to over-reliance on AI, anxiety when the tools go down (this happens! ), the atrophy of ability to debug and the yearning for immediate gratification and quick fixes.
Most insidiously, when code inevitably fails in production on cases the developer should have reasoned about and covered, they have no option but to toss it back to the AI tool, thereby, creating a vicious cycle of anxiety, helplessness and cognitive decay.
I wholeheartedly concur with the gist of this sentiment.
An example from my own life.
I’m an avid coffee drinker, and consume 2 doppio espressos a day.
I’m often asked why I don’t just buy an espresso machine and save some money.
To which I respond:
- I look forward to the small interactions when I order coffee
- I build a sense of community where I live/work
- I enjoy the opportunity to tip and give back( albeit in a very small way)
- I’m buying something I like everyday, and this leads to a sense of fulfillment
- I don’t accumulate anything that I need to lug around/maintain
I love this reasoning about the espresso machine because it highlights how easy it is to label humans as being irrational when you're just focused on one or two dimensions (cost), but it turns out that humans are generally very rational if you just don't evaluate them on a crappy, limited model of rationality.
Apropos. I’m stealing that line.