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

После блокировки Covid-19 работать стало как никогда сложно. Как вы сосредотачиваетесь на своей работе, когда ваша жена ожидает, что вы устраните этот визг, который издает гараж, когда он открывается? Даже если вам нужно зарабатывать деньги на эту крышу над головой.

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

Зачем нам нужны эти советы

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

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

Блокировка на самом деле звучала для меня забавно до того, как она началась (часть работы из дома). Я думал, что смогу просыпаться немного позже, делать перерывы, когда захочу, и ложиться спать, когда захочу. Несмотря на то, что это правда, в программной среде у нас есть то, что называется стендапом. На этой 5–15-минутной церемонии каждый может молча судить члена команды, пока он объясняет, что будет делать в этот день. В идеале, если команда считает, что вы выполняете свою часть работы, они будут уважать вас. Но если вам покажется, что вы слишком много боретесь за одно и то же, люди либо предложат помощь, либо осудят вас негативно.

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

Воспользуйтесь преимуществами окружающей среды

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

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

Просто не забывайте время от времени делать перерывы и не закрывайтесь в комнате.

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

Общаться

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

Для этого не закрывайте приложение для связи. Для разработчиков это может быть Slack, Ryver, Telegram или MS Teams. Для других людей это может быть электронная почта, Whatsapp или Skype. Лично мне не нравится, когда меня засыпают сообщениями, поэтому я настроил Rescue Time (приложение для хронометража для всех платформ), чтобы не отвлекаться или позволять делать это через определенные промежутки времени.

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

Для программистов: будьте активны в проверках кода (запросы на слияние или запросы на вытягивание), пишите комментарии, запрашивайте код и сообщайте кому-нибудь, если их работа прерывается.

Автоматизировать

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

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

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

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

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

Станьте лучше с системой управления версиями

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

У меня вопрос, почему другие люди не используют его? Я не понимаю, почему все остальные (не программисты) не должны использовать систему контроля версий. Если вы создаете 3D-модели, анимацию, файлы редактирования звука, проекты САПР, электронные таблицы, документы и все, что сохраняется в любом формате, исходный код можно контролировать. Это означает, что вы можете отслеживать любые изменения между итерациями.

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

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

Оптимизировать

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

Научитесь создавать и использовать ярлыки. Если вы раньше работали на Mac, вам может понравиться функция быстрого просмотра (нажмите пробел на файле, чтобы быстро просмотреть его содержимое). На моей предыдущей работе я использовал Mac и сильно зависел от этой функции, на моей новой работе я получил ноутбук с Windows. Первое, что я сделал, это искал способ включить быстрый просмотр в Windows. Я также установил его на свой раздел Linux.

То же самое касается инструментов для печати экрана: используя другой ярлык в Windows и Linux, я мог быстро и эффективно делать скриншоты.

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

Если вы программист, почему бы не поискать лучшее программное обеспечение для управления версиями, редакторы кода, расширения кода, ярлыки для терминала, лучшие эмуляторы (мобильная разработка) и т. д.

Держите вашу систему в актуальном состоянии. Операционные системы быстро выходят с обновлениями. Как правило, я обновляю свою систему вечером. Это может занять от пары минут до часа, но когда вы сядете на этот компьютер утром, вы будете уверены, что работаете на стабильно обновленном компьютере. Просто заметка о системах Linux. Придерживайтесь версий с долгосрочной поддержкой (LTS). Не будьте смелыми, придерживайтесь поддерживаемых версий, если вы не знаете, что делаете.

Подводить итоги

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

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