malikov.tech

Это только верхушка

Удивительно, но среди некоторых моих знакомых предпринимателей и даже нескольких программистов, процесс создания продукта, все ещё, воспринимается как что-то очень простое. Мол берём десяток программистов, формируем им некоторое абстрактное ТЗ, присыпаем это дело парочкой компуктеров с серверами, если очень просят можем им тестировщиков добросить. Дальше эта вся братия самоопыляется каким-то образом и фигак, через некоторое время продукт появляется. Кривой, косой, но появляется. В общем-то в стартапах примерно так дела и обстоят на каких-то ранних стадиях. На этой идее даже несколько сериалов выстроено. Загвоздка начинается дальше, если продукт таки подаёт признаки жизни и его приходится развивать дальше наколеночного квазимоды.

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

Я конечно утрирую, для меня набор тулинга для разработки продукта вполне понятен и очевиден. И на самом деле все действительно было всю жизнь достаточно просто. Есть понятный набор инструментов (список ж писать не надо, все понимают о чем речь?), который покупаешь или “берёшь” бесплатно - внедряешь и радуешься жизни.

А на деле же оказывается, что если вы никогда ничем подобным не занимались, но после того, как на коленке, три колеки, склепали вам прототип и он каким-то чудом привлёк деньги и процесс пошёл в развитие - вы начинаете охреневать от кол-ва обвязок никак с продуктом на прямую, вроде бы, не связанных... Но без которых дальше развиваться решительно не получается.

Это все очень сильно напоминает корневую систему у растений. Семечко прорастить можно, буквально, в бумажной салфетке. Да даже расточек можно прорастить в рюмке с водичкой. А вот если хочется вырастить прям полноценный куст, то нужен горшок, а там дренаж, специальная земля, удобрения, регулярный полив, досветка, правильная температура и влажность и т.д. И не дай бог появились амбиции на это растение. Там недалеко и до постройки оранжереи или покупки собственной земли.

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

Не жалейте денег в инфраструктуру разработки. Оно не просто так нужно.
А вот как её сделать удобной - это другая тема, о которой может быть когда-нибудь напишу. Ну и не стесняйтесь писать свои инструменты для облегчения разработки и повышения её удобства и скорости. Не все "понятные наборы инструментов" одинаково полезны в частных случаях.