Почему разработчик, который умеет считать деньги бизнеса, зарабатывает вдвое больше
Я понял, что что-то изменилось, когда перестал думать «сколько стоит моя работа» и начал думать «сколько стоит моя работа для этого бизнеса».
Как я оцениваю проекты по рискам, а не по часам, провожу discovery до фиксированной цены, объясняю клиенту технический долг в деньгах и закрываю проект как инженер, который отвечает за результат.
18 статей
Я понял, что что-то изменилось, когда перестал думать «сколько стоит моя работа» и начал думать «сколько стоит моя работа для этого бизнеса».
Фиксированная цена до discovery звучит удобно, но в кастомной разработке часто прячет риски: интеграции, роли, данные, acceptance criteria и будущую поддержку.
Мне звонят, когда уже горит. Разработчик исчез. Дедлайн завтра. «Немного допилить» превратилось в «мы вообще не понимаем, что происходит».
В апреле я открыл Google Analytics трёх e-commerce проектов, с которыми работаю давно. Органика Google: минус 23% год к году. Не у одного клиента — у трёх разных магазинов, разные ниши, разный размер, разный возраст сайта. Картина одинаковая.
Первое, что я написал в новой системе автоматизации — не задачу. Я написал файл STOP и папку Inbox/.
Я долго думал, что быть хорошим разработчиком — значит делать хорошо то, что попросили. Пишут задачу — я её реализую. Принимают работу — я иду дальше. Так работает большинство. Так работал и я. До трёх конкретных моментов.
После каждого проекта я открываю одну и ту же заметку. Называю её «что не делать в следующем проекте». Там не «что прошло хорошо» — это в ретроспективу. Только одно: что именно я не повторю.
Три месяца назад мне написал разработчик: «Ты до сих пор пишешь на PHP? Не жалко времени?»
Самый дорогой проект в моей практике обошёлся не в деньгах.
Два года назад я взял проект, в котором с первого звонка было три признака, которые я уже умел распознавать. Взял, потому что деньги были хорошие, а я сказал себе: «Справлюсь». Четыре месяца спустя я выходил из этого проекта — нормально, без скандала, но с ощущением, что потратил время на работу, которую надо было не брать.
Три года назад я отвечал на вопрос «сколько это займёт?» одинаково: открывал Trello, декомпозировал на задачи, ставил story points. Потом суммировал, умножал на velocity, называл срок.
Мне периодически говорят: «Тебе надо масштабироваться». Я работаю как независимый инженер и не масштабирую практику в агентство. Соглашаюсь кивком и не делаю ничего. Не потому что лень. Потому что я пробовал.
Когда клиент спрашивает «сколько это стоит?», стандартный ответ — считать часы. Умножить на ставку. Прибавить 20% буфер. Написать число.
В 2020 году я нанял разработчика, который на собеседовании безупречно объяснил архитектуру microservices, правильно ответил на все вопросы по PHP и произвёл впечатление на двух людей в команде. Через четыре месяца я его уволил. Не потому что он был плохим человеком — он просто не умел работать в нашем реальном контексте.
Проект считается закрытым, когда последний коммит ушёл в прод. Это рабочее определение для джуниора.
Первые три раза я объяснял рефакторинг через «архитектуру» — и получал вежливое «окей, но давайте сначала сделаем фичи». Потом я поменял одну вещь: вместо «архитектурного долга» сказал «вот эта часть системы сейчас стоит нам дополнительных 6 часов на каждый новый тип доставки. За квартал это 60 часов, которые мы теряем». Клиент ответил: «ладно, выдели неделю».
Через три недели после запуска ivanpin.com я посмотрел на источники трафика. LinkedIn дал на порядок больше визитов, чем поисковая органика. Сайту три недели, это нормально. Молодые домены так не работают. Но я всё равно задал себе следующий вопрос: а что будет, когда индексация устаканится?
Три года назад я мог с гордостью показать 40 закрытых тикетов за спринт. Клиент всё равно был недоволен.