Количество багов прямо пропорционально объёму и сложности проекта. Чем проект меньше и проще, тем меньше в нём багов на этапе разработки. С увеличением объёма кода багов будет больше. Опыт не даст полного отсутствия багов, а лишь уменьшит их количество на определенный объём кода. Чем больше опыта, тем меньше будете допускать ошибок. Но бояться багов не стоит, на этапе разработки наличие багов - это нормальное явление. Часть багов выявляются на этапе автоматического тестирования (юнит тесты и т.д.), но такое тестирование позволяет выявить только грубые ошибки. Финализировать тестирование должен человек, который не принимает участие в разработке - тестировщик.
Больше тестов - меньше багов.