Правильные вопросы при создании компании
Опыт Roowix
В мире полно бесполезных решений, рождённых из мнений и трендов, которые меняются слишком часто, чтобы мы успевали делать действительно качественные вещи. Но если обнулиться и взглянуть на безудержный поток технологий и компаний без занудства — мы увидим пустые задачи и плоские решения. Чтобы не запутаться в этом круговороте модных штук, нужно отделить правильные вопросы от неправильных:
Правильные
— Что значит полезные/качественные решения и какие решения выживают?
— Что нужно пользователю в долгосрочной перспективе, а что точно не нужно?
— Как привлекать умных людей себе в команду?


Неправильные
— Аутсорсинг: хорошо или плохо?
— React vs. Angular
— Где взять инвестиции?
— Почему микросервисы хорошо?
— Почему микросервисы плохо? etc.

Все эти темы ни на грамм не приближают нас к решению реальных проблем.
Взято с популярного сервиса Cossa.
Наше взросление как компании произошло в тот момент, когда мы стали отвечать на правильные вопросы. Мы занимаемся созданием продуктовых решений и для начала хотим ответить на вопрос: что такое ИТ-продукт?
Что такое продукт?
Продукт — сценарий решения пользовательской задачи, который не привязан к технологиям и потому может гибко подстраиваться под желания/потребности целевой аудитории.
Заметим, что продукт — это именно сценарий решения проблемы пользователя, а не коробочное решение. Игнорируя эту особенность, люди часто делают законченный сценарий, который превращает систему в бездушного робота.
Отличная пасхалка от WorkFlowy, показывающая, что за программой стоят живые люди.
Вторая особенность: продукт не привязан к технологиям. Если ваша штука привязана к технологиям — то это решение, а не продукт. Одно единственное решение, которое бесполезно, если не участвует в каком-либо сценарии.
Danil Kovchiy замечательно описал как понятие «продукт» появилось в веб-разработке и что оно значит:
«Мыслить продуктом удобнее: он не привязывается ни к технологии, ни к онлайну, и подразумевает определенные сценарии использования, целевую аудиторию, функции, без которых выпускаться нельзя, показатели успеха/неуспеха и запасы по ходам в развитии».
Например, фэйсбук ценен не базой людей, не использованием машинного обучения и не кудрявым Цукербергом. Всё это приобретает ценность, когда пользователь реализует свой сценарий: например, использует строку для поиска своих знакомых и ему сразу выпадает тот самый человек. А если перед его сценарием появляется баг — Цукерберг чинит.
Кейс 1
Мы разрабатываем проект Gelato. Изначально он развивался как сервис, обеспечивающий быструю и качественную печать материалов. Но сейчас проект превратился в полноценную облачную платформу, где люди могут хранить и редактировать свои файлы, всегда имея возможность быстро распечатать их в любой стране.

«В других частях процесса печати также существуют огромные недостатки, которые увеличивают затраты для компаний по всему миру. К ним относятся большие административные расходы, которые часто составляют 80% от стоимости печати компании, и раздутую бюрократию, которая может задействовать до 10% сотрудников предприятия, тратя время и ресурсы».

Всё это мы бы не узнали, если бы пришли на рынок с готовым решением, а не с продуктом, который может подстраиваться под сценарий пользователей.
Что значит качественный/полезный продукт?
Технически сложно определить истинную ценность или пользу чего-либо. Одно дело — собрать деньги на оплату израильской клиники для спасения десяти смертельно больных детей, другое — на строительство современной клиники или закупку нужного оборудования за те же деньги. Зато мы можем иметь подход, который будет уместен в определённом контексте.
2гис — это в первую очередь карты (или я не прав?), но лишний функционал закрыл здесь саму суть проекта.
Небольшой холиварчик:
Чтобы не запутаться в понятии польза и не начать обманывать себя, на сцену выходит другое слово — качество.
Качество — решение, польза которого проверена временем и признана живыми людьми.
Качество рождается само — в результате бесчисленных экспериментов и измеряется уровнем доверия человека к продукту.
Кейс 2
Однажды, перед нами встала задача: нужно было запустить сервис в России и Китае. Однако, как мы знаем, Россия и Китай имеет жёсткую политику по отношению к сайтам, зарегистрированным на иностранных серверах.

Задача: синхронизировать базы данных между Китаем, Россией и Европой. Должно работать так, чтобы пользователь из Лондона заказал часть в Россию, часть в Китай, а в поездке мог отследить заказ.

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

В итоге: мы синхронизировали базы между европейским AWS, российским Azure и китайским AWS, обеспечив быструю синхронизацию, даже с учётом медленного Интернета в Китае.

Решение таких задач действительно помогает улучшить продукт, но это невозможно при жёсткой стратегии развития проекта и законченной архитектуре. Очень часто приходится всё ломать и делать заново — и это прекрасно.

