Yes. Because no matter how good you are, you can't think of everything.
- You will also be asked to make your software do things that you never intended for it to do.
- You will also never have requirements that are so clear that you will be able to think of every possibility to make sure the code doesn't break.
- You will also work with other people's software and apis that will not always work as intended, but you will assume that it does, or should, leading to a defects in your "perfect" case.
JMHO.