Об истории создания HTML Academy и особенностях pitercss_conf

2018 · Подкаст · Frontend Weekend · выпуск 50

На первой pitercss_conf мы сознательно обошлись без JavaScript. А потом стало понятно, что мы сами провели довольно странную границу: интерфейс складывается из дизайна, HTML, CSS и JavaScript. Обсуждать его по частям можно, но исключать одну из них незачем.

Поэтому 8–9 июня мы делаем уже двухдневную конференцию и добавляем JavaScript. Нас интересует та его часть, с которой сталкивается пользователь: поведение элементов, взаимодействие, работа интерфейса. Хочется, чтобы к нам пришли и разработчики, которые обычно отмахиваются от вёрстки и дизайна.

Встретиться вокруг интерфейса

Я хочу собрать в одном месте людей, которые делают интерфейсы, но в повседневной работе не всегда понимают друг друга. Дизайнеру полезно знать, что умеет браузер. Разработчику — понимать, почему элемент выглядит и ведёт себя именно так. У нас хватает поводов спорить о границах профессий, хотя предмет работы общий.

HTML и CSS при этом не стали менее важными оттого, что JavaScript стал сложнее. Спецификации развиваются, появляются возможности, которые меняют и дизайн, и разработку. Те же вариативные шрифты — это разговор не только о красивых буквах, но и о загрузке страницы. Мне интересно, когда эти вещи оказываются рядом, а не расходятся по разным профессиональным мирам.

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

Не все готовы постоянно следить за тем, что происходит за пределами их специализации. Но хотя бы раз в год можно прийти и посмотреть, что изменилось в HTML, CSS, дизайне и типографике. Мне хочется, чтобы после конференции у человека появлялись идеи, которые он сможет применить в своей работе.

С оформлением тоже играем. В прошлом году превращали имя участника в шестнадцатеричный цвет: на каждом бейдже было своё большое цветовое пятно. В этом году делаем более сложную генеративную графику. JavaScript появился не только в программе. Отправили оформление на «Бизнес-линч» Лебедева и получили короткое «Норм». Надеялись, конечно, на более развёрнутый разговор.

Из разработки в управление

Первую работу я нашёл без большой стратегии: взяли программистом — пошёл работать и разбираться. Потом была ещё одна компания, а в середине двухтысячных мы со школьными друзьями начали делать сайты. Один находил заказы, другие занимались разработкой. Так появилась веб-студия Serenity, которая постепенно выросла в маркетинговое агентство. Я провёл там почти десять лет.

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

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

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

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

Как мы оказались в Академии

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

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

Я ушёл позже, когда мы с партнёром разошлись во взглядах на дальнейшее развитие агентства. Это случилось перед Новым годом. После праздников собирался писать резюме, а потом подумал: почему бы не поработать с Сашей? Спросил, не нужен ли ему человек. Так мы и начали вместе делать Академию. Заранее спланированного перехода из агентства в образовательный бизнес у меня не было.

Название HTML Academy придумал Саша, когда всё ещё ограничивалось курсами по HTML. Несколько лет назад мы обсуждали, не пора ли его менять: предметов стало больше. Но название уже узнавали, а буквальное совпадение со всем содержанием компании ему необязательно. Продавать другие курсы оно нам не мешает.

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

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

Попробовать, прежде чем менять профессию

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

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

Основная наша аудитория — молодые взрослые, но приходят и школьники, которым обучение оплачивают родители, и люди сорока-пятидесяти лет, решившие сменить профессию. Сам по себе возраст здесь не повод отказываться от попытки.

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

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

Курс приходится переделывать

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

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

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

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

Кто проверяет наставника

У нас около 400 наставников. Каждый проходит собеседование на конкретный курс. Недостаточно сказать: «Я десять лет работаю и у меня всё получается». Нужно ещё объяснить, почему получается, как устроено решение и что произойдёт, если его изменить.

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

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

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

