Привет! Это Fitil – сообщество людей, открытых к знакомствам и общению. Мы стартап, поэтому чаще всего в нашу команду попадают знакомые и знакомые знакомых. Но с нашим текущим разработчиком Денисом случилась очень интересная история – о ней мы и хотим рассказать в этой статье.

– Денис, расскажи немного о своём опыте.

Вкатился в IT в далёком 2004-м, когда захотелось чего-то большего чем программирование микроконтроллеров. Начинал веб-мастером и контент-менеджером, параллельно изучая PHP/JS на пет-проектах. Прошёл путь от программиста до техлида и обратно. Всё по классике: проектировал, разрабатывал, внедрял, переносил, оптимизировал, консультировал. 

Последние 4 года, например, работал над маркетплейсом в сфере HR IT – сервисом для поиска работы в IT в Германии. Всё сделано с нуля, включая биллинг, внутренний мессенджер, модерацию пользовательского контента, профилей кандидатов и компаний, а также проверку и сопровождение вакансий. Куча бизнес-логики, больше сотни различных уведомлений, триггерные письма, etc. 4 года работы «в соляру» :)

– Как ты нашёл Fitil?

Вообще я искал сервис знакомств, который будет работать. 

Сначала зарегистрировался в Tinder, заполнил все данные, свои пожелания и цели. 

В течение года мне попадались очень странные анкеты девушек, то есть вообще не по моим параметрам и интересам. За всё время пользования приложением подробно с моим профилем ознакомились и целенаправленно свайпнули три девушки – это было понятно из чатов. Остальные бездумно «лайкали». 

В итоге открытых чатов у меня случилось около 30, из них две встречи, которые не переросли в дальнейшее общение.

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

У меня случилось 20 начатых чатов, из которых вышло три встречи. Две встречи были специфичными, а в третью случилась удача — познакомился с интересным мне человеком. В Pure она попала, как и я, от безысходности — Мамба и остальные приложения нам не подходили.

Потом я наткнулся на статью про сервисы знакомств, там был упомянут Fitil. Меня заинтересовала концепция оффлайн-знакомств, потому что в испытанных мной приложениях до реальных встреч доходило очень редко. Решил скачать приложение, пройти тест и посмотреть UX (небольшая профдеформация). Анализировал, как всё устроено, какие есть баги и прочее. Всплыло несколько багов, подумал, что стоит сообщить об этом команде, потому что видно, что проектом занимаются. 

– Как ты понял, что проектом занимаются?

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

– Например? Какие баги увидел?

При попытке оплатить мероприятие вывалилась 404 ошибка со страницей-заглушкой от reg.ru. И, судя по отзывам, такое было у многих пользователей. Как потом выяснилось, это были последствия переезда на новый сервер. Подобные проблемы должны решаться максимально быстро, в течение одного часа, всё-таки оплата – это критический функционал. А тут двое суток проект в простое – для меня это дикость, так быть не должно.

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

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

– Почему у тебя вообще появилось желание помочь?

Во-первых, привлекла концепция проекта, необычное решение с психологическим тестом и отсутствие попыток навязать платные опции/подписку – этим грешат практически все сервисы в сфере знакомств и нетворкинга.

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

– И каким было твоё знакомство с кодом Fitil? 

Во время аудита я сразу понял, откуда растут ноги у багов – качество кода оставляло желать лучшего. Если взять условные «10 смертных грехов программиста», то в некоторых частях проекта был страйк: 10 из 10. Справедливости ради должен отметить, что в целом проект работал и бизнес мог функционировать, а это очень важно на начальном этапе развития. Так как Fitil – это стартап, а главная задача большинства стартапов – запуститься любой ценой, качество кода соответствовало уровню развития проекта.

Как правило, так всё и делается: сперва проверяют бизнес-идею с помощью наскоро написанного кода, а затем, когда приходит обратная связь от пользователей, идею корректируют под реалии рынка.

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

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

– Были ли ещё сложности?

Да, довольно предсказуемая сложность или специфика стартапа – ты можешь быть единственным техническим специалистом в проекте. Так и случилось.

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

– Чем занят в проекте сейчас? Какие планы?

