The better and more experienced you are as a software engineer, the less benefit writing tests gives you.
I'm able to tackle bigger and larger problems with more confidence. I can tell when my new code has caused an error in some dusty corner. I more easily think through edge cases and sad paths. I can show someone my tests and they can understand what the module is supposed to do.
For the record, I don't TDD/BDD much anymore. I do use the lessons I learned while I was to write more testable code.