Люди, не обладающие определенным навыком, склонны думать о тех, кто обладает этим навыком, как о «знающих, как» это делать.

Для непрограммиста программист - это человек, который «умеет» писать программы. Врач - это человек, который «умеет» диагностировать и лечить проблемы со здоровьем. Плотник - это человек, который «умеет» делать вещи из дерева.

Но никогда не бывает так просто.

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

Знание - это врата, а не вершина. Знание того, как делать одно дело, открывает дверь к знанию того, как делать другое. И как только вы научитесь делать эти вещи, вы будете на пути к знанию того, как делать еще больше. Некоторым из этих вещей нелегко научить. Вы можете попробовать, но без учета опыта уроки не всегда найдут отклик.

Сложность в том, что получение знаний не является линейным путем. Я занимаюсь программированием более двадцати лет, но многое из того, что я узнаю, я получаю, слушая людей, которые моложе и якобы менее опытны, чем я. Опыт ценный, но не единственный источник хороших идей.

Знания - это индикатор прогресса, который никогда не достигает 100%. Если вы хотите знать, как что-то делать, поймите, что вы отправляетесь в потенциально бесконечное путешествие. Путешествие - это пункт назначения.