Что значит качественный/полезный продукт?
Перфекционизм заставляет нас согласовать между собой разные части сервиса и стремится к оптимальной архитектуре. Но мы все знаем, что любой хорошо работающий продукт начинался на коленке. Уже на волне успеха люди начинают пилить монолиты и ругать индусов.

Перфекционизм — это хорошо, если в его основе лежит эксперимент. Мы в компании довольно часто пишем гавнокод и это вызвано тем, что чаще нам нужно как можно скорее проверить фичу на реальных пользователях, чтобы вообще понять, насколько в правильном направлении мы двигаемся.

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

Изящное решение в разы облегчающее жизнь.
На конференциях я часто слышал одну и ту же фразу от разных людей: «Как много отличных технологий и как мало хороших продуктов с использованием этих технологий». Думаю, с этим согласится Энди Рубин, один из вице-президентов Google, курировавший разработку Android. Недавно он запустил свой собственный смартфон «Essential», мотивировав это следующим:
…настоящая причина [почему я решил создать компанию] появилась во время одного ночного разговора с моим старым другом. По прошествии ночи мы, как и ожидалось, начали говорить о том, что нам не нравится в современных технологиях. Меньше и меньше выбора. Все больше ненужных функций загромождают нашу жизнь. На рынке море продуктов, которые не взаимодействуют друг с другом …

И когда я собирался бросить еще одно критическое замечание, меня осенило: я частично несу ответственность за все это. Помимо всего хорошего, что сделал Android, он также создал этот странный новый мир, где люди вынуждены бороться с самой технологией, которая должна была упростить их жизнь. Это то, что нам нужно? Это лучшее, что мы могли бы сделать?
Отвечая на вопрос «Какие решения выживают?», мы, также, как и Энди, считаем, что в будущем будут выживать те решения, которые расширяют свободу пользователя, оставаясь незаметными в использовании.
Как привлекать умных людей себе в команду?
Важно понимать, что каждому человеку, вне зависимости от пола, расы, должности и кредитной истории важно понимать, что и зачем он делает. Конкретную группу людей объединяет не пасьянс из целей, миссий и «ура-ура» лозунгов, а единое понимание — взгляд в одну сторону (имхо: у большинства разработчиков понимание на уровне студента первого курса: зазубрить технологию и херачить, пока платят). Мы хотим работать с людьми, у которых помимо знания технологий есть ещё какая-нибудь мозгулинка, которая проявляется в решении сложных задач и развития компании в целом.
Чтобы находить таких людей, мы в первую очередь выдвигаем требования к себе. Далее, имея опыт презентации разных вакансий и проектов, мы поняли, что людей цепляют 3 вещи: история, общечеловеческая безвременная ценность, планы «на завтра».

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

Ценность для человечества. Как мы и писали выше — сложно определить истинную ценность/пользу чего-либо. Утверждать абсолютную ценность — значит врать людям. Чтобы найти свой путь — важно иметь своё мнение. Чтобы очеловечить продукт и показать его важность, мы составляем нетипичные вакансии и раскрываем его суть за счёт собственного отношения.

Локальные планы. Чем локальнее план — тем лучше. Многие стремятся описать свои грандиозные планы и это никак не цепляет кандидатов. Ещё одна особенность таких «миссий» в том, что они говорят только о компании и ничего не говорят о человеке, который хочет стать частью компании. Из моего опыта общения с HR-директором одной компании:

— Наша ценность — развитие (кроме шуток, она действительно так сказала). Мы компания, которая хочет развиваться.

— А кандидатам до этого какое дело?

— Ну они тоже должны хотеть развиваться.

— Все хотят развиваться, только смогут ли они развиваться от вашего развития?

— Конечно.

— Как?

— Есть задачи, которые могут развивать их и компанию.

— Так вы и говорите про задачи, на стыке которых происходит развитие сотрудника и компании, а не про ценность, которая очевидна.

Планы должны касаться каждого сотрудника и быть локальными, чтобы человек понял, как он будет участвовать в этом процессе.

Кейс 3
Есть одна вещь, которая точно мешает всем находить своих людей: барьер взаимного лицемерия: необоснованное желание понравится другому человеку за счёт понтов, трёпа и показухи.

БВЛ проявляется в поверхностном понимании и наша задача при поиске сотрудников — разрушить его. Для этого есть ряд требований:

— не говорите, если не можете обосновать;
— не оценивайте;
— не говорите слова, которые не добавляют ничего нового;
— общайтесь с людьми, а не с их потребностями/деньгами/статусом;
— личное мнение — основа содержательной беседы.


Это отражается и в наших вакансиях. К слову, развёрнутые честные вакансии работают лучше, чем скупые тексты «по сути»:
Формирование ценности
Чтобы понять ценность своей компании, для начала нужно перестать задавать неправильные вопросы:
Аутсорсинг: хорошо или плохо?

React vs. Angular

Где взять инвестиции?

Почему микросервисы хорошо?

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

И мы: такие же, как и все.