Четыре главных заповеди программистов
Негласные правила есть в любой дисциплине. Правда, они чаще опираются на здравый смысл и простые принципы эффективности и почти не меняются от одной сферы к другой. Это известные сегодня как soft skills правила корпоративной этики, которые работают уже тысячи лет. А мы тысячи лет забываем им следовать.
Но следовать им необходимо, поэтому мы попытались составить такой список правил для программирования.
1. Регулярно делайте резервное копирование
Чрезвычайные ситуации происходят реже, чем говорит любая инструкция. Но чаще, чем мы думаем. Так что периодически архивировать данные и копировать их на внешний диск очень важно. Гораздо проще выделить 1-2 человек на эту задачу и знать, что ваши БД, ключи, файлы конфигурации, образы VM, видео и изображения всегда доступны и никуда не исчезнут. Информация сохранится, даже если Junior случайно удалит половину кода, или спустя недели разработки вы поймете, что в проекте ошибка.
Да, резервные копии — это головная боль программистов. Да, в 90% случаев они оказываются не нужны. Но оставшиеся 10% — это ситуации, когда копии были необходимы, а их не сделали. И программисты потеряли данные или пропустили серьезный косяк.
2. Говорите деплоям «Нет» по пятницам
Худшее время, чтобы начинать развертывание программного обеспечения — это пятница. У вас конец недели, вы предвкушаете выходные и не так внимательны, как обычно. Вы сделаете релиз и уйдете отдыхать. Пользователи протестируют продукт и начнут звонить в поддержку, если что-то пойдет не так. Ошибки не исправить, поддержка отвечает неохотно. Пользователь недоволен. А всего-то надо было подождать до понедельника. Поэтому все важные изменения в работе лучше переносить на начало недели. Если что-то произойдет, у вас будет несколько дней, чтобы исправить ошибку.
3. Получите полный список задач перед началом разработки
Хорошая подготовка может существенно сократить время на саму работу. А вот если поторопиться и начать слишком рано, вероятность провалить проект и наделать кучу ошибок дойдет почти до 100%. Придется двигать другие проекты, перерабатывать и исправлять то, что вы могли сразу сделать правильно.
Наш мозг очень ленивый и любит находить сходства там, где их нет. Поэтому опытные разработчики знают, что лучше завалить заказчика вопросами, чем слишком рано решить, что все и так понятно. Проверьте еще раз свои выводы, убедитесь, что вы четко понимаете поставленную задачу. Ваше видение конечного результата должно совпадать с представлением заказчика.
4. Расставляя приоритеты, игнорируйте наименее важное
Самая продуктивная часть работы программиста — писать код, искать ошибки в коде или думать над кодом. Митинги и дискуссии приносят меньше пользы команде и заказчикам проекта, чем они обычно считают.
Поэтому если вы понимаете, что переговоры на тему «какого цвета должны быть перегородки между столами в офисе» отнимают у вас рабочее время, разрешите себе в них не участвовать. И других склоняйте к такому решению. Все успеете, задачи выполните на отлично, а руководство вас заметит.