Рубрика: Команда

  • Требования к продукту

    Требования к продукту

    Product Requirements Document — документ, призванный рассказать о сути продукта и его ключевых требованиях. Он здорово экономит время на первичное обсуждение идеи.

    За последние несколько лет я посмотрел десятки примеров PRD. Документ из большой корпорации будет по строгому шаблону, в веб-студии — с акцентом на технологическую реализацию, а венчурному фонду будет интересен рынок и команда. Проще сделать документ под себя, чем подбирать подходящий.

    Главная фишка PRD в том, что автор идеи сам отвечает на вопросы до того, как принесёт идею к партнёрам, инвесторам и участникам команды. Создание этого документа — фаза проработки идеи и глубокого осмысления своей задумки. 

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

    Мне нравится формат одностраничника — документ должен влезать на одну (две, три) распечатанную страницу. Более подробной спецификацией можно заниматься внутри производственных отделов на стадии реализации, а для верхнеуровневого обмена идеями хватит одного листа.

    Скачать документ можно в следующем посте с розыгрышем.

  • Машина времени для интернета

    Машина времени для интернета

    Помните фразу “интернет всё помнит”?
    Проект Wayback Machine, известный среди вебмастеров как Веб Архив, сохраняет копии сайтов. Интереса ради можно посмотреть как выглядели известные сайты в прошлом. А можно найти свои старые сайты, в том числе те, которые уже недоступны. В архиве хранятся копии, сделанные в разные даты, поэтому можно отследить эволюцию дизайна или как постепенно добавлялся контент.

    Частая боль веб-студий — сданные клиентам сайты со временем исчезают. Клиенты не продлевают домен, теряют доступ к хостингу, закрывают компании. Или новая команда изменяет оригинальный сайт так, что дизайнеру становится стыдно. Также вебмастеры используют этот проект, чтобы воскресить свои утерянные сайты или восстановить контент на выкупленном домене. Бэкэнд уже не восстановить, но можно сохранить вёрстку и статьи.

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

  • Фуллстек парадокс

    Фуллстек парадокс

    В начале 2000-х в веб-разработке не было фронтэндов или бэкэндов.
    Была профессия вебмастер. Этот человек мог сделать сайт целиком. Он умел общаться с полиграфическим дизайнером про внешний вид сайта, верстать HTML таблицами, оптимизировать графику, писать java script. Стек был небольшой и было мало слоёв абстракции.
    Если было нужно что-то покруче, звали программиста и он писал CGI-скрипты на Perl, PHP или C.

    Прошло 25 лет. В этом году искал для клиента fullstack-разработчика. Вакансии такие на рынке есть. Например, одновременно с моей вакансией продвигали объявление от Теремка на такой же стек. На такую вакансию массово откликаются фронтэнд-разработчики. Почему так?

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

    Современный бэкенд разработчик часто знает HTML, CSS и Java Script. Может так случиться, что был у него опыт разработки на React, но он не будет считать это значительным достижением. Хорошо, если в резюме укажет. Его территория упирается с одной стороны в серверное администрирование и облака, с другой находится уровень железа: производительность процессора, работа с памятью, операции чтения и записи на жесткий диск. Пляж фронтэндов находится на периферии его владений и занимает небольшой участок с выходом в море.

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

    Количество абстракций в процессе разработки выросло. У пирога было три слоя, а в современном рецепте их пятнадцать. Изобретают новые фреймворки, меняются библиотеки и подходы. Рынок делает веб-программирование всё более абстрактным и сложным.

    Практические выводы:
    – Если вам нужен в команду разработчик с полным спектром знаний — ищите сеньора бэкендера, у которого был опыт работы на фронте. Вакансии Веб-разработчик, Программист или Backend-developer. Но делать фронт его руками очень дорого.
    – В команду нужно брать и фронтов и бэков. Бэки будут ворчать и не хотеть делать задачи фронтов, фронты не владеют всей картиной происходящего на бэке.
    – LLM уже сейчас помогает бэкендерам делать сносный фронтэнд. Скоро всё перемешается снова.

  • NFT-коллекция аватаров PostHuman

    NFT-коллекция аватаров PostHuman

    Как отдыхает программист? Пишет код для удовольствия!

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

    Наши пиксельные аватары сделаны по принципу знаменитых Крипто Панков. Слои с головой, одеждой, причёсками и глазами комбинируются случайным образом. У других авторов аватары заранее генерируются, отбираются куратором и лучшие публикуются на блокчейне как коллекция. У нас всё получилось гораздо мощнее — фабрикатор постоянно онлайн и у коллекции нет модератора. Автомат генерирует случайные комбинации из 13 видов слоёв, от заднего фона до цвета глаз. Выпадет одна из 615,000,000,000,000,000 комбинаций!

    Как работает механика:
    – Валидатор Posthuman и Omniflix.TV распространяют NFT-сферы своим пользователям. Многие получат сферу бесплатно или за какие-то активности. Также сферы можно купить на маркете.
    – Сферы работают как билеты или жетончики. Их можно отправить в автомат, который сгенерирует новый NFT-аватар.
    – Аватар можно использовать в приложениях экосистемы или продать на маркете.
    – Аватар будет случайный, поэтому может не понравится пользователю.
    – Аватар можно за небольшую плату сдать в регенератор и получить взамен новую сферу.
    – Это вызывает цикл обменов и генераций, пока не выпадет подходящий аватар.
    – Аватары бывают трёх рас: Человеки (разного пола и цвета кожи), Роботы и Пришельцы.
    – Аватары и сферы бывают разной редкости: Обычные, Бронзовые, Серебряные, Золотые, Платиновые, Бриллиантовые.
    – У частей картинки разная вероятность выпадания. Робот в шапке-ушанке более редкий, чем просто робот. Костюм космонавта более редкий, чем рубашка.

    Как заработать на NFT-аватарах? Я не знаю — я программист :]
    Можно генерировать редкие классные аватарки и продавать на маркетплейсе. Сейчас это дополнительное развлечение для участников блокчейн-экосистемы. Мы запустились пару дней назад, а уже создано 1200 аватаров.

    Промо-лендинг коллекции https://avatars.posthuman.digital/
    Сгенерированные аватары на маркете: https://omniflix.market/c/collectNow/onftdenomf3c4a963c49747039217eba1dc10282e
    Посмотреть, какие аватары выпадают прямо сейчас https://t.me/posthuman_avatars
    Автомат по генерации аватаров https://mint-posthuman-avatar.omniflix.market/

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

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

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

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

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

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

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

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

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

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

  • Тест Адизеса

    Тест Адизеса

    Ицхак Адизес — живой классик современного менеджмента. Его книги уже давно переведены на русский язык и регулярно переиздаются. Одна из самых известных его работ — книга «Идеальный руководитель. Почему им нельзя стать и что из этого следует».

    Сильно не углубляясь в пересказ, расскажу о тесте Адизеса, который представлен в книге. Я нанимаю уже много лет и успел на практике попробовать множество тестов, но в итоге остался только этот. Применяю его не только к руководителям, а вообще ко всем соискателям.

    Адизес выделяет четыре роли в организации:
    – Предприниматель (E) — придумывает, рискует, запускает новое.
    – Производитель (P) — делает работу руками, результатник.
    – Администратор (A) — следит за порядком и выполнением регламентов.
    – Интегратор (I) — объединяет людей, поддерживает коммуникации, атмосферу и культуру.

    Этот подход лег в основу теста, который можно пройти за 10 минут, отвечая на простые вопросы. В итоге мы видим, какие роли у человека проявлены лучше всего. Берём человека на производство — роль Производитель должна быть проявлена. Бухгалтер или контроль качества — ищем Администратора. В продажах и развитии бизнеса не обойтись без Предпринимателя. В HR или коммуникации мы ищем хорошего Интегратора.

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

    К примеру, я — Предприниматель-Интегратор. Это означает, что я могу начать проект, принять основные решения, задать направление, собрать под проект команду и научить их общаться друг с другом. Но делать (P) или внимательно следить за выполнением (A) мне будет доставлять страдания. Производство меня выжигает, администрирование утомляет. Также развитый Интегратор в качестве побочного эффекта серийно пробует и бросает новые хобби, но после погружения теряет к ним интерес.

    Что из этого следует на практике?
    – Вакансию следует писать, предварительно определив желаемый психотип соискателя. Использовать в тексте вакансии лексику, присущую этому типу.
    – Можно с высокой степенью успеха предположить, подойдёт ли человеку данная работа и какой род деятельности ему вообще подходит. Даже если у него совсем нет опыта.
    – В сформированном коллективе можно определить направления роста сотрудников.
    – Можно предсказать зоны конфликта в коллективе, основываясь только на тесте: Администратор страдает от перемен, которые привносит Предприниматель. Интегратор кажется Производителю пустозвоном и т.д.
    – Не нужно требовать от себя развития всех ролей. Достаточно сфокусироваться на своих сильных ролях, а под остальные собрать команду.

    Пройти тест онлайн
    Книга Идеальный руководитель

  • 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 — он хорошо показывает, насколько технология готова к применению на практике. Не выбирайте самую новую технологию, не выбирайте самую хайповую. Берите ту, которая уже немного надоела и у которой очень высокая доля рынка. Выбирайте взрослое и популярное, это хотя бы безопасно. Именно скучные, хорошо знакомые технологии чаще всего приводят к выпуску продукта, а не к вечному рефакторингу.

  • Почему нужно нанимать джунов

    Почему нужно нанимать джунов

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

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

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

    У вас большое производство и есть значительный объём однотипной работы с низкими требованиями к качеству — справятся джуны после небольшой подготовки.

    Вы просто очень хотите обучать. Может быть тогда ваш бизнес — образование?

    Мой вывод: большинству компаний и команд джуны не нужны.

    А вы нанимаете джунов? Расскажите, зачем и что из этого выходит.

  • Почему не нужно нанимать джунов

    Почему не нужно нанимать джунов

    Почему не нужно нанимать джунов.

    Кажется, чтобы сэкономить на разработчиках нужно брать в команду джунов. Кажется — но нет.

    – Качество работы не дотягивает.
    – Скорость работы не прогнозируемая — джун застревает в любом месте.
    – Требуют квалифицированного наставника. А его время дорого, ведь наставник — хороший разработчик.
    – За ними приходится исправлять код старшим разработчикам.
    – Хотят “айтишную” ЗП и немедленно. Ведь на продаже курса обещали сотни тысяч!
    – Воспринимают нашу компанию как ступеньку и быстро уходят.

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

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

    Зачем и когда можно брать джуна в команду, расскажу в следующем посте.

  • Оргструктура для стартапа — как назначить всем должность

    Оргструктура для стартапа — как назначить всем должность

    Оргструктура для стартапа — как назначить всем должность.

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

    Я выписал всё, чем нам нужно заниматься. Разработкой всё не ограничивается. Огромное количество действий поглощает рабочие дни команды: продажи, редакция, партнёрская программа, маркетинг, PR, финансы, бухгалтерия, HR, секретарь, служба поддержки, продукт, разработка, дизайн, интеграции, тестирование, юридические аспекты, инвестиции.

    И попробовал рассортировать по кучкам. Потом на эти кучки можно будет приклеить ярлычки CEO, CFO, CMO, C3PO, R2D2…

    Через 40 минут сортировки на доске я понял, что у меня не стыкуется. Текущая команда и виртуальная структура с дырками… В общем, заставил GPT воображать себя венчурным инвестором и успешным предпринимателем, после чего скормил ему эту задачу. Описал всех участников, рассказал, кто чем занимается и дал список направлений деятельности.

    Такое распределение менеджмента получилось в итоге:
    1. CEO (Chief Executive Officer) + CTO (Chief Technology Officer). Генеральный + технический директор. Стратегия и руководство, технические вопросы, финансы, инвестиции.
    2. COO (Chief Operating Officer) + CRO (Chief Revenue Officer). Операционный директор + РОП. Продажи, управление редакцией, онбординг новых клиентов и сотрудников.
    3. Head of Design & UX/UI — Дизайнер.
    4. Head of Customer Support — Поддержка клиентов.
    5. Head of Marketing (потенциально CMO) — Маркетолог.

    Забавно, что AI назначает Head of, даже если в отделе один специалист. Но мы помним, что в стартапе карьерные ступеньки подставляют вниз. Ещё интересно, что не все участники команды получили позицию менеджера. Даже если этот участник в отделе один.

    Теперь дополнительная польза. Кого можно сейчас не нанимать?
    Chief Product Officer (CPO) — Директор по продукту. В нашем случае закрывается созданием продуктовой команды из CEO/CTO + COO + Design. Лучшее решение, спасибо искусственным мозгам! Что интересно — ровно так разработка у нас и происходит. Находка, что можно не выделять главного в этом процессе и продолжать работать коллективом.

    Chief Financial Officer (CFO) — Финансовый директор. Когда деньги появятся, тогда и возьмёте. Для меня отличным решением оказалось раннее выделение роли Chief Revenue Officer без довеса на эту роль функционала CFO. И правда, чем управлять? Продавайте пока и всё.

    HR-менеджер — Управление персоналом пока больше сводится к найму. Это закрывают сами CEO и COO, а что не смогут — отдать рекрутерам. Мы можем долго не нанимать выделенного HR, потому что оба фаундера много нанимали сами в других проектах.

    Юрист — аутсорсить на точечных консультациях (это мы уже начали) или взять агентство (а вот это пока навряд ли).