Когда я впервые вошел во вселенную компьютерного программирования, я был поражен навыками и способностями тех, кто долгое время работал в этой области. Количество контента, о котором они могут с комфортом говорить, просто умопомрачительно! Сначала я действительно испугался. Только спустя некоторое время я понял, что отличает этих мастеров-кодеров от других программистов.

Посмотрите на историю техники. От 25 лет назад, когда Интернет состоял из одной страницы текста с гиперссылками, до сегодняшнего дня, когда людям странно не иметь смартфонов. Технологии развиваются с невероятной скоростью. Новый и популярный фреймворк будет вытеснен через пару лет. Новые языки программирования будут продолжать появляться, как миллиарды звезд на небе. Нет никакого способа, которым вы можете овладеть всем этим. Если вы потратите годы на совершенствование одной системы, к тому времени, когда вы станете «мастером», она устареет.

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

Поясню, что я имею в виду под обучением. То, что я видел у большинства людей, можно разделить на две простые идеи.

  1. Изучайте концепции больше, чем код
  2. не бойтесь промочить ноги и учитесь шаг за шагом

Изучите концепции

Думайте об этом как о рецепте. Если вы знаете все технические тонкости — измельчение, взбивание, измельчение, запекание и т. д., — тогда вы действительно сможете приготовить все, что захотите, независимо от ингредиентов.

Та же идеология применима и к коду. Если вы понимаете технический разговор — MVC, ООП, фреймворк, база данных, запрос и т. д. — вы можете писать на любом языке, с любым фреймворком! Конечно, есть определенные нюансы, но основы, как правило, одинаковы, только с другими словами.

Не бойтесь пробовать

Новые фреймворки, библиотеки и языки пугают! Особенно, когда ваша работа зависит от того, насколько быстро вы понимаете совершенно новый язык! Честно говоря, я смеюсь над людьми, которые пытаются прочитать всю документацию, прежде чем начать писать на языке. Это как получить новую настольную игру! Вы проходите и читаете все правила, у всех затуманиваются глаза, и в конце концов вы просто начинаете и разбираетесь во всем по ходу дела.

Попытка прочитать, запомнить и осмыслить язык программирования или фреймворк без написания кода — это подвиг, на который способны только супергении. Я не из таких, и вы, наверное, тоже. Поэтому вместо того, чтобы пытаться сделать это невозможным способом, сделайте это естественным путем. Сделайте простое приложение с новым кодом! По мере возникновения вопросов разбирайтесь с ними, читая документы.

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