В недавней статье я писал о том, что не всем нужно развиваться. Теперь встаёт вопрос: а как же развиваться тем, кто хочет развиваться?

Даже если ты стремишься к развитию, это не означает, что ты должен учиться 24/7, читать что-то новое каждый вечер после работы, запускать по пет-проекту в месяц или контрибьютить в десяток опенсорс-проектов.

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

Что такое развитие

Опустим значение понятия «развитие» в философском смысле и связанные с ним научные постулаты (хотя тем, кому это интересно, рекомендую ознакомиться с трудами Гегеля, Канта, Ламарка) и поговорим о развитии собственно разработчика.

Развитие человека как специалиста означает только обучение. Обычно под обучением мы понимаем спланированный, методически подготовленный, организованный процесс. Но в общем смысле обучение — это переработка опыта. Опыта как полученного в процессе работы, так и воспринятого из источников информации — книг, статей, курсов и т. д. 

Развитие разработчика подразумевает одно из трёх:

  • Он начинает решать всё более сложные задачи (развитие вглубь).

  • Он начинает решать более широкий спектр задач (развитие вширь).

  • Он учится решать те же задачи лучше — быстрее, качественнее.

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

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

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

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

Развитие происходит в несколько шагов:

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

  2. Мы этот опыт анализируем, формулируем для себя новые концепции.

  3. Возвращаемся к опыту и закрепляем полученные навыки.

Про анализ часто забывают, тогда как без него развития не будет вообще. Чем анализ качественнее и глубже, тем лучше будет ваше обучение. 

Таким образом, развиваться можно двумя путями:

  • или увеличивать свой опыт,

  • или посвящать больше времени анализу этого опыта.

Как увеличивать опыт, все понимают. А вот как посвятить больше времени анализу опыта? Например, вы прочитали статью. Вы можете:

  • выделить в этой статье главное;

  • сформулировать её плюсы и минусы;

  • сделать конспект статьи;

  • сравнить с другими статьями по теме;

  • сравнить с тем, как подобное устроено у вас в проекте;

  • понять, как это решение будет вести себя в вашем проекте;

  • внедрить в проект и посмотреть в бою;

  • пересказать статью коллегам;

  • обсудить статью с друзьями;

  • написать статью с критикой этой статьи;

  • написать обзор этой статьи и других статей в той же области;

  • выступить на митапе с обзором этой статьи;

  • составить план обучения тому, что написано в статье;

  • провести курс по этой статье.

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

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

Когда же нам учиться?

Первая приходящая в голову мысль — надо учиться по вечерам, после работы. А ещё по выходным. Однако это далеко не самый лучший путь.

Для обучения нужен анализ, а анализ требует мыслительных усилий. Этот ресурс у нас вообще-то ограничен. Про мышление и его ресурсы написал монументальный труд Канеман, а Дорофеев придумал классный и ёмкий термин для русского языка — «мыслетопливо».

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

Внимательный читатель задастся закономерным вопросом: как же тогда возможно 8 часов сконцентрированно работать, а потом ещё весь вечер учиться? А никак. Вы не можете обмануть биологию. Если вы целый день усиленно думали, работали, у вас не будет сил на осмысленное обучение вечером. Если же вы каждый вечер усиленно учитесь, значит, вы мало думаете на работе. Либо вы думаете много часов в день и сжигаете ресурсы своего организма так, что в скором времени вас ждёт расплата — начиная от депрессии и заканчивая повышенным риском смерти.

Развиваемся за деньги работодателя

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

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

А что делать, если задачи на работе не позволяют вам развиваться? Тут есть несколько вариантов:

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

  2. На работе просто работать работу, не тратя много энергии, а развиваться вечерами.

  3. Найти развитие в текущих задачах.

Первый вариант самый понятный и простой. Второй — не очень и не оставляет времени на отдых. А о третьем расскажу чуть подробнее ниже.

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

Находим развитие в текущих задачах

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

Улучшаем мир вокруг себя

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

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

  • проектировать более грамотную архитектуру;

  • строить более качественные интерфейсы;

  • лучше писать тесты.

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

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

А ещё вы можете пойти на шаг дальше и попробовать организовать пересмотр архитектуры на уровне всей команды. Спроектируйте архитектурные изменения, обоснуйте их, обсудите, внедрите — куча возможностей для развития!

Берём больше ответственности

Другой способ — вы можете расширить сферу своей ответственности. Например:

  • договориться с руководителем и взять на себя коммуникации со стейкхолдерами по каким-то задачам;

  • самостоятельно организовать работу по большой задаче: декомпозировать, спроектировать решение, распределить на несколько людей, контролировать ход работ и управлять им;

  • предложить улучшить инфраструктуру проекта — разобраться с метриками, настроить дашборды.

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

Наставляем

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

Наставничество может быть как прямым, так и непрямым.

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

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

Организуем мероприятия

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

Клуб может быть в разных форматах. Например, в формате пятничного митапа, где раз в неделю кто-то из команды делает доклад на интересующую его тему. Или что-то вроде книжного клуба, где вы вместе смотрите записи конференций и обсуждаете услышанное. Или даже дискуссионные батлы: два человека в течение недели готовят аргументы на выбранную тему (например, «Тестирование интеграций через стабы vs тестирование через мок-сервер»), а победителя определяют по аплодисментам.

Это очередной способ совместить приятное с полезным, а заодно обучить не только себя, но и других. Пицца от вашего работодателя за лучший вопрос простимулирует слушать докладчика ещё внимательнее. :)

Подводим итог

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

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

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

Комментарии (1)


  1. ValeryPopov
    18.09.2022 11:56
    +1

    Недавно прочитал книгу "Говорят, в IT много платят". Автор написала много вариантов развития.

    Помимо тех, что в этой статье: учавствовать в конференциях (коммуникативные навыки), фриланс (набиваем руку), прохождение собеседований.

    Плюс те, что гиперболизированно и кратко описаны в начале статьи: иметь пет-проект (не нужно много), вкладывать в опенсорс (небольшой и немертвый). Ко всему с головой.

    Еще бы отметил мысль "хорошо отдыхаешь - хорошо работаешь". Иметь мыслетопливо и развиваться можно отдохнув. Развиваться неотдохнувшим - путь к выгаранию, верно?