Паровозик, который смог

В целом, таких историй множество. И те, кто связан с разработкой, кушали этот кактус не один раз. Но может быть этот пост прочтут молодые, уверенные в себе программисты. И этот текст поможет им посмотреть на себя и коллег немного со стороны, что, в свою очередь, поможет принять более взвешенные решения. К сожалению, чтобы рассказать хотя бы кратко историю, придется написать много текста. Уж извините за столь затянутый триллер.

Собственно, а о чем история? Да все банально: о том, как создаются некоторые интернет-проекты.

В один солнечный летний день в нашу комнатушку, где сидит несколько программистов, пришел молодой менеджер проектов и позвал некоторых из нас в другое помещение, дабы поведать что-то очень важное. На повестке дня оказался очередной «мега-проект», который менеджер подсмотрел у забугорного коллеги и чьей идей он проникся (хотя программисты сами ему ссылку когда-то сбросили). Но, как и большинство менеджеров, программировать он не умеет, а поэтому кто-то за бесплатно должен воплотить его гениальный план за мзду малую, когда деньги польются рекой. Поэтому отобрал он троих помощников: меня, как самого надежного (он сам так решил), и еще двух ребят помоложе, которые «бьют копытом» и ждут интересных идей.

Был представлен план на пяти листах, как и что будет выглядеть, когда проект будет готов. Функционал расписан просто, без лишних деталей, но он хотя бы как-то обозначен. Даже проблемы смог озвучить: например, как бесплатно получить красивый дизайн. И как первую монетизацию проекта сделать тоже не имели понятия. Признаюсь, идея не воодушевила меня. Такого на просторах интернета океан в том или ином виде. Мы постоянно что-то изобретаем старое и считаем это новым. Что-то становится автоматизированным и поэтому кажется инновационным, а что-то просто приобретает новую форму и поэтому кажется уникальным. Но не суть. Меня, старого, идея не сильно привлекла, но и роль моя в проекте была не столь большой: просто держать коллег в тонусе, помогать решать какие-то проблемы. На такое я был согласен. Тем более, я же мог ошибаться: проект окажется интересным, возьмет и выстрелит. Вдруг и копейку какую-то принесет.

Молодые же загорелись сразу. Назвали 5 страниц крутым словом «стартап» и принялись рассуждать, что да как можно сделать. В их словах было и рациональное зерно: стек выбрали, основные проблемы сформировали, с чего начинать делать тоже стало понятно. А раз направление задано, то берем лопату в руки и копаем: вот отсюда и до больших денег, ага. Все же опыт у нас всех какой-то есть, не новички в своем деле, поэтому быстренько подняли тестовый сервер, запушили в git первый коммит и сотворили прочие безобразия.

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

Во второй раз собрание акционеров утвердило еще несколько крутых и важных фишек на проект. Они, безусловно, должны были сделать проект еще круче. Проблема только в том, что мы тогда еще даже основной функционал толком не реализовали. Работа над «стартапом» велась в свободное от работы время, по вечерам и ночам, и не всегда все успевали делать свою часть работы. Так что отставание от графика пошли уже недели через две.
Потом та самая первая фишка, которую предложил один из программистов, была реализована не совсем так, как планировалось. А главное то, что работала она так себе, а еще и в основной код влезла, что заставляло ее дергать даже тогда, когда она не нужна. Тут уж мне пришлось сказать свое несогласие с таким подходом и было произнесено страшное слово – «переделывай».

Поскольку все мы сели в одну лодку, то бросать товарища с его проблемой не стали. Помощь коллеге была оказана и с переделыванием, и с реализацией других вещей, но на третьем парт.собрании огонь в глазах коллег поугас. Мы потратили время на создание и переделку, а «новые классные фичи» еще маячили где-то там на горизонте. Тем более, что бэклог ломился от предложений и идей. Менеджер же ждал то, что «можно пощупать руками», т.е. дизайн. А какие из программистов дизайнеры? Думаю, что многие про этот момент в курсе. Так что было предложено нам немного отвлечься от кода и сосредоточиться на том, чтобы как-то решить вопрос. Например, поискать кого-то из окружения, кто готов бесплатно нарисовать, сверстать, натянуть на шаблоны и вообще сделать все красиво. Всем известно, что таких людей очень много, они прямо в очереди стоят (сарказм). Так что история с дизайном была грустной, я предлагал не суетится, просто взять обычный шаблон по тематике сайта и переделать его под наш проект. Как по мне, идея не плохая и в чем-то даже очень стандартная. Только нужно и к этому делу подходить с умом. Мы же немного увлеклись, таская понравившееся блоки с разных сайтов. Поэтому по итогу получили историю с пиджаком, к которому нет претензий по пуговицам, рукавам, карманам, но сам такой пиджак носить не станешь. Дизайн у сайта был довольно ужасный даже по меркам программистов. Предложил было просто скопировать просто изначальный сайт, но не был услышан: мы должны быть оригинальны и не повторимы.

