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

Что вы хотите от своей профессиональной жизни?

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

Специализируйтесь в начале карьеры

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

Вы не можете всему этому научиться. Даже если бы вы могли, никто не поверит, что вы это сделали.

Вы не должны все это учить.

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

Например, если вы хотите стать фронтенд-разработчиком, вы скоро обнаружите, что вам нужно изучить HTML, CSS, JavaScript и фреймворк JavaScript. Вы должны изучать именно эти вещи именно в таком порядке. И изучите одну структуру по вашему выбору. Не два или пять. Один.

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

Звучит просто, но это не так.

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

Этот простой и узкоспециализированный подход сослужит вам хорошую службу. Сосредоточившись только на нескольких навыках, вы сможете углубиться, и ваш будущий работодатель это оценит. Если бы моя компания работала в React, я бы нанял кого-то с сильными основами JavaScript и React, а не кого-то, кто немного разбирается в React, Angular и Vue.

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

Специализируйтесь на дальнейшей карьере

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

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

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

И неудивительно, почему. Подумайте об этом с точки зрения работодателя / клиента. Допустим, у вас есть много данных, которые вы хотите показать своим пользователям. Кого бы вы предпочли нанять? Эксперт по визуализации данных или JavaScript-инженер? Или вы хотите создать огромный сайт электронной коммерции. Вы бы предпочли кого-то, кто является экспертом по электронной коммерции, или того, кто два года назад создал одно небольшое приложение для электронной коммерции, но в целом является хорошим разработчиком?

Клиенты и работодатели любят специалистов, потому что им можно доверять. У специалистов есть проверенный опыт поставки аналогичных продуктов. Это и ежу понятно.

Лучшая его часть? Они готовы хорошо заплатить за ваш опыт.

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

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

Разве специализация не опасна?

Это. Все опасно.

Какие риски? Ваша специальность может умереть. В 2010 году Стив Джобс убил Флэша в своем письме Мысли о Flash, объяснив, почему он не разрешает использование Flash на iPhone. Тысячи разработчиков, которые были экспертами по Flash, оказались в опасности. Оказалось, что выбрали не ту специальность.

Но так ли это на самом деле? Письмо Джобса стало огромным ударом для Flash и его владельца Adobe. Но Флэш был жив в течение нескольких лет. Только в 2017 году Adobe объявила о прекращении поддержки Flash к 2020 году.

Технологии не умирают в одночасье. Разработчикам, сделавшим ставку на Flash, пришлось годами переучиваться. Что бы вы ни выбрали, у вас всегда будет время стать экспертом в другой технологии.

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

Например, чтобы быть экспертом по React, вам нужно хорошо владеть JavaScript. А если вы хорошо разбираетесь в JavaScript, при необходимости вы легко сможете изучить новый фреймворк.

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