Введение
Приветствую вас, друзья! Совсем недавно я закончил магистратуру, и внезапно осознал, что в IT я уже 6 лет, из которых примерно 4 года — это коммерческий опыт. За это время я успел поработать в стартапах, в небольших продуктовых компаниях, в корпорациях, была также и наемная работа, что-то типа фриланса. Разрабатывал интересные проекты, в том числе и для достаточно известных людей в узких кругах. Мой путь в эти шесть лет был достаточно насыщенным. За это время я успел сменить два университета и как я уже сказал, поработать в разных местах, и мне есть чем поделиться. Если бы меня спросили сейчас, какие советы я бы дал себе шесть лет назад, когда я только начинал, чтобы быстрее пройти этот путь. Я бы им показал вот эту статью. Здесь не будет какой-то волшебной методики, секретной информации, за счет которой вы за месяц станете программистом, аналитиком или экспертом информационной безопасности. Здесь будут вполне конкретные, простые, достаточно очевидные советы, которые многие люди игнорируют, или они им кажутся очевидными, но при этом сами это не соблюдают.
Совет №1
Первые два совета - это основа всего. Я бы распечатал их огромными буквами и повесил на стену в своей комнате, чтобы постоянно видеть их значимость. Пока я не осознал важность этих советов, мой прогресс был очень медленным. Практика является фундаментом всего, и только через решение реальных практических задач можно достичь высоких результатов. Многие заблуждаются, думая, что просмотр видео или чтение книг практикой, потому что они просто запоминают примеры кода. Однако, когда приходит время применять эти знания на практике, оказывается, что они недостаточно усвоены. Переписывание кода с видео в редактор не всегда приносит значимые результаты. Я считаю, что гораздо эффективнее начинать с реального проекта, размышлять над идеями и пытаться их реализовать, даже если изначально не получается. В этом случае мы сталкиваемся с реальными проблемами, ищем их решения, смотрим видео, читаем статьи. Такой подход позволяет сначала столкнуться с проблемой, а потом искать ее решение, усваивая и запоминая информацию. Таким образом, мы не накапливаем большой объем знаний в начале, которые мы позабудем со временем и не сможем применить. Вместо этого мы стараемся решить что-то и по мере исчезновения проблемы, ищем ответы, запоминаем и углубляем свои знания, что позволяет лучше усваивать информацию. Представим, что я новичок во фронтенд разработке. Зная базовые принципы HTML и CSS, я сразу перехожу к практике. Например, я решаю создать простенький интернет-магазин и начинаю с разработки макетов. Затем постепенно добавляю интерактивность, оживляю кнопки и так далее. Когда сталкиваюсь с проблемами, например, хочу создать модальное окно или взаимодействовать с бэкендом, я ищу информацию в интернете. Таким образом, я осваиваю и запоминаю новые теоретические знания через практику. Практика действительно способствует лучшему усвоению теории, и пока это не осознано, прогресс может быть замедленным.
Совет №2
Второй пункт напрямую связан с первым. Как я уже говорил, проекты играют важную роль, и хотелось бы отметить, что практика, независимо от того, решаете ли вы абстрактные задачи или работаете над реальными проектами, также является важной составляющей обучения. Однако без реальных задач эффективность может быть снижена. Например, если вы хотите изучить Redux, попробуйте создать небольшой проект с его использованием. Возникающие вопросы и проблемы будут стимулировать поиск информации, а практический опыт позволит более глубоко освоить знания. Если вы хотите изучить SQL, не зубрите команды и не перечитывайте кучу книг и документаций. Лучше создайте небольшой проект, научитесь делать различные запросы в базу данных и добавлять данные. Через реальный опыт усвоение знаний будет лучше. Двигаемся дальше.
Совет №3
Третий совет, который я могу дать вам, — не распыляйтесь. Выберите одно направление и доведите его до хорошего уровня. Я вспоминаю себя на начальном этапе, когда я занимался слишком многим. Сегодня я изучаю Unity, завтра я хочу изучить SQL, послезавтра я читаю книгу по алгоритмам и структурам данных, а потом я изучаю Back-End и Front-End. Результат - недостаточно навыков в любой области. Не говорю, что нужно зацикливаться только на одном, ведь широкий кругозор всегда полезен. Однако не стоит перескакивать постоянно из одного направления в другое без конца. В поисках чего-то интересного и увлекательного в программировании и IT, многие сферы сильно пересекаются, и знания, полученные в одной сфере, могут легко применяться в другой.
Совет №4
Четвертый совет, который я могу дать всем вам, заключается в том, чтобы не спешить с трудоустройством. Многие очень сильно зацикливаются на этом и ищут возможность попасть на работу, чтобы получить практический опыт. У меня есть примеры, когда люди, стремясь устроиться хоть куда-нибудь, попадали в неподходящие компании, их выгорание и разочарование приводили к тому, что они уходили. Нормальные специалисты, в свою очередь, избегают таких компаний.
Кроме того, процесс поиска работы может затянуться, особенно если у вас мало знаний. Перед началом поиска работы рекомендуется обучиться созданию самостоятельных проектов и получить реальный опыт, чтобы убедиться, что вы соответствуете требованиям вакансии. Это поможет избежать деморализации и бросание обучения, если поиск работы затянется. Хотя, ситуации разные, и некоторым, может быть, необходимо обеспечить свою семью или устроиться как можно скорее, для тех, у кого есть свободное время для обучения, рекомендуется не спешить.
Совет №5
В третьем пункте я упоминал о важности не распыляться, однако я настоятельно рекомендую уделить время компьютерной науке, так как это сильно расширяет кругозор. У меня есть отдельный плейлист по компьютерной науке, где мы разбираем архитектуру, алгоритмы и сети, и я также планирую записать курс по безопасности и разработке собственного языка программирования. Несмотря на то, что большинство из того, что вы будете изучать в компьютерной науке, скорее всего, не понадобится в работе, это значительно расширяет ваше понимание и может быть полезным при решении определенных задач. Поэтому я все-таки рекомендую обратить внимание на компьютерную науку.
Совет №6
Шестой совет, скорее всего, имеет психологическую направленность: нужно избегать сравнений с другими людьми и не позволять возникать такой рефлексии. Наблюдая на YouTube, как кто-то проходит собеседование с легкостью, помните, что у этого человека может быть уже накопленный опыт, в то время как у вас возникают трудности, и вы начинаете сомневаться в своих способностях. Важно осознавать, что вам требуется время на обучение, и невозможно знать все. Кроме того, следует помнить, что иногда можно встретить людей, ставших "Мидл" разработчиками уже в 15 лет, но это скорее исключение, а не правило, и некорректно сравнивать себя с такими людьми.
Совет №7
После многих общений с людьми я заметил, что многие из них страдают от синдрома самозванца. Это является одной из основных проблем, мешающих достижению желаемых результатов. Чтобы преодолеть этот синдром, важно вернуться к первым двум пунктам, о которых я говорил ранее. Необходимо больше практиковаться и заниматься проектами.
Начните с создания небольшого интернет-магазина или социальной сети. Я сам начинал с таких проектов. Когда вы видите результат своей работы, будь то исправление ошибки на backend, создание интерфейса на frontend или визуализация графиков в роли аналитика, важно оценивать его на основе качества достигнутого результата, а не количества прочитанных книг или просмотренных видео материалов.
Наблюдая положительные результаты своего труда, вы постепенно освобождаетесь от синдрома самозванца. У всех он проявляется по-разному, и нельзя быть на 100% уверенным в себе. Мне кажется, я не встречал таких людей. В любом случае, у большинства людей есть какие-то сомнения. Однако, я считаю, что действительно лучший способ избавиться от этого синдрома - это практика.
Совет №8
Восьмой совет, который я бы хотел дать вам, заключается в том, чтобы не пытаться запомнить все детали. Это распространенная проблема у новичков - они застревают на мелочах. Предположим, человек изучает React и TypeScript и работает над проектом. Вместо того чтобы решать задачи и продвигаться вперед, он сталкивается с ошибкой - конфликт типов в TypeScript - и тратит часы, дни, пытаясь исправить ее. Вместо этого, эти три дня могли быть потрачены на изучение новой технологии, библиотеки или написание новой страницы в его приложении. Поэтому я рекомендую не застревать на деталях, мелких проблемах или особенностях конкретного случая.
Я всегда говорю своим ученикам, что важно запоминать подходы, концепции, часто используемые решения и более высокоуровневые абстракции. Детали всегда можно загуглить. Не так важно знать, как работают конкретные технологии. Приведу пример. Представьте, у вас есть страница с огромным списком данных, и когда пользователь прокручивает этот список, работает он очень медленно. Вы узнаете, что существует техника «виртуальных списков», но вам не нужно запоминать синтаксис конкретной библиотеки для реализации этих списков. Важно просто понимать, что такое виртуализация. Когда вы столкнетесь с подобной проблемой, вы сможете вспомнить о виртуальных списках, найти подходящую библиотеку и применить ее. Новички часто застревают, пытаясь выучить конкретное решение и применять его везде. Очевидно, что такой подход неправильный и замедляет прогресс.
Совет №9
И последний совет - быстрого и легкого результата не бывает. Конечно, есть исключения, когда некоторые люди могут быстро обучиться и найти работу, но такие случаи редки. У каждого свой бэкграунд и способность к восприятию информации. Если вы ожидаете быстрого и легкого результата, особенно после прослушивания информационных обещаний "IT за полгода", то стоит быть реалистичным. Вы можете разочароваться, потерять мотивацию и бросить все, не достигнув желаемого результата. Поэтому важно с самого начала подготовиться к тому, что потребуется достаточно времени и усилий, чтобы добиться результатов.
Вот такой набор советов, которые я считаю полезными в обучении.
Спасибо что дочитали до конца! Не забывайте подписываться на канал, чтобы не пропускать самое интересное из мира гаджетов и технологий. Ставьте лайки и пишите комментарии, мне важно ваше мнение!👇