Я бы взял даже пример программистов.
Один из самых простых языков программирования - php. Во многих группах шутят про то, что самые глупые - это программисты php. Однако в нём 20+ тысяч функций, которые можно использовать. Сам он растёт из другого языка программирования. Многие функции перекликаются и выполняют почти одно и тоже, но есть ньюансы. Я, например, могу вспомнить пару десятков и сам без подсказок сделать что-то очень простое. Теперь возьмём мастера, который 15 лет делает сайты/серверы разных мастей, знает ньюансы работы этих функций, как они работают с другими функиями, какой будет результат при разных сочетаниях.
Мастер уже раз 100 встречался с какой-либо задачей и знает как именно лучше решить её, какими функциями (рунами), потому что это уже делал. Видел как делают другие и какие результаты. Короче, опыт - это очень важная составляющая. Кроме полного понимания того, с чем ты работаешь, нужно ещё и наработать колоссальный опыт, чтобы называться мастером.
Ещё момент, что когда тот же программист работает с каким-то языком программирования, ему нужно попутно изучать другие языки и технологии, чтобы лучше понимать свой язык программирования. Различные уже написанные каркасы, библиотеки (ставы, оговоры, нужное подчеркнуть) мастер знает и быстро ориентируется что ему нужно в данный момент. В конечном счете мастер своего дела обрастает смежными знаниями из других областей в большом количестве, потому что для полного понимая чего-то на уровне мастер нужно стать хотябы среднячком в смежных областях. Оттого и мастер, что не новичёк.