Сейчас внедряем расширенный поиск и новые правила совместимости партнёров, планируем сделать это до конца года. В ближайшее время планируем отказаться от нативного приложения и уйти полностью в веб, сохранив удобство использования с помощью PWA. Есть пара идей, как сделать приложение максимально автономным, чтобы оно работало в оффлайне, даже в туристических походах без связи. Также предстоит много рефакторинга на бэкенде – для начала избавиться от plain SQL и привести в порядок бизнес-логику. Помимо этого нужно приводить БД в порядок, нормализовать и очистить таблицы от дубликатов. Да и оптимизация производительности уже маячит на горизонте – сообщество активно растёт, а вместе с ним и нагрузка на серверы.

Буду рад ответить на вопросы читателей, рассказать подробнее, как оно работает изнутри и что с этим всем делать, когда ты «один в поле воин».

Комментарии (8)


  1. ionicman
    08.09.2023 22:42
    +15

    Ответьте пожалуйста на один вопрос — доколе это будет на Хабре? Каждый пост минусуют — вам это ни о чем не говорит?


    Попытки высосать техническую составляющую из пальца (или откуда там у вас) в статье выглядят смешно и нелепо.


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


    Кроме того, в силу некоторых обстоятельств (которые ведомы большинству, но почему-то неведомы тем, кто пытается "предоставлять" услуги на данном поле) на всех подобных сервисах знакомств всегда много М и очень мало Ж, однако вы упорно пытаетесь постить статьи на ресурсе с точно таким-же перекосом.


    Я даже и не знаю, что вам сказать после этого…


    ИМХО регистрироваться у вас при таком подходе точно не надо.


    1. Andrusha
      08.09.2023 22:42
      +10

      Страшно подумать, откуда оно взялось для такого сервиса.

      Это импортозамещение


      1. Dimsml
        08.09.2023 22:42
        +4

        Это "потраченный" перевод (и ужасный древний словарь). Не используют слово tinder в значении фитиль ни в США, ни в Англии, можете проверить в Longman Dictionary of Contemporary English и Merriam-Webster.

        Tinder это трут или растопка, а фитиль это скорее fuse или wick. Ну или slowmatch если мы говорим о какой-нибудь старой пушке с ядрами.


      1. ionicman
        08.09.2023 22:42
        +4

        От оно что! А че не трутовик?)))


        Те господа импортозамещатели даже не в курсе, что в разных языках слова могут иметь разные оттенки смысла и переводить их "в лоб" не очень хорошо.


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


        Вот и назвали бы свой сервис "Искра" — оно по смыслy как раз бьется с оттенком слова tinder + на русском есть оттенок этого слова в плане отношений.


        Ну или "Фертиль" — было бы по делу, с юмором, отсылкой и на французский манер)


        1. Kazzagor
          08.09.2023 22:42

          Судя по одной из предыдущих статей, пользователи ставят друг другу фит (fit) после того как потусуются на "мероприятии" и им открывается чат друг с другом при совпадении, и может быть этот фит и обыгран в названии приложухи? Это маленькая деталь, можно даже назвать ее технической, особенно в сравнении с остальной инфой, которую запостили дамы из фитиля.


    1. nlykl
      08.09.2023 22:42

      Кроме того, в силу некоторых обстоятельств (которые ведомы большинству, но почему-то неведомы тем, кто пытается "предоставлять" услуги на данном поле) на всех подобных сервисах знакомств всегда много М и очень мало Ж, однако вы упорно пытаетесь постить статьи на ресурсе с точно таким-же перекосом.
      В этом плане их сервис исключение, там женщин больше. Видимо, мужчинам лень ходить по мероприятиям.


  1. myswordishatred
    08.09.2023 22:42
    +6

    Невыдуманные истории, о которых невозможно молчать.


  1. fitilstep
    08.09.2023 22:42
    -2

    Так, друзья, добрый вечер.
    Знаете что?)
    Это название - FITIL, я использую с 2010 года, под этим никнеймом я зарегистрирован во многих соц. сетях (пруфы есть, естественно).
    Даже тут, как можете видеть, мой ник начинается с этого слова.
    Я не хочу, чтобы меня ассоциировали с "Тиндером", как поступим?
    https://t.me/cvbXC7 - для коммуникации