Отзывы студентов помогают увидеть проблемы и в программе, и в заданиях, и в работе наставника. Но решение остаётся за компанией. Нельзя переслать человеку жалобу со словами: «Студенту ты не понравился, поэтому мы с тобой больше не работаем». Нужно самим разобраться и объяснить, что произошло.

Есть и менее формальная сторона. У студента что-то не получается, он расстраивается и решает, что программирование не для него. Иногда наставнику достаточно сказать: «Это нормально, я тоже через это проходил. Давай попробуем ещё раз». Нам хочется развивать сообщество наставников и помогать им не только с техническими вопросами, но и с такими разговорами.

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

Между выпуском и первой работой

500 выпускников, живущих в разных городах, нельзя трудоустроить так же, как группу из 20 человек рядом с офисом. У нас есть бесплатная база выпускников для компаний. Мы предварительно проверяем работодателей, чтобы доступ получали реальные компании. По моей оценке, ею пользуются уже около 300 организаций. Есть и отдельная платная услуга подбора, когда мы помогаем с поиском кандидатов.

Примерно полгода назад запустили «Лигу А». Там выпускники работают над настоящими заказами, в командах, и получают тот опыт, которого им не хватает после учебного проекта. Это пока молодая история, и я не готов подкрепить её эффект подробной статистикой трудоустройства.

Отдельные истории уже есть: выпускники находят работу, возвращаются к нам наставниками, рекомендуют Академию коллегам, поступают в Школу разработки интерфейсов Яндекса. Но из этих примеров нельзя вывести обещание, что с каждым будет ровно так же. Нам ещё предстоит научиться лучше видеть, что происходит с человеком после курса.

Картинка как в кино, звук как на радио

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

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

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

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

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

У нас вообще бывают вечера, когда после работы остаёмся играть на компьютерах или приставке. Особенно после напряжённых периодов, когда проходят сотни защит. Это не расписанная корпоративная программа отдыха: люди остаются, потому что им хочется побыть вместе.

Академия на английском

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

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

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

Сообщество и собственный сайт

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

С личным сайтом похожая ситуация. Он давно стал скорее визиткой с контактами. Когда-то я много писал, потом появились другие занятия. Лента из Twitter обновляется автоматически, а интеграция с Instagram сломалась после изменений API и пока ждёт своего часа.

При этом я могу довольно придирчиво относиться к тексту и оформлению. Люблю последовательность в типографике, пишу «ё». Телефон уже выучил это настолько хорошо, что иногда исправляет «все» на «всё» там, где не надо. Мне нравятся правила, которые можно увидеть и понять. Хуже, когда правило существует только у кого-то в голове, а остальные должны о нём догадаться.

Что остаётся вне работы

Борода появилась после одного из ноябрьских Movember и осталась. Ежедневно бриться мне не нравится. Теперь раз в две недели захожу к барберу под офисом, трачу минут пятнадцать — и вопрос решён.

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

Со «Звёздными войнами» связь вышла случайной. У меня на ноутбуке была наклейка с принцессой Леей и фразой «Мой папа взорвёт твою планету». Посмотрел на неё, вспомнил имя, предложил — понравилось. Алёна не поклонница саги, и намерения назвать дочь именно в честь персонажа у нас не было.

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

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

Не замыкаться на своём инструменте

К войнам фреймворков отношусь спокойно. Для бизнеса важнее, решает ли инструмент задачу. Мне по-прежнему близка идея опираться на HTML, CSS и возможности самой платформы. Из фреймворков, наверное, посмотрел бы на Vue, но это не означает, что React мне чем-то принципиально не подходит.

С зарплатами у меня более спорное мнение: петербургский рынок кажется перегретым. Если прикидывать приемлемые суммы для джуна, мидла и сеньора, я назвал бы примерно 40–60, 80–100 и от 150 тысяч рублей. Но это мои ощущения, в том числе представление о собственных расходах, а не исследование рынка.

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