“There are two parts to learning craftsmanship: knowledge and work. You must gain the knowledge of principles, patterns, practices, and heuristics that a craftsman knows, and you must also grind that knowledge into your fingers, eyes, and gut by working hard and
practicing.”
―
Robert C. Martin,
Clean Code: A Handbook of Agile Software Craftsmanship