>The basic premise of TDD, for those unaware, is that one first writes a unit test that verifies the expected behavior for some function
No, not "some function". The tests should mimic the expected behavior of a scenario using the app.
Only if the function is acting as a close approximation of the app itself do you get any benefits out of TDDing it.
90% of the shitty tests I've ever seen in my life - whether written with TDD or without - have been written as a result of a mid level developer thinking that the test should "surround some function" (they dont seem to think it matters which ones you pick) rather than reflecting an actual user story.
This blog post is a reflection of that same attitude.
> A coding agent allows one to feel the raw productive power a great programmer can tap into. It allows one to feel like the “10× programmers” they’ve sat next to in the open office for ten years, whose skills they never quite achieved themselves.
I fear this is the trap that most "new" developers will fall into over the next few years. I'm also worried the "great programmer" will cease to exist as the current greats retire, and the potential greats will never reach that level due to their reliance on LLMs.
It's a cycle, design patterns, TDD, the latest framework or language. We keep chasing the next silver bullet, but there isn't one. There's no easy road.