Как оставаться в тренде dev-индустрии

Вряд ли кто-либо станет отрицать актуальность этого вопроса для большинства разработчиков: “Как оставаться в курсе последних новостей в области разработки, ее трендов и технологий?”

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

Внутри команды

Ревью кода

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

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

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

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

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

Устраивайте вводные сессии и принимайте в таких участие

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

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

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

Документация

В нашей команде себя отлично зарекомендовала подготовка к подобным сессиям документации. Это может быть RFC (Рабочее предложение), ADR (Запись архитектурных решений) или другой документ по техническому проектированию. 

В случае проработки продукта документацию может представлять одностраничная памятка или PRD (Техническое задание). Не столь важно конкретное имя или тип, сколько согласованность структуры и фактическая реализация (причем необходимо делать это на регулярной основе, а не по случаю). Подобные документы обычно выступают сопутствующими материалами для всех типов совещаний. 

Плюсы подобной предварительной подготовки:

  1. Таким образом мы создаем информационную памятку, которая пригодится будущим сотрудникам, а также текущим, кто не смог присутствовать на встрече. 
  2. Документация дает каждому право голоса, позволяя ознакомиться с темой и оставить собственные комментарии, не будучи ограниченным временными рамками встречи.
  3. Заранее ознакомившись с материалами документа, сотрудники уже идут на встречу подготовленными, что дает возможность сфокусироваться именно на важных темах, а не просто вводить всех в курс дела.

Для технической документации у нас есть отдельный централизованный репозиторий с каталогом, выделенным под ревью архитектур, где мы размещаем RFC, ADR и документы по разработке новой функциональности.

Так мы задействуем функционал версионирования, комментариев и ревью, предлагаемый нашей VCS (в данном случае GitLab), которая предлагает широкие возможности, включая тегирование и назначение ревьюеров, открытие и ведение обсуждений, а также многие другие. Плюс все разработчики уже знакомы с рабочим потоком и функциональностью, поэтому изобретать колесо или создавать новые инструменты не приходится.

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

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

Внутренние технические совещания

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

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

В тренде с внешним tech-миром

Twitter

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

Дополнительно можно подписаться на ярких представителей индустрии, которые также делятся интересной актуальной информацией. Я в своем аккаунте Twitter подписан в основном на технические направления, благодаря чему получаю важную информацию по обновлениям библиотек (недавно вышла новая версия Cradle с выделением ключей), новым возможностям и продуктам (в Elasctisearch появился новый сервис, позволяющий настраивать результаты поиска), а также о многом другом. В Twitter, помимо прочего, встречаются очень полезные посты в блогах или личные рекомендации пользователей.

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

Приложения Google

Если вы пользуетесь такими приложениями Google, как Chrome и Google Search, особенно будучи авторизованными, то Google уже наверняка сформировал полноценный профиль ваших интересов и предпочтений. Это можно использовать себе на руку, задействовав сервис продвинутой поисковой системы Google Discover. Она предложит вам очень многое, начиная от новостных статей и блогов, заканчивая спортивными событиями и видео с YouTube, все на основе ваших интересов. С помощью этого сервиса мне удается найти большую часть полезного контента, к тому же его очень удобно просматривать по утрам.

Форумы сообществ, Slack

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

Уведомления Github и примечания к версиям ПО

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

Встречи

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

Medium! И другие подобные ресурсы

Последним, но не менее существенным пунктом, я назову именно подобные Medium платформы. Если вы это читаете, то, надеюсь, вам удалось почерпнуть из данной статьи что-то полезное, при том, что на ресурсе еще масса интересных материалов.

Можете подписаться на конкретные темы, позволив Medium предлагать вам соответствующие статьи. Я пользуюсь этой возможностью регулярно и выборочно прочитываю наиболее для меня актуальные посты, уведомления о которых получаю либо на почту, либо на домашней странице ресурса. Отмечу также, что мне нередко попадаются хорошие предложения контента от Google и Twitter (а также других ресурсов для блоггинга).

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

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

Читайте нас в Telegram, VK и Яндекс.Дзен


Перевод статьи Husam E: How to stay current as a developer

Предыдущая статьяБольшие данные и их влияние на постпандемический мир
Следующая статьяВведение в сетки в цифровом дизайне