Примерно где-то в этот момент один из программистов сказал, что все это интересно, но мы уже второй месяц делаем простой проект и поэтому он больше в нем не заинтересован. Деньги с неба не полились, работы стало больше, свободного времени меньше, а пиво и женщина требуют внимания. Я не пророк, но для меня это было весьма ожидаемо. Ровно как и то, что весь придуманный, но еще не сделанный функционал придется поделить на двоих. А значит и сроки запуска ползут дальше, и работы больше, и команда проекта (замечу) меньше.
Менеджер еще раз попробовал скорректировать идею, даже согласился от чего-то отказать, но за идеальный и неповторимый дизайн стоял на смерть: «Должны мы все сделать сами и красиво!» Кто именно это должен был сделать он не уточнял.

Дела шли не быстро, часть функционала была создана, оставалось еще что-то докрутить, там добавить проверок и еще кое-что кое-где довести до ума. Но тут и второй программист дал слабину: проект уже не интересный, делаем долго, денег нет и продать мы ничего не сможем. Почти все тоже самое, что и у первого нашего коллеги, только другими словами без пива и женщины. На последнем (не крайнем, нет) собрании было озвучено, что все это фигня и сделать мы это не сможем. Еще в разговор были добавлены личные претензии, что повысило градус межличностного отношения друг к другу. На один из таких выпадов мне пришлось ответить, что такой проект вообще можно сделать одному, надо только уменьшить аппетиты, не делить деньги, которых нет, и не заниматься придумыванием фич каждую неделю. За эти слова я получил команду единомышленников, т.е. борцов против меня, и конечно же уколы типа «ну вот сделай сам» и все такое. Разговор перешел в стадию, когда оппоненты друг друга уже не хотят слышать и в целом остаются только эмоции. Так что я просто сказал, что возьму и сделаю.

Часто на этом история подобных «стартапов» заканчивается. Потому что все разочарованы и все это полная ерунда, никому не нужная. Признаюсь, что раньше тоже бросал такие вот вызовы себе и не вытягивал проект. Но сейчас внутри проснулся злобный хомяк, который сказал, что перчатка брошена, вызов принят и внутри меня живет опасный зверь, готовый стать акулой бизнеса. Так что я был замотивирован (на самом деле не очень) сделать все в одно лицо.

Заметьте, я нигде не говорил, о чем проект. Собственно, это не важно, так как подобных историй миллион, если не больше. Просто заканчиваются они по-разному: иногда ничем, порой потерей денег, больших или даже очень больших. Нам повезло, что кроме перехода на личности и натянутых отношений мы ничего не потеряли. Да, есть еще время, но опыт за деньги не купишь, так?

Какие могут быть выводы. Начинайте с малого, запустите основную идею в работу, а обрасти фишками успеете. Концентрируйтесь на главном: если придумали функционал, то плохой дизайн потом поправите. Верьте в тех, с кем работаете. Не вывозите, устали? Отдохните, но не уходите из проекта. Хорошая команда способна многое сделать и даже продавая свой проект некоторые захотят купить именно вас как команду, а не код.

А что до проекта, то я его сделал. Конечно, не таким, каким его видел менеджер и без многих идей коллег-программистов. Но я решил подойти к проекту по-своему. Так сказать, написал свой устав и пошел с ним в свой монастырь. Во-первых, я сделал базовый функционал, который дает возможность проводить основные действия с записями. Прикрутил регистрацию, сделал права и роли, так как это один из основных кирпичиков, позволяющих и разные доступы делать, и монетизацию прикрутить для отдельных граждан. Во-вторых, подсмотрел у аналогичных проектов некоторые небольшие фишки и реализовал их. Исходил не столько от сложности задач, сколько от затраченного времени. Здесь же упомяну то, что есть автопост в телегу. Поэтому есть альтернатива сайту: не хочешь каждый день ходить на сайт – подпишись на канал. У оригинала большой лист рассылки. Мне такое пока не светит. В-третьих, залез на поляну менеджера и изучил какие штуки интересны пользователям, некоторые ранее созданные убрал, а что-то все же добавил. Вот с RSS лентой так и не понял, что делать: надо ли это кому-то или нет?  Да и вообще, тема проекта хоть и родственная мне, но все же не мой стек. И, конечно, пришлось повозиться с дизайном. Он не уникальный в визуальном плане, но весьма симпатичный (конечно же, на мой вкус), к тому же лаконичный и, надеюсь, функциональный.

Если дочитали о конца и хочется посмотреть, что же это такое мы делали, то вот мой результат – jsjob.ru. Идея была сделать про другой стек технологий, но домен умный менеджер зарегистрировал ранее и отказался отдавать/продавать. Так что я взял тот, что был свободный. Оригинальный англоязычный ресурс публиковать не буду, но те, кто крутится в мире разработки сайтов, могут увидеть что-то знакомое. И пусть у оригинала больше посещаемость и куда круче база подписчиков, «мой маленький плот» только спущен на реку. Если развалится, то не страшно. Я все равно сделал важную для себя вещь – сдержал обещание данное себе. Коллеги вынуждены были признать, что это хоть и не совсем то (ага, я хх.ру в одни лицо не собирался переписывать, как некоторые из них думали), что ожидали они увидеть в своих мечтах, но это более чем рабочий проект с баром и шлюхами от дизайна до автодеплоя.

Лига программистов

1.5K постов11.4K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества