Как стать автором
Обновить
81.85
Нетология
Меняем карьеру через образование

Как настроить воркфлоу: 7 дельных советов от опытного разработчика

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.5K
Автор оригинала: Jordan Cutler

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

Время — ценный ресурс.

Рост эффективности на 1 час в день экономит 1 месяц в год.

Давайте посчитаем вместе:

1 час в день × 5 дней в неделю × 52 недели = экономия 260 часов в год.

260 часов ÷ 8 часов в день = 32,5 рабочих дня в год.

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

Я разработчик. Мне удалось так наладить свою ежедневную работу, что последние несколько лет в среднем я успеваю сделать 1–2 запроса pull каждый день. Не то чтобы это наилучший показатель, и необязательно стремиться именно к нему, но он позволяет получить общее представление об эффективности работы.

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

💡 Главная мысль

Оптимизируйте задачи, которыми вы занимаетесь по несколько раз каждый день.

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

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

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

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

💻 Рабочий процесс / терминал Git

Здесь можно сильно сэкономить время тремя способами:

  1. Автодополнение по истории команд.

  2. Алиасы для быстрого набора команд.

  3. Упрощение управления файлами в Git.

Автодополнение по истории команд

Я пользуюсь такой настройкой терминала:

Если вы уже настроили Oh My Zsh, добавьте эти «плагины» в файл .zshrc.

# in ~/.zshrc
plugins=(
  git
  zsh-autosuggestions <--- we'll talk about this one now
  zsh-syntax-highlighting
)

С помощью подсказок Zsh-плагин предлагает дописать каждую команду, которую вы вводите.

Вот как это работает: 

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

Алиасы

Я добавил этот плагин к .zshrc.

# in ~/.zshrc
plugins=(
  git <--- we'll talk about this one now
  zsh-autosuggestions
  zsh-syntax-highlighting
)

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

  • ga => git add,

  • gc => git commit,

  • gd => git diff,

  • gs => git status,

  • gps => git push,

  • gpl => git pull.

Это экономит мне по крайней мере пару минут в день. А за год эти минуты складываются в часы.

Ещё я добавляю пользовательские алиасы в .zshrc.

Вот два примера:

# in ~/.zshrc
alias addalias='code ~/.zshrc' <-- open up zshrc file to edit it
alias reload='source ~/.zshrc' <-- reload zshrc file to apply changes

Нумерованные сочетания клавиш для файлов Git

SCM Breeze упрощает работу с файлами в Git: он помогает создавать нумерованные шоткаты для путей к файлам.

Можно называть файлы git add 2-3 или git reset 1.

Приведу пример:

🖥️ Написание кода

Вот как лучше всего оптимизировать работу в редакторе кода:

  1. Поиск кода в стеке. Допустим, вы ищете вызов метода. Вам нужно посмотреть, что за код у него внутри. Не используйте глобальный поиск cmd + F по имени этой функции, выискивая определение. 

    Вот что я советую:
     

    • Создание сочетаний клавиш для поиска переменной, метода, класса.

    • Клавиша быстрого доступа в VS Code: F12.

    • Сочетание клавиш в JetBrains IDE: cmd + B.

  2. Навигация между файлами. Бывает, работаешь сразу в 2–3 файлах и в каждом файле нужно вернуться в определённую точку. Нажимая nav в верхней части редактора, ищешь нужный из 15 открытых файлов. Или работаешь в большом файле и всё время прокручиваешь его то вверх, то вниз. Но и здесь можно организовать работу удобнее. 

    Вот что я советую: 

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

    • Сочетание клавиш в VS Code: Ctrl + - и Ctrl + Shift + -.

    • Сочетание клавиш в JetBrains IDE: cmd + option + ⬅️ и cmd + option + ➡️.

  3. Написание кода. С тех пор как несколько месяцев назад я начал пользоваться GitHub Copilot, он уже сэкономил мне целые дни. Он предлагает автодополнение почти для каждой строки кода, который вы пишете, включая тесты. Удивительно умный инструмент 🤯

📓 Сохраняйте интересное

В Notion я сохраняю на потом всю полезную информацию.

Тьяго Форте популяризировал этот подход как «создание второго мозга». Его суть в том, чтобы сохранять всякие полезности там, где вы будете их использовать, а не там, где вы на них наткнулись.

Вот скриншот двух моих папок с заметками в Notion:

Каждая тема объединяет заметки из множества разных статей, видео, книг. Так мне гораздо проще найти их, когда они мне понадобятся.

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

✅ Не загружайте мозг идеями и задачами

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

Я сохраняю идеи и задачи в Todoist, а также пользуюсь функцией «Сохранить на потом» (Save for later) в Slack — и сразу же выбрасываю их из головы.

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

А вот как выглядит мой список задач в Todoist ↓ Но вы можете организовать всё по-своему.

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

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

👀 Визуальная коммуникация

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

  • удобно описывать pull request;

  • легко объяснить PM’у через сообщения в Slack, какое изменение вы хотите внести;

  • начальнику проще утвердить или подписать скриншоты, показывающие созданный вами новый флоу.

CleanShot сэкономил мне немыслимое количество времени. Он заменяет инструмент для создания скриншотов для Mac. Кроме того, инструмент:

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

  • умеет делать GIF и запись экрана — именно с помощью этого универсального инструмента я сделал все изображения для этой статьи;

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

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

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

🔑 Вход на сайт

Менеджер паролей — полезное решение по двум причинам:

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

  2. Это безопасно: он сам создаёт сложные уникальные пароли для каждого сайта.

Когда вы входите на сайт с помощью 1Password, это выглядит так:

🪟 Работа с окнами

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

Раньше я тратил уйму времени, вручную меняя размер окон. А потом начал пользоваться специальной программой — Rectangle. У неё есть бесплатная версия, а платная стоит около $10. С её помощью можно быстро разместить одно окно справа, другое слева, а третье открыть на полный экран. Rectangle экономит мне уйму времени.


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

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

Буду признателен, если поделитесь в комментариях, чем сами пользуетесь для повышения эффективности работы, что работает для вас 🙏


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

Или открыть перспективы с профессиональным обучением и переподготовкой:

Теги:
Хабы:
Всего голосов 21: ↑16 и ↓5+13
Комментарии16

Публикации

Информация

Сайт
netology.ru
Дата регистрации
Дата основания
2011
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Мария Верховцева