Андрей Губский
@andrew.gubskiy
Обо мне лучше прочитать здесь: andrew.gubskiy.com
49 posts
Software Development Advice

Про хороший проект и команду

Хороший проект и хорошая команда, это не тогда, когда никто не допускает ошибок, а тогда, когда процессы (и технические и управленческие) построены так, что ошибки не приводят к фатальным последствиям и могут быть быстро устранены.

Hosted services или собственный кластер?

Как найти баланс между созданием и поддержкой собственной инфраструктуры и использованием hosted services? Я предлагаю следующий вариант:

Возврат технического долга с помощью технического кредита

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

Компромиссный технологический стек

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

Скорее всего вы не компания из Big Five

А поэтому вам не нужно пытаться просто копировать все те подходы, которые используются в этих компаниях. Карго-культ – это плохо.

Задача с тремя известными

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

Используйте джиттер

Если у вас высоконагруженная система и вы используете retry policy для доступа к внешним ресурсам, то в случае сбоя ваши запросы буду откладываться и повторяться через определенный промежуток времени. При этом, если множество запросов будет отложено и выполнена единовременно, вы можете перегрузить внешний ресурс.

Про паттерны

Начинающий разработчик еще не знает как называются все паттерны.

Преждевременная оптимизация не нужна

Времени вы потратите много, а потом все равно переделывать.

Как правильно нанимать людей в команду

Нанимать нужно не тех, кто хорошо умеет проходить собеседования, а тех кто хорошо умеет работать.