Рубрика: Продукт

  • Выбираю платформу для базы знаний

    Выбираю платформу для базы знаний

    За последнее время часто возникает потребность создания документации или базы знаний в разных проектах. Сколько бы мне ни нравился Obsidian для личных заметок, для коллективного использования в вебе он не предназначен. Поэтому я начал поиск продукта “база знаний”.

    Требования:
    – Поддержка русского языка
    – Статьи можно писать коллективно
    – Можно опубликовать на моём домене
    – Хочу поддержку markdown
    – Современный внешний вид из коробки, который легко брендировать
    – Приятный интерфейс и UX

    Рассматривал все варианты.
    Первыми не подошли зарубежные платные продукты: Gitbook, Notion, Confluence, Zendesk. Зачем сразу создавать себе проблемы с оплатой и блокировками?
    Потом стал смотреть российские платные: Teamly — альтернатива для Notion, CarrotQuest — альтернатива для ZenDesk/Intercom, Kaiten — альтернатива для Jira. В Kaiten мы даже сделали книгу сотрудника для агентства и остались довольны, но это всё же не для публичного доступа.

    Потом опомнился, что не хочу платить за подписки. Я готов разворачивать и админить приложения в нашей инфраструктуре. Начал смотреть на Open Source, чтобы бесплатно и с открытым кодом. Оказывается, не так много хороших решений.
    Outline и Documize оказались продуктами с платными версиями, не стал разбираться в тонкостях лицензий, убрал их из сравнения.
    BookStack — не понравился редактор статей, весь продукт выглядит устаревшим. Ставили его пару лет назад и пробовали использовать, но не прижился.
    GitLab — почему бы не писать документацию для разработчиков внутри репозитория? Решил опробовать, но для публичной базы знаний нужно что-то другое.

    В итоговой выборке остались эти продукты:
    Wiki.js — победитель, пока остановился на этом продукте и буду его пробовать. Множество плагинов, поддержка разных баз данных, корпоративный логин, markdown, всё выглядит очень современно.
    Docusaurus — второе место, поддерживает переводы и версии, отлично выглядит и тоже полностью открытый исходный код без скрытых тарифов.

    Занятно, что оба написаны на Node.js + TypeScript. Хотя я на стек смотрел в последнюю очередь.

    А на какой платформе база знаний у вас и насколько вы ей довольны?

  • Топ постов за май по вашим реакциям

    Топ постов за май по вашим реакциям

    Наибольший отклик получили посты про персональную продуктивность и размышления об агентском бизнесе.

    Сопротивление задачам
    https://t.me/fullstack_founder/115

    Ты сам пишешь или это GPT?
    https://t.me/fullstack_founder/103

    Сколько потратить на сайт компании?
    https://t.me/fullstack_founder/121

    А вам точно нужна реклама в интернете?
    https://t.me/fullstack_founder/125

    С чем сравниваем цену услуг агентства?
    https://t.me/fullstack_founder/113

    Конкурентная разведка для агентств
    https://t.me/fullstack_founder/114

    Число Данбара
    https://t.me/fullstack_founder/106

    Бонус:
    Как я сделал аватар для этого канала
    https://t.me/fullstack_founder/127

  • Нарушение авторских прав на сайте

    Нарушение авторских прав на сайте

    Вы сделали сайт для компании — есть риск, что вы уже нарушили закон.
    За что может реально прилетать досудебная претензия, счёт или иск о нарушении авторских прав?

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

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

    Логотипы и товарные знаки — могут потребовать снять с сайта. Крупные корпорации очень внимательно мониторят все упоминания. Могут потребовать пометить торговые марки, привести в соответствие с брендбуком, указать правообладателей или просто убрать логотипы и названия. Вы должны иметь письменное разрешение, чтобы повесить на сайте логотип вашего клиента или сравнить ваш продукт с продуктом другой компании.

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

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

    Карты — сделали скриншот с сервиса карт и вставили как картинку — практически гарантированное нарушение. Как потребители мы привыкли, что карты бесплатные. Но для бизнеса есть тарифы и условия использования. Карты нужно встраивать только как виджеты. Встроенная карта в личном кабинете может стоить стартапу сотни тысяч рублей в год.

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

    Как защитить себя?
    1) Получить от дизайнеров и разработчиков список всех использованных произведений и других объектов авторского права с указанием авторства и лицензии. Хорошо получить также подтверждение прав: чеки, инвойсы, договоры, ссылки на сайты, лицензии и файлы из фотобанка.
    2) Проверить, по какой лицензии используется этот объект, есть ли у вас право на изменение и использование его в коммерческих целях?
    3) В договоре с подрядчиком указать, что он отвечает за нарушение авторского права и будет нести материальную ответственность.
    4) В договоре передать авторские права на все создаваемые подрядчиками произведения.
    5) Проверить всё это с юристом.
    6) Хранить весь комплект документов, пока сайт опубликован, и три года после.

  • Конкурентная разведка для агентств

    Конкурентная разведка для агентств

    Прежде чем заниматься своей упаковкой, составлять прайс и размещать рекламу, нужно сделать конкурентную разведку методом тайного покупателя.

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

    Чтобы эксперимент был чистым, создаем новую интернет-личность. Свежая симкарта, новый почтовый ящик, новый профиль для браузера — с этим комплектом начинаем разведку. Переключаем в Яндексе регион на город персонажа и вводим тот самый запрос, по которому вы хотите получать клиентов.
    «Реклама в интернете для завода», «SEO для автомойки в Зеленогорске», «Продвижение личного бренда в телеграм».
    Открываем сайты всех конкурентов с первых страниц в Гугле и Яндексе. Обязательно нажимаем на всю рекламу. Оставляем всем заявки и разыгрываем небольшой спектакль.
    Делайте записи всех встреч и звонков. Доводите согласование проекта до финальной стадии и ещё потяните время после. Через некоторое время наступает ситуация «руководство выбрало другого кандидата, спасибо за уделённое время» или «не согласовали бюджет, попробуем в следующем году».

    К этому моменту вы узнали очень многое:
    – За сколько времени перезванивает менеджер.
    – Что спрашивают на брифе, как брифуют.
    – Насколько глубоко проверяют клиента.
    – Когда готовы прислать КП, индивидуальное или типовое, что в КП.
    – Кого ожидали увидеть в роли покупателя — собственника, директора или менеджера отдела.
    – Какая вилка цен на услугу и на какие факторы выбора давят.
    – Как скоро обещают запустить проект.
    – Какой результат обещают и в какой срок.
    – Какая команда будет делать проект и каким образом.
    – Формат и частота отчётности.
    – Как убеждают купить, какие скидки и бонусы предлагают.
    – Сколько этапов в продаже.

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

    В конкуренции на рынке не нужно ставить мировые рекорды. Достаточно быть чуть быстрее, чуть лучше, чуть выгоднее.

    Вот теперь можно заняться упаковкой агентства и отстроить процесс продаж от конкурентов.

    Можно повторить весь путь для каждой услуги и ниши. Можно попробовать «поменять подрядчика» через год.

  • Спиральная динамика

    Спиральная динамика

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

    🟤 Бежевый — Выживание. Стая учится выживать, охотятся уже вместе, но все грызутся на делёжке добычи. Типичный отдел продаж в мелком агентстве недвижимости или свора фрилансеров. Бизнес в этой фазе ещё не разобрался, что он бизнес. Основатель научился создавать приток средств, пытается организовать работу коллектива и сам коллектив вокруг этого притока. Подбирается лояльный коллектив.

    🟣 Фиолетовый — Клановый. От каждого по способностям, каждому по потребностям. Главная ценность — причастность клану. Мистицизм, ритуалы. Увольнение через изгнание или выход через скандал с обидами. Уютный стартапчик, все мы друзья. На этом уровне организация может жить и расти десятки лет. Вся дальнейшая эволюция зависит от руководства и избыточности ресурсов. Если ресурсов не хватает — растём на следующий уровень.

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

    🔵 Синий — Порядок и бюрократия. Соблюдение правил, выполнение инструкций. Все винтики, трактор непостижим. Ресурсы есть, вокруг источника лидов построили добывающий комбинат и получают клиентов по плану. Люди занимают должности и выполняют роли. Личная инициативность, которую так ценили на прошлых стадиях, становится опасной. Учимся считать, планировать, прогнозировать, учитывать. Пересмотр оргструктуры, введение регламентов. Самый адекватный момент для реального выхода основателя-предпринимателя из операционки и передачи штурвала операционной команде. В один момент бюрократия сильно мешает развитию, бумажки теряют смысл, компания начинает буксовать. «Нужно идти в ногу со временем» — типичная фраза, которую говорят в сильно отстающих компаниях на синем уровне.

    🟠 Оранжевый — битва за эффективность. KPI, ОКР, лидерборды, корпоративные соревнования. Менеджеры, выполнявшие свои обязанности на синем уровне, оказываются неэффективными (раньше никто не измерял) и заменяются на новых управленцев. Оптимизация процессов, вынос неважных вещей в аутсорс, снижение рисков. Оптимизация высвобождает ресурсы и компания захватывает всю доступную долю рынка.

    🟢 Зелёный — Экосистема. Дальнейший рост — через рост всего рынка. Что его сдерживает? Развиваем отрасль, образовываем клиентов, открываем кафедру в университете. Как насчет отраслевого альянса?

    Далее есть ещё три ступени, но они слишком далеки от моей практики. При желании можете углубиться в эту тему — по спиральной динамике написано около десяти книг.

    Выводы для предпринимателей:
    Бизнесу практически невозможно работать с другим бизнесом, находящимся в разрыве на два уровня. Соседние уровни одну сторону развивают, другую хотя бы не удивляют. А больше — начинается детский сад против бездушных капиталистов.

    Оцените потенциального клиента или партнёра — для этого хватит анализа любого интервью, пресс-релизов, постов и вакансий компании.

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

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

  • В IT с 2000 года

    В IT с 2000 года

    В IT с 2000 года. Заметки с консультаций, размышления о технологическом предпринимательстве и воспоминания о доисторическом IT.

    Чем полезен миру и могу быть полезен лично вам:
    🛠 Диджитал-агентствам — как ментор помогу выжить и вырасти в первые годы
    🚀 Стартапам — как CTO помогу со стеком, нанять подходящих программистов и наладить процессы в разработке
    💼 Фондам и инвесторам — как эксперт проведу технический due diligence аудит процесса разработки и продукта
    💻 Всем — карьерные консультации для разработчиков или вход в IT в любом возрасте

    11 фактов обо мне:
    🏆 Ментор года по версии Galera Awards 2024
    👨‍💻 Full-stack программист с 25-летним опытом. Мой первый сайт до сих пор онлайн, а я до сих пор пишу код
    🏗 4 раза строил диджитал-агентства и веб-студии
    🌍 Делал сайт 300-летия Петербурга, портал BBC на арабском языке и NFT-проект с Эрмитажем
    💥 Провалил стартап в стартап-инкубаторе
    🛒 Создавал, развивал, покупал и продавал интернет-магазины
    🏥 Создал и запустил интранет для медицинской IT-компании, который работает без меня уже 15 лет
    📀 Издал около 200 музыкальных альбомов с музыкантами из 45 стран. Сам не написал ни одного
    🪩 Организовывал концерты, вечеринки, рейвы и фестивали от 20 до 3000 человек в 5 странах
    🧢 Амбассадор клуба диджитал-агентств Galera
    🌲 Живу за городом, воспитываю собаку

    📬 Пишите: @vseznaika
    🗞 Читайте: @fullstack_founder

    ❤️ Буду рад вашим комментариям и сердечкам
    🖖 Давайте знакомиться! Напишите в комментариях, кто вы, и дайте ссылку на ваш канал

  • React vs Vue

    React vs Vue

    Сегодня получил замечательный вопрос, что выбрать — React или Vue для фронтэнда в стартапе. Кто не в курсе, это две доминирующие технологии для создания динамических интерфейсов. Их используют социальные сети или большие веб-сервисы.
    Замечательный он тем, что сегодня я на него отвечу по-разному, в зависимости от того, кто спрашивает.

    Спрашивает новичок-разработчик — выбирай Vue.
    – Он проще устроен, его легче изучить.
    – По отзывам нескольких команд и десятка разработчиков, на нём приятнее писать.
    – Он быстрее собирается и быстрее работает во время разработки. Разница не очень большая, но это приятно.
    – С ним проще начинать новые проекты.
    – Легче использовать повторно внутренние компоненты.
    – Vue-разработчиков меньше, чем у React. А значит меньше конкуренция и выше шансы попасть в хорошую команду.

    Спрашивает стартап — выбирай React.
    – На рынке больше разработчиков, значит конкуренция будет выше и будет проще найти хорошего сотрудника.
    – Как следствие — легче масштабировать команду.
    – Развитая экосистема — скорее всего, самые сложные технологические вопросы в экзотической области уже решены. Часто достаточно будет установить готовую библиотеку или плагин.
    – Реакт более узнаваемое слово, что может сыграть вам на руку при общении с инвесторами.

    Спрашивает опытный разработчик — он не спрашивает, он попробовал и сам вам расскажет почему нужно взять именно этот фреймворк.

    Правильного выбора здесь нет. React, Vue, Svelte, Ember, Preact, Solid, Alpine, Livewire, Angular, Backbone, Ext JS…

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

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

  • Куда отгружать излишки работы?

    Куда отгружать излишки работы?

    Лучший лайфхак по оптимизации найма в диджитал агентстве — вообще не нанимать сотрудника.

    Нанимать нужно, когда сотрудник гарантировано будет загружен под завязку и ещё работа останется. Иначе есть риск, что специалист будет сидеть на скамейке и ждать начала проекта. А зарплату платить ему надо.

    Человека взяли и загрузка у него 100%, как полагается. Что делать с тем, что не влезло?

    Расскажу про наш личный опыт в агентстве.

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

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

    Удобно получается с дизайнерами, потому что на разные проекты нужен разный стиль и подход. Иногда нужно параллельно делать несколько проектов. Один дизайнер в штате не закрывает все эти потребности.
    Главное, чтобы на стороне агентства была насмотренность выбрать подходящего дизайнера из каталога или у партнёров.

    Менеджерить придётся всех, отдать заказ на сторону и забыть про менеджмент — фантастика. Отданное наружу надо менеджерить с двойным пристрастием и закладывать запас по срокам.

    В общем, всё, что не помещается в основной поток, — разумно отдавать на сторону. И только когда поток вырос, думать о найме.

    PS: упоминания площадок и продуктов не являются рекламой

  • Прибыльное агентство: Отказ от уникальных услуг

    Прибыльное агентство: Отказ от уникальных услуг

    Прибыльное агентство: Отказ от уникальных услуг.

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

    Один из способов победить эту проблему — перестать создавать полностью уникальные решения под каждого клиента.

    Как превратить услугу во внутренний продукт:
    – Берём одну типовую услугу, которую мы точно умеем оказывать и на которую есть спрос.
    – Документируем весь процесс оказания.
    – Выделяем шаги, которые требуют высокой квалификации.
    – В этих шагах заменяем квалифицированного специалиста на полуфабрикаты — заготовки, готовые рецепты, чеклисты, шаблоны. Теперь он делает заготовки, а не уникальные решения.
    – Добавляем границы кастомизации. За границы не выходим — это уже другой процесс.
    – Обучаем менее квалифицированных сотрудников проходить по шагам весь процесс.
    – Добавляем контроль качества — чтобы стандарт не падал при росте объёмов.
    – Повторяем с правками и улучшениями до тех пор, пока процесс не будет работать без вмешательства специалиста и руководителя.

    Для агентства — это конвейер. Внутри всё одинаковое, снаружи — кажется уникальным. Клиент может думать, что услуга уникальна — брендирование, выбор оформления из нескольких вариантов, пара уникальных страничек.

    Очевидные плюсы:
    – Увеличенная маржа — высокооплачиваемый специалист привлекается только к созданию конвейера.
    – Услугу могут оказывать легко заменяемые сотрудники или начинающие специалисты.
    – Просчитываемая экономика с точками масштабирования.
    – Ниже риски, так как услуга проще.
    – Можно построить бизнес, а не самозанятость.

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

    Конвейер интересен предпринимателю или бизнесмену. Чаще его организуют предприниматели без технического бэкграунда, которые сами услуги оказывать не умеют.

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

    Я считаю, что лучшее решение — гибрид.
    – Работает конвейер: основатель-специалист преодолел себя и построил скучную, но маржинальную услугу.
    – Цены не потоковые, а чуть выше рынка.
    – В отделе продаж происходит сортировка клиентов. Уникальные и сложные случаи переводятся в проектный отдел — с другими процессами, командой и бюджетом.

  • Сделай README сегодня же!

    Сделай README сегодня же!

    В этом месяце ко мне пришли три легаси проекта на аудит и разработку стратегии развития. Во всех трёх нет описания, документации и даже README. С автором одного из проектов связи больше нет.

    В мире Open Source без README никуда — содержимое этого файла автоматически отображается в качестве описания на странице репозитория с кодом на GitHub. В качестве синтаксиса чаще всего используется Markdown, что позволяет использовать заголовки, ссылки, копируемые команды и примеры кода.

    В мире продуктов, написанных “для себя” или “для клиента” часто описания нет. Или README без изменений унаследован от фреймворка, на котором собран проект. Это уже первая подсказка, но дальше разбираться нужно самостоятельно.
    Разработчику кажется, что он — первый, последний и единственный посетитель репозитория. Нет смысла писать эти инструкции — для кого? А через несколько лет новый разработчик смотрит на папку с кодом и чешет затылок.

    Что писать в README:
    – Название проекта.
    – Описание — ответ на вопрос, а что этот код делает и для чего.
    – Зависимости и библиотеки, описать что под капотом и в какой среде это работает, требования к железу и среде.
    – Архитектура — как это устроено?
    – Инструкция по установке и первому запуску.
    – Инструкция как разворачивать на сервере, если отличается от локального запуска.
    – Ответьте на все вопросы, которые задаст новый разработчик в первый день работы с проектом.
    – Примеры использования, типичный рабочий процесс.
    – Полезные ссылки на официальную страницу, документацию, статьи.
    – Контакты — с кем связаться, кто в курсе продукта, кто заказчик.
    – Инструкция как вносить правки в код.
    – Лицензионное соглашение для этого кода и для зависимостей (если применимо).

    К каждому исходному коду должен прилагаться файл README с описанием. Новый проект следует начинать с этого файла. В существующих проектах файл следует обновлять при изменениях или поступающих вопросах.

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