Во время локдауна разработчик Филипп МакПарлан почувствовал выгорание. Для борьбы с ним он начал пробовать различные техники, чтобы эффективнее выполнять свою работу.
Цель была простая: работать меньше, «жить больше» и при этом сохранять ту же производительность. Не весь код пишется одинаково. Филипп уверен, что можно достичь результата на 90%, если урезать рабочее время на 20%.
Редакция Highload публикует перевод материала.
Переведено бюро переводов «Профпереклад».
В этой статье разработчик поделится несколькими стратегиями, которые оказались очень полезными для него в последние полгода. Он говорит, что подобные техники в основном подходят для подработки, но некоторые вполне можно применять и на основной работе.
Передаем ему слово.
Недешевая штука, но это стало одной из лучших моих инвестиций и значительно улучшило мою продуктивность. Когда не нужно все время передвигать окна туда-сюда, экономится уйма времени. Вам может показаться, что это очень незначительная экономия, но все вокруг состоит из мелочей. Если это позволяет ускорить работу, значит, это важно.
Например, у меня теперь на одном экране сразу все три окна, которые нужны мне для работы:
Монитор стал одной из моих самых удачных покупок — он позволяет мне кодить гораздо эффективнее. Да, стоит прилично (~$1 250), но, по-моему, он уже полностью себя окупил. Сколько времени я сэкономил, когда не надо таскать окна туда-сюда! Время — деньги.
P.S. Я купил вот эту модель: Samsung Odyssey G9 49″ на Amazon
Принцип Парето: 20% задач дают 80% результата. Например:
Аналогично 20% кода имеют 80% коммерческой ценности. Поэтому при разработке функционала для своего проекта я был безжалостен. Например:
Я применяю то же правило не только к коду, но и ко всему остальному:
Вот тут спорный момент. Я не говорю, что нужно вообще бросить писать модульные тесты на основной работе. Но если это подработка вне основной работы, такое занятие — пустая трата времени.
При создании своего веб-сайта я сосредоточился на том, чтобы побыстрее вывести продукт на рынок, а не на написании идеального кода без багов.
Когда-то давно я работал в одном стартапе. Там все жили и работали под таким девизом: «Выбирай кратчайший путь к “достаточно хорошему”».
Закон Паркинсона гласит: работа имеет свойство заполнять все время, доступное для ее завершения. Для борьбы с этим феноменом есть верное средство.
Надо разделить объемную задачу на части и работать над каждой понемногу (скажем, по 30 минут подряд). На этом и построена техника Pomodoro.
Почему важно научиться ею пользоваться? Человеческий мозг способен сохранять концентрацию в течение 20-30 минут подряд, не больше. Кодить/работать дольше неэффективно.
Вообще-то, я уже целых полчаса пишу эту статью, и концентрация у меня падает, так что я сделаю небольшой перерыв 😇…
Все, я вернулся, едем дальше.
Эффективность рождается из повторения. Чем больше мы что-то делаем именно так, а не иначе, тем быстрее и лучше у нас получается. Я настоящий компьютерный ботаник, и мне часто хочется поработать с новейшим и моднейшим языком программирования. Вместо этого я стараюсь во всех своих проектах использовать один и тот же программный стек.
К примеру, последние шесть лет я постоянно пользовался Golang + ReactJS. Недавно соблазнился попробовать Rust & Vue, но оказалось, что это, опять-таки, пустая трата времени.
С Golang + ReactJS я могу кодить хоть во сне, этого вполне хватает для достижения конечной цели. Так зачем менять? Работает — не трогай.
P.S. Эй, я не имел в виду «не учите новые технологии». Но лучше освоить минимум технологий, которые дают вам 90% желаемого результата.
Когда я только учился кодить, об этом даже речь не шла. Но теперь я вполне могу позволить себе использовать платформы no/low code и сэкономить время на типичных часто выполняемых задачах.
Например, пару лет назад я написал маленькую программку на Go, чтобы:
Работа над программой с нуля заняла у меня примерно дня три. На прошлой неделе я воспользовался Zapier, чтобы сделать почти то же самое. Только в этот раз на работу ушло меньше часа. На скрине ниже можно посмотреть конфигурацию:
К вашей постоянной работе эта стратегия неприменима. Но если у вас есть подработки (даже если они вам не приносят денег), научитесь больше ценить свое время. Желательно в долларовом эквиваленте.
Создавая стартап, никогда не знаешь, взлетит он или нет. Большинство не зарабатывают ни копейки. А у некоторых прибыль взлетает до миллиона долларов. Даже если подработки не приносят денег, все равно стоит внести потенциальный заработок в ваш почасовой тариф. (Под потенциальным заработком я имею в виду среднюю сумму где-нибудь посередине между успехом и провалом). И в таком случае передача кое-какой работы на аутсорс может снизить ваши затраты.
Недавно мне надо было написать небольшой кусочек кода, чтобы удалить данные с веб-сайта:
Впрочем, по опыту могу сказать, что не всякую работу можно легко передать на аутсорс. Подобная стратегия хороша для мелких несущественных проектов.
Допустим, мне нужно выполнять определенную работу чаще раза в неделю. Сразу назревает вопрос — а можно ли это автоматизировать? К примеру, я добавляю на этот сайт вакансии, и надо отправить компании сообщение об этом. Вакансий много, процесс стал быстро меня утомлять. Я встроил автоматическую функцию в Zapier, она отправляет письмо соответствующему адресату, как только в моей базе данных PostgreSQL появляется новая строка. Это очень экономит время.
Я, конечно, не абсолютный образец крутого программиста, но надеюсь, что эти техники помогут вам стать продуктивнее! 😊
Автор: Филипп МакПарлан
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…