будни

Полтора года назад мы сделали игру «футбольный менеджер».

Plug-n-play движка из этой механики сделать не получается — уж очень все игры разные, но минимальными ресурсами разработки получается делать вот такие крутые проекты:

https://meduza.io/games/perezhit-tyurmu-maloy-krovyu

Кстати, если вы умеете js (react, node, вот это всё) и не чураетесь верстки — можем сделать пару проектов вместе. Пишите мне на samat@meduza.io— перед новым годом очень много проектов.

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

И есть то, что мне хочется сделать прямо сейчас. Оно не обязательно самое срочное или самое важное.

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

Ещё есть страх неудачи, это отдельная большая история.

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

Вчера мне пришло удивительное письмо:

Мой друг в составе команды исследователей шельфа северного ледовитого океана сейчас «болтается» в **, чуть западнее острова N на корабле Z. В море им быть ещё минимум два месяца. Говорит, без новостей с большей земли пухнет голова. У них есть интернет, через спутниковый телефон, но канал очень узкий. Если это не сложно для вашего технического отдела, не могли бы организовать отправку дайжеста новостей на электронную почту текстом в архиве на электронную почту xxx@xxx.ru размером письма не более 100 кБ?

Письма Вечерней Медузы за последнюю неделю весят в среднем 50-70KB. Львиная доля объема — код, что позволяет выглядеть письмам одинаково во всех почтовых клиентах; это почище кроссбраузерной верстки.

Давайте попробуем убрать всю красоту и оставим только текст и минимальные выделения. Текст ниже — для компьютерщиков. TL;DR: «вот так, с помощью нехитрых приспособлений...»

Откуда мы будем получать событие об отправке письма? Подойдет webhook в mailchimp, через который мы рассылаем вечерку. Настроим простенькое приложение webhook, которое будет ждать события, а при его получении — запускать нашу программу.

Что в самой программе? Зная ID почтовой рассылки мы можем через API мейлчимпа получить тело письма. Но оно не особо красивое и вычищать его не хочется. Как насчет API Медузы? И вправду, в plaintext версии письма последняя ссылка — всегда на это же письмо на сайте. Например, вот вчерашнее письмо https://meduza.io/brief/2017/09/05/vechernyaya-meduza.

Добавляем `api/v3/` в адрес новости после имени сервера и получаем адрес API https://meduza.io/api/v3/brief/2017/09/05/vechernyaya-meduza. Тут уж есть поля .root.mail.subject и body, которые содержат тему и тело письма, без лишних стилей. Отлично, вычленяем нужные поля с помощью утилиты парсинга json jq и схлопываем их вместе в готовый email.html файл утилитой cat.

Как отправить получившееся письмо? У сервиса отправки писем Amazon Simple Email Service есть отличный SMTP-интерфейс и я как раз недавно нашел программу sendemail (не путать с sendmail, которая позволяет отправлять письма через SMTP из командой строки.

Теперь исследователь севера каждый вечер будет получать «высушенную» версию Вечерней Медузы весом всего 15КБ.

А вы можете подписаться на красивую, сверстанную с любовью Вечерку в почте или в телеграм-канале @meduzaevening и узнавать новостную повестку дня за пару минут.

Никогда ещё я не работал так много, как в последние 2 недели.

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

Теперь я боюсь меньше. Ставлю вопросы ребром, увольняю, выражаю недовольство и хвалю. Причин изменения поведения три: 1) я теперь знаю, что из любой ситуации есть выход, 2) нет смысла врать и притворяться, лучше говорить как знаю и как чувствую, 3) я довольно много повидал всяких технических штук и продуктовой работы, не боги горшки обжигают, как-нибудь прорвемся. Ещё одна важная причина — Рома (владелец бизнеса) не дает скучать и жестко, но справедливо спрашивает :)

Моя задача сейчас — это сделать из 16 специалистов (3 iOS, 2 Android, 3 бэкендеров, 3 фронтендеров, 2 дизайнеров, 2 тестировщиков и сисадмина) крутую продуктовую команду. Команда, в отличие от набора специалистов, решает задачи сообща, слаженно.

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

Мне важно, чтобы программисты имели и высказывали своё собственное мнение о продукте; чтобы недовольство дизайнером, процессом постановки задач, договоренностями и сроками высказывалось и решалось, а не копилось как «это руководители идиоты, уж я-то знаю, как сделать хорошо, но кого интересует моё мнение». Я хочу, чтобы программисты чувствовали ответственность за результат, а не только за код.

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

Коллеги - технические руководители, давайте встретимся поговорим, поделимся опытом. Хочу устроить неформальный митап в Москве. Пара докладов и общение за едой. Записывайтесь в формочку, договоримся о дате и формате.

Мы с Федей начинаем перезапуск Сноба. Сноб — это российское медиа с историей: у него были разные времена, разные стратегии. У него есть своя core-аудитория и есть «легаси», которое мешает развиваться.

Самая главная особенность Сноба – сильное сообщество, «клуб». Участники пишут посты, комментируют друг друга и даже регулярно встречаются на оффлайн-событиях. Участие в клубе стоит денег, за это пользователи получают дополнительные возможности на сайте, скидки и многое другое.

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

