breathe

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

Статья разделена на 4 части: Настрой, Обучение, Социальное давление и Набор инструментов. Начнем.


Настрой

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

Осознание проблемы

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

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

Осознайте, что вы не можете успевать все сразу

Для этого существует командная работа. Невозможно быть специалистом во всех сферах. Написание руководства, разработка open-source проекта, сторонние проекты —  все это требует времени. Все требует времени.

Запомните, что нет «правильного» пути

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

Определите главную цель

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


Обучение

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

Структурируйте обучение

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

  • “Roadmap” для разработчика. Визуальная структура поможет структурировать знания. Главное помните, что никто не знает всю эту информацию наизусть.
  • Составьте список того, что вы не знаете. Дополняйте его каждый раз, когда слышите что-то незнакомое. Вы заметите, что многие вещи повторяются по несколько раз.
  • Онлайн-курсы и программы курсов будут полезны даже для опытного специалиста. Не обязательно полностью проходить курс, а лишь интересующие вас темы.
  • Учебники. Возможно, книги вышли из моды, однако они могут ввести вас в курс дела в определенной сфере.
  • Просмотрите объявлений о работе —так вы узнаете спрос на те или иные навыки и знания, которых вам, возможно, не хватает. 

Определите основные ресурсы

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

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

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

Составьте расписание обучения

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

  • Используйте Pocket для сохранения статей, вместо того, чтобы добавлять их в закладки или читать второпях. 
  • Еще один полезный способ — гуглить и читать определения. Порой то, что кажется трудным и не понятным, оказывается совсем простым.
  • Сфокусируйтесь на чем-то одном. Не пытайтесь справиться со всем одновременно. Выберите одну определенную тему и потратьте полчаса на ее изучение.
  • Пересмотрите свои основные ресурсы. Возможно, для одного из фреймворков, который вы используете, вышло обновление. Или вы найдете полезную функцию, о которой не знали раньше.
  • Пробуйте новое. Сделайте это для удовольствия. Если вы никогда не работали с NoSQL, скопируйте проект MongoDB/Mongoose и поэкспериментируйте.

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


Социальное давление

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

Многие пишут плохой код

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

Люди говорят только о хорошем

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

У всех разные приоритеты

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

Статьи вводят в заблуждение

Большая часть информации не пригодится в ежедневной деятельности. Просто потому, что это круто, не означает, что это полезно и нужно уметь делать.

Объявления о работе преувеличены

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

Убедитесь, что ваши руководители достаточно информированы

Иногда руководители не достаточно осведомлены об уровне работы. Возможно, они не обладают техническими знаниями или их знания устарели. Иногда они не понимают, что вы не можете просто “добавить dropdown”, поскольку это компонент custom-select с функцией автозаполнения, и для него нужно два новых маршрута API.


Набор инструментов

Хороший набор инструментов поможет стать продуктивнее и справляться с большим объемом работы.

Уделите время на ключевые навыки

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

Используйте подходящие инструменты управления проектами

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

Уменьшите количество дублированной работы

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

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

Свежий воздух, занятия спортом и беседы

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

Попросите помощи

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


Надеюсь, эти советы помогли вам осознать, что жизнью можно управлять. Оставлю еще один.

Закройте чертовы вкладки.


Перевод статьи Julia Haigh: How to Feel Less Overwhelmed as a Developer

Предыдущая статьяList Comprehensions в Python за 5 минут
Следующая статьяСтатистика - это грамматика науки о данных. Часть 5