Тед Дзюба о трёх инструментах инженера

По мотивам публикации The 3 Basic Tools of Systems Engineering.

Цель инженера — решить задачу, а не написать код. Для решения технических задач есть три основных инструмента.

Деньги

Лучший инструмент для решения задач, потому что экономит время и не требует написания кода. Чаще всего применяется для решения проблем масштабируемости и производительности.

Время

Деньги решают не все проблемы (и денег не всегда хватает). Время следует тратить в первую очередь на поиск уже существущих инструментов для решения задачи. Не бойтесь пользоваться результатами работы других людей для достижения собственных целей.

Код

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

Важно использовать эти инструменты именно в указанном порядке. Худшее, что можно сделать — начать решать задачу с помощью кода.