Обычно мы перечисляем кучу навыков, которых у нас нет в резюме. Не зря: компании перечисляют абсурдное количество навыков, которых у нас нет вообще. Это не имеет значения. Важно знать достаточно об основных навыках, которые помогут вам. Нелегко определить, знаешь ты что-то или нет, особенно в программировании. Конечным испытанием знания чего-либо является создание чего-то реального.

Если вы хотите знать, готовы ли вы создать веб-сайт с помощью React, создайте его с помощью React, но не с вашими собственными функциями, а настоящий, который от вас требуют. Если вы смогли реализовать все функции сайта клиента, значит, вы знаете технологию. Но откуда вы знаете, что понимаете концепцию? Скажем, например, кэширование. Полное раскрытие, у меня до сих пор нет глубокого понимания того, как работает кэширование, какие существуют типы кэширования и почему они разные. В принципе, это не так просто, как мы думаем. Чтобы иметь глубокое понимание концепции, здесь мы говорим об основных и сложных концепциях программирования, есть шаги, которые вам помогут. Вы никогда не научитесь, просто читая или кодируя пример данной концепции. Скажем, чтобы понять кэширование, шаги могут быть такими:

Читать

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

Осуществлять

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

Использовать

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

Окончательный тест

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

P.S. Попросить помощи

Очень важно просить о помощи, даже если вы что-то знаете. Дело не в том, чтобы найти идеальный способ сделать что-то, что бесполезно. Скорее, речь идет о том, чтобы упустить из виду некоторые второстепенные, но важные вещи, которые вы бы сделали, если бы не спросили об этом тех, у кого есть опыт. Разработка программного обеспечения — это не только кодирование, но и коммуникация и связь. Если вы не используете что-то для общения с теми, кто старше вас, трудно написать действенное программное обеспечение. Неважно, если вы 10 лет занимаетесь разработкой программного обеспечения, всегда необходимо консультироваться с коллегами во время написания.

Я считаю голливудское изображение разработчиков программного обеспечения вводящим в заблуждение, когда одиночка в подвале своих родителей пытается обогнать мир. Это похоже на «Доктор Хаус», где даже если вы знаете, что вы лучший в том, что вы делаете, вам просто нужно обсудить свой код и передать мяч другим, а в конце сделать лучшие программы.