После запуска, мы оставим Снобу классную команду, которая будет развивать и поддерживать проект дальше.

Мы пообещали сделать эту работу за 5 месяцев. Постараюсь время от времени рассказывать вам, как движутся дела.

🛠 Кстати, вы можете помочь нам сделать ее быстрее. Мы ищем фронтендера. Если вы знаете vue.js и хотите работать в медиа — есть редкий шанс начать со свежим стеком и опытным техническим руководством. Подробная вакансия тут, пишите Феде или мне.

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

Сделали классный внутренний инструмент для эйчаров высокочастотного трейдера Wunder Fund. Силами одного (!) программиста за 7 недель!

По дизайну напоминает Тиндер — есть лайки и даже супер лайки. А еще хитрый кастомный поиск прямо в вебе.

Подробности — в новом кейсе на сайте.

Хотите классную разработку в срок? Пишите @samatg

Мы с Федей собрали команду мечты.

Фронтендер, который руководил проектами, пока мы не наняли двух отличных менеджеров — ✅. Бэкендер, бывший техдир — ✅. Фулстек-разработчик, бывший CPO в стартапе — ✅. Архитектор, который вытаскивает требования из бизнеса лучше психоаналитика — ✅.

Главное — все ребята пытаются решить проблемы бизнеса наших клиентов с помощью кода (в идеале — без кода), а не просто программируют.

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

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

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

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

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

Я слышал о сокращениях в хороших аутсорс-студиях и в крупных компаниях с большим IT — это внушает опасения.

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

С командой из 13 человек, сейчас мы ведем четыре активных проекта.

1. Заканчиваем полный технологический перезапуск Вебиума — лучшей онлайн школы подготовки к ЕГЭ. В отличие от других школ, её выбирают сами подростки. Задача образовательного движка: чтобы школьникам было удобнее учиться, а наставники и преподы успевали больше, но ошибались и уставали — меньше. Это большой и старый Ruby-монолит, который мы бесшовно перезапускаем на новом стеке. Мы уже перезапустили сайт с продажей курсов, в сентябре запуск новой образовательной системы. Проект длится почти год, перезапуск живого сервиса — это очень сложная задача, в сентябре отчитаюсь подробнее.

2. Запускаем новое медиа с нуля за 3 месяца. Надеюсь, что когда-нибудь смогу назвать его имя и похвастаться. Это уже второе медиа, которое мы запускаем с Федей технически в последние полгода, так что буквально «набита рука» :)

3. Ведем разработку нескольких модулей «Чайки». Чайка — это сеть клиник доказательной медицины. А ещё это IT-стартап, который делает свою собственную Медицинскую Информационную Систему, в которой хранится вся информация о пациентах. Каждый день в ней работают более 600 сотрудников клиник. Здравоохранение — огромная индустрия, в которой непочатый край работы для IT и разработки. Нам крупно повезло с заказчиком — мы встроились в продуктовую команду Чайки и с их помощью разбираемся в медицинской тематике. Часть систем будут Open-source, так что о них вы услышите ещё не раз.

4. Ещё у нас есть «консалтинговый проект», где мы помогаем компании создать внутреннюю команду мобильной разработки и забрать развитие мобильного приложения от аутсорса. Это классные ребята из Канады, которые сделали самый популярный сервис подготовки к сдачи теории на водительские права в США — Driving-Tests. Сервис настолько популярный, что у них в отзывах жалуются на работу местных государственных отделов DMV, где проводятся экзамены (что, конечно, не часть их бизнеса). На этой же технической платформе работают ещё несколько сервисов — для подготовки к экзамену на звание медсестры и на сдачу bar exam, чтобы стать юристом. Собрали для них маленькую и классную команду — ребята сейчас перенимают код. Расскажу потом подробнее, красивая история и четко раскладывает, из чего состоит современная разработка мобильных приложений.

Уф, давно не делился новостями бизнеса, так что такой вот отчетный пост; надеюсь, не слишком занудно получилось!

Сегодня подвели итоги AI-хакатона от Ани Булдаковой. Больше тысячи участников из 80 городов, онлайн и офлайн!

Я как член жюри отсмотрел около 20 работ. На масштабе заметил, как сложно участникам четко сформулировать ключевую гипотезу проекта и сфокусированно её проверить. Финалисты выделялись именно этим умением не разбрасываться, а сделать ключевое.

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

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

Спасибо Ане Булдаковой за организацию, а всем участникам — за участие. Надеюсь, что не последний! Запись трансляции финала — на ютубе.

P. S. Кажется, что для меня лично главное — это как классно потусили с жюри ❤️

Написал «военное коммюнике» коллегам. Удалил из него одну секретную историю, номера телефонов и делюсь с вами.

Интересно, что пишут руководители других российских IT-компаний? До меня дошли слухи, что у некоторых компаний были очень хорошие письма вчера для сотрудников.

Upd: коллеги в чате поделились ссылкой на vc, где собрали похожие письма.