Думаю, изобрести несколько велосипедов для опыта не помешает :) В конце-концов, тогда начинаешь лучше понимать, как примерно работают уже готовые решения, которые используешь.
А как научить использовать готовое — сложный вопрос. Главное здесь — подход мышления. Когда начинаешь что-то делать, сначала поищи, не реализовал ли этого кто-то для тебя? Ведь 99%, что реализовал :)