Одна идея этого урока: строй сам только то, что делает твой продукт уникальным; остальное бери готовое – и всегда смотри, легко ли решение отменить.
Знакомая ситуация
Новому сервису школы нужна авторизация. Агент бодро предлагает: «Могу написать свою систему логинов за вечер – регистрация, пароли, восстановление, всё будет наше». Звучит заманчиво: бесплатно, под контролем, и правда за вечер.
Проходит полгода. Всплывает утечка паролей у кого-то на рынке – надо проверять своё хранение. Ученики просят вход через соцсети – дописывать. Спам-боты регистрируются пачками – защищаться. Вечер кода превратился в пожизненную подписку на чужую профессию: безопасность.
Правило buy vs build: своими руками строится только ядро (core) – то, за что клиенты платят именно тебе. Всё остальное – обвязка (commodity), её берут готовой. И перед каждым решением сеньор задаёт второй вопрос: а легко ли это будет отменить?
Ядро и обвязка
Проведи линию через свой продукт. По одну сторону – ядро: методика школы, логика планировщика, сценарии твоих ботов. Это твоя уникальность, здесь чужое готовое не подойдёт – строй сам.
По другую сторону – обвязка: авторизация, платежи, рассылки, хостинг, аналитика. Тысячи компаний решают это одинаково, и целые команды профессионалов продают готовые решения дешевле, чем стоит твоё время на поддержку самоделки. Ученик не выберет школу за «собственную систему рассылок» – значит, это не ядро.
Двери Безоса: обратимые и необратимые решения
Джефф Безос в письмах акционерам Amazon делит решения на два типа – и требует для них разной скорости:
1
Двусторонняя дверь two-way door, Type 2Решение легко откатить: не понравилось – вернулся и выбрал заново. Такие решения принимают быстро, без совещаний. Примеры: библиотека UI-компонентов, сервис аналитики, текст промпта агента.
2
Односторонняя дверь one-way door, Type 1Откат дорог или невозможен: прошёл – и обратно уже не выйти. Здесь думают долго и советуются. Примеры: выбор базы данных и формата хранения данных учеников – когда накопятся тысячи записей, переезд станет отдельным мучительным проектом.
Ошибка большинства – путать двери в обе стороны: неделями выбирать цвет кнопки и за минуту решать, как хранить данные. Сеньор сначала определяет тип двери, потом тратит время пропорционально: двусторонние – быстро, односторонние – медленно.
Ловушка ИИ-эпохи: велосипед за вечер
Раньше от «напишем своё» защищала цена: своя авторизация стоила недели работы программиста. Агент снёс этот барьер – теперь «своё» правда пишется за вечер, и соблазн вырос многократно.
Но агент удешевил только написание. Поддержка осталась прежней: обновления безопасности, совместимость, отказы в три часа ночи – всё это твоё навсегда. У готового сервиса за этим следит команда, у самоделки – только ты. Дешёвый вход, дорогое владение (cost of ownership).
Поэтому в эпоху агентов правило «своё – только ядро» стало не менее, а более важным: скорость написания больше не аргумент в пользу «своего».
Как думают три уровня
ДжунПишет своё, потому что интересно: «свой мессенджер – это же круто». Не отличает ядро от обвязки, стоимость владения не видит вовсе.
МидлКачнулся в другую крайность: берёт готовое всё подряд, включая куски ядра. Продукт превращается в конструктор из чужих сервисов, уникальность размывается, а любая смена тарифов у поставщика бьёт по бизнесу.
СеньорСвоё – только ядро, обвязку берёт готовой. Перед каждым решением спрашивает: «какая это дверь?». Двусторонние проходит быстро, перед односторонними замедляется и проверяет план отхода.
Проверь себя
1. Новому сервису школы нужна авторизация. Агент: «Напишу свою за вечер, будет полностью наша». Решение сеньора?
Ученики не выбирают школу за собственную систему логинов – это не ядро. «За вечер» – цена написания, а платить придётся за владение: безопасность, обновления, атаки. Тесты и документация смягчают, но не отменяют главного: чужую профессию ты взял на себя навсегда.
2. Какое из решений – односторонняя дверь (one-way door), перед которой стоит замедлиться?
UI-библиотеку и оформление можно поменять относительно безболезненно – это двусторонние двери, решай быстро. А когда в базе накопятся тысячи записей учеников, платежей и прогресса, смена формата хранения станет отдельным рискованным проектом с переносом данных. Тут и нужны долгие раздумья.
3. Агент за вечер собрал собственную систему email-рассылок вместо подключения готового сервиса. В чём главный подвох?
Дело не в качестве кода в момент написания – агент мог собрать вполне рабочую систему. И не в подписке: по чистым деньгам самоделка иногда дешевле. Подвох в стоимости владения: попадание писем во «входящие» – отдельная индустрия с репутацией отправителя и спам-фильтрами, и у готового сервиса этим живёт целая команда.
Что говорить агенту уже сегодня
Перед «напишем своё»: это ядро нашего продукта или обвязка? какие готовые сервисы решают это?
Проверка обратимости: это решение – односторонняя или двусторонняя дверь? что будет стоить откат через год?
Про стоимость владения: сколько поддержки потребует свой вариант за год – обновления, безопасность, отказы?
Перед односторонней дверью: это необратимое решение – дай 2 варианта с ценой ошибки и планом отхода
Источники
Jeff Bezos, письмо акционерам Amazon 2016 – двусторонние двери и скорость решений (сам термин Type 1 / Type 2 введён в письме 1997 года и развит в письме за 2015 год).
Dan McKinley, Choose Boring Technology – трать усилия на уникальное, остальное решай проверенным и готовым.