Как оставаться на гребне волны в океане современных веб-разработок

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

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

Но за последние несколько лет мне удалось удвоить свою ставку и обрести (почти) пассивный доход на стороне. Более того, я могу выбирать интересные мне проекты и команды, с которыми мне хочется сотрудничать.

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

Мы затронем с вами следующие темы:

  1. Кем быть: универсалом, специалистом или энциклопедистом? 
  2. Путь от анализа к интуиции. 
  3. Инструменты и стратегии для поиска технологий из моего личного опыта. 

Кем быть: универсалом, специалистом или энциклопедистом?

Универсал — это мастер на все руки. Он/она в курсе современных тенденций в мире технологий. Таких людей мало, поэтому они очень ценятся. 

Специалист обладает глубокими знаниями в конкретной области. Многие считают, что специализация в чем-либо просто означает неосведомленность в других вопросах. Понятие “специалист” подразумевает владение квалифицированными знаниями по конкретному предмету. Например, моей специализаций являются чат-боты. 

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

Многие энциклопедисты, включая Чарльза Дарвина, Леонардо да Винчи, Мари Кюри, Ричарда Фейнмана, утверждали, что не отличались исключительными умственными способностями. 

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

Основываясь на личном практическом опыте, могу сказать, что: 

Неимоверно тяжело войти в число 1% лучших специалистов в одной области знаний. Гораздо легче оказаться в числе 25% тех, кто разбирается в двух или трех сферах деятельности.  

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

Как находить последние технологии и держать руку на пульсе всех новейших веяний в сфере разработок? 

Путь от анализа к интуиции 

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

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

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

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

Что же делать? 

Предлагаю воспользоваться правилом 40-70% с некоторой долей интуиции.

Это правило появилось благодаря Колину Пауэллу, бывшему государственному секретарю США. Он говорил о том, что для принятия правильного решения руководителю необходимо иметь от 40 до 70% доступной информации. Если процент имеющейся информации окажется меньше 40%, то такое решение будет необоснованным, но ожидание более 70% данных наоборот неоправданно задержит его принятие.

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

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

Прежде чем углубиться в правило 40-70% и важность интуиции, рассмотрим 3 применяемых мной подхода для поиска технологий: 

Три подхода для исследования 

  1. Общение с коллегами по работе и обмен идеями. 
  2. Поиск аналогичных проектов, альтернатив и трендов. 
  3. Выполнение комплексного анализа технологических тенденций. 

Общение с коллегами по работе

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

Однако не стоит надеяться только на своих коллег. 

Поиск аналогичных проектов 

Для поиска аналогичных проектов я использую GitHub Explore. Он поможет найти репозитории, схожие с вашими интересами. 

А проще всего спросить Google. Если мне надо найти альтернативы инструменту, то я ввожу запрос <Название инструмента> vs:

И Google мне их предлагает. Например, если бы я искала альтернативу моему любимому инструменту NLP Dialogflow, то я бы написала “DialogFlow vs”, а Google предоставил бы мне варианты для изучения. 

Для поиска новых тенденций я просматриваю новостные сайты, такие как Hacker News, Slashdot, DZone, Diginomica, Reddit, Medium, Decipher Zone, VentureBeat. Конечно, не каждый день и не все время. 

Также я подписана на новостные рассылки и слушаю подкасты. 

Комплексный анализ технологических тенденций 

Я провожу анализ технологических тенденций каждые несколько месяцев и использую следующие инструменты: 

ThoughWorks Radar помогает отслеживать изменения в техниках, платформах инструментов, языках и фреймворках. 

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

Существуют 4 уровня зрелости технологии: 

  1. Застой. На этом уровне ничего не стоит начинать, так как технология доживает свои последние дни. 
  2. Оценка. Этот уровень охватывает новые перспективные технологии, которые хорошо себя зарекомендовали, предлагая интересные решения тех или иных задач. 
  3. Апробация. Технология признается хорошей, и вы можете использовать ее в своем экспериментальном проекте или рассмотреть ее применение в более важных проектах. 
  4. Внедрение. Сюда относятся технологии, доказавшие свою состоятельность в различных контекстах, вследствие чего их можно использовать по мере необходимости. 

StachShare — это сообщество, которое помогает разработчикам и инженерам открывать и сравнивать инструменты ПО. Лично у меня интерес вызывает big guy/gal’s stacks. Вы можете видеть, что используют такие компании, как Pinterest, Uber, Airbnb и другие гиганты. 

GitHub Trending предоставляет возможность знакомиться с популярными репозиториями и изучать их. 

Вот что я делаю: создаю свой собственный Tech Radar (технологический радар) и включаю в него все изучаемые мной инструменты и фреймворки. Затем просматриваю то, что есть, и решаю, чем стоит заняться более подробно. 

Google trends и Stackoverflow trends мне нужны для определения зрелости технологии. 

Часто это делать необязательно, достаточно двух раз в год.

Однако выделите время для подобного исследования. Создайте список всех технологий на Radar. 

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

Тогда вы проверите, какие технологии на пике популярности, а какие в состоянии упадка. 

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

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

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

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

Многие компании принимают решения, которые пользуются большим спросом. Ориентация на нишевые технологии — это стратегия, которая способствует (но необязательно) снижению уровня конкуренции.

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

Напоследок один совет: не переусердствуйте в исследованиях. Помните правило 40-70%? Принимайте решение на основании 40–70% доступной информации. И используйте интуицию.

Основные положения статьи

  • общайтесь с коллегами, но не полагайтесь только на них; 
  • изучайте аналогичные проекты для того, чтобы стать специалистом в какой-либо одной области; 
  • выполняйте комплексный анализ каждые несколько месяцев, чтобы быть в курсе современных тенденций; 
  • используйте правило 40–70% и интуицию; 
  • мыслите стратегически. 

Желаю всем хорошего дня 🙂

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Jana Bergant: Stay Up-To-Date and Ahead in Web Development

Предыдущая статьяОтправка push-уведомлений с помощью Firebase Cloud Messaging
Следующая статьяПрактикум по созданию сценариев командной строки