Качество продукта (кода) будет расти вместе с тренировкой на проектах, и каждый новый проект будет получаться чуточку лучше. Можно вообще ничего не уметь, но учиться на реальных задачах, но теорию нужно по итогу изучать, знание хороших практик способствует экономии много часов человековремени