Как возникла идея создать клуб?
CodeX был открыт в октябре прошлого года, но его прототип появился больше пяти лет назад, когда я, будучи студентом третьего курса, основал «Студию дизайна» в сотрудничестве с кафедрой графических технологий. Там мы занимались графическим и веб-дизайном, веб-разработкой. В студии занималось очень много ребят, чему есть объяснение. Ведь в нашем вузе всегда были различные спортивные и творческие секции, но не было объединения талантливых и увлеченных программистов, веб-дизайнеров и других «айтишников». Так что студия закономерно стала очень популярной.
Студия дизайна просуществовала два с половиной года, однако даже после ее закрытия люди продолжали писать мне с вопросами, будут ли еще встречи, где можно найти единомышленников и поработать над своими проектами. По правде сказать, идея возродить клуб была и у меня. Но сделать это нужно было с учетом предыдущего удачного опыта, исправив ошибки. Бренд нужен был новый.
Что особенного в CodeX?
Главное в клубе CodeX — это команда. Создать работающую команду молодых и амбициозных специалистов, объединенных стремлением к совершенству, эффективно выстроить рабочие процессы и создать идеологию самомотивации — самая сложная задача, намного сложнее всех наших проектов.
Мы работаем над реализацией собственных идей, учимся создавать проекты на всех уровнях: проектируем, разрабатываем, выводим на рынок, продвигаем, сопровождаем. И на каждом уровне стараемся выдержать довольно высокую планку качества: ориентируемся на ведущие мировые команды, такие как Telegram, GitHub, ProductHunt, Google, Facebook и других.
Помимо непосредственно работы, мы занимаемся исследованиями и экспериментами: тестируем различные идеи, изучаем технологии и подходы. Командой написано уже немало статей о нашем опыте — так мы заодно учимся грамотно излагать мысли. А еще мы проводим внутренние мастер-классы, презентации и конкурсы.
В клуб может попасть кто угодно?
Это зависит только от желания. На начальном этапе мы рассказываем новым кандидатам наши принципы и взгляды. Потом начинаем работать с небольших тестовых заданий, в ходе выполнения которых выявляются наиболее заинтересованные энтузиасты. Наличие опыта обязательно, но это, скорее, признак того, насколько человек стремится развиваться: получить базовые навыки в разработке или дизайне можно самостоятельно и довольно быстро, если много заниматься этим, как принято у нас в клубе.
Это значит, что участники клуба должны быть сильно мотивированы?
Да. Мотивировать человека может только он сам. Конечно, не у всех хватает заряда работать в нашем темпе и многие отсеиваются сами собой. В сентябре к нам приходят десятки людей, однако, если к лету в команде становится на 5−6 человек больше, такой набор можно считать успешным.
Мы изначально выстраивали взаимодействие в команде таким образом, чтобы работать можно было удаленно. Основная работа делается каждым участником самостоятельно. Все, что нужно иметь, — ноутбук и доступ к Интернету. Даже встречи можно проводить по Skype или Slack.
В процессе работы у студентов появляется много идей и предложений, часть из которых становятся нашими проектами. Автор идеи собирает себе команду из участников клуба и возглавляет ее.
В чем секрет успешной команды?
Всех участников команды должны объединять общая идея или принципы. От качества этой связи напрямую зависит результат работы команды. Но это не секрет. А секрет прост: нужно много работать. Не думаю, что наличие лидера — обязательное условие. Это может быть команда, где каждый человек — эффектная рок-звезда.
Расскажи о нескольких проектах, которые реализуются в CodeX
У нас есть внутренний принцип «коробочных» решений: любая разработка делается независимой, полноценной, задокументированной, оформленной и выложенной в открытый доступ. И нашими проектами уже пользуются на рынке.
Например, в начале прошлого года нам понадобился визуальный редактор для того, чтобы писать и оформлять наши статьи. Так появился проект CodeX.Editor. Этот редактор построен на новом принципе: на выходе он отдает не HTML-разметку с оформлением, как большинство существующих решений, а чистые данные в виде списка блоков текста, изображений, заголовков и других элементов. Такие данные можно выводить на сайте, в мобильных приложениях, различных читалках текста, Facebook Instant Articles и любых других клиентах — сейчас это очень актуальная задача для медиаизданий. При этом сам процесс оформления статей прост и приятен: работают привычные горячие клавиши, «мышь» можно даже не использовать. У редактора есть функциональное ядро, а все инструменты реализованы в виде плагинов, использующих API ядра. Таким образом, любой разработчик может написать собственные инструменты для редактора. Сейчас этот проект выложен в открытый доступ, и им уже заинтересовался ряд известных медиаизданий.
Один из самых активных членов нашей команды — робот CodeX.Bot. Это облачная платформа для интеграции различных сервисов в Telegram. Проект появился в результате внутреннего конкурса по созданию ботов для мессенджеров. Бот помогает нам в работе, присылает уведомления об изменениях кода, ошибках и других технических деталях. А по вечерам он рассказывает о том, сколько человек зашло сегодня на наш сайт. С помощью простых команд можно активировать необходимые процессы. Под «капотом» бота целый ряд интересных технических и архитектурных решений, позволяющих использовать наши сервера в качестве облака, — любая компания может просто добавить в свой рабочий чат @codex_bot и начать работу. Несколько команд уже используют нашего бота и присылают обратную связь.
Если кратко обозначить наиболее интересные нам в данный момент области, то в списке будут социальные сервисы, медиа и Accessibility — решения для людей с ограниченными возможностями. Наш вклад в последний пункт — проект CodeX.Special. Это скрипт, который позволяет «в один клик» добавить на обычный сайт версию для людей с нарушениями зрения. Результат будет соответствовать необходимым ГОСТам, при этом в нем сохраняется удобная навигация и красивый дизайн. Увеличение масштаба с помощью клавиш «CTRL+» зачастую приводит к неприемлемым изменениям дизайна сайта: колонки «съезжают», а изображения занимают половину экрана. К тому же это не решает проблему неконтрастных цветовых схем и такой способ не работает на телефонах и планшетах. Мы постарались решить эти вопросы. Проект может быть полезен для сайтов государственных организаций, которые по стандартам должны иметь версию для слабовидящих. Пусть она будет красивой и удобной. Хотелось бы также призвать разработчиков любых сервисов подумать об этом — пора делать шаг в будущее.
Один из самых сложных проектов под кодовым названием «Project Orion» — система анализа медиаповестки интернета. Как предсказать популярность статьи или определить важность новости в первые минуты после публикации — очень интересная техническая задача. Представьте, что вы могли бы получать уведомления о самых важных и серьезных событиях в течение минуты на свой телефон или другой канал связи. А если вы владелец медиаиздания, система подскажет, какие материалы стоит вывести на главную страницу или продвинуть в соцсетях.
Это лишь часть проектов, над которыми мы работали в прошлых месяцах. В этом учебном году будут новые истории. Но главный проект — это наша команда.
А в чем твой интерес заниматься со студентами? Ведь у тебя уже есть несколько успешных проектов…
Меня вдохновляют люди, которые воплощают свои идеи, которые работают не ради сиюминутной финансовой выгоды, а стремятся реализовать себя. Я сам, когда был студентом, постоянно что-то создавал, работал над своими идеями, изучал технологии, практически не спал. Найти близких по духу энтузиастов — большая удача. А если объединиться и создать работающую и амбициозную команду и задать высокие стандарты качества, то такая команда сможет свернуть горы. И пусть им не важна монетизация разработки, коммерческий успех качественного сервиса — это вопрос времени. Как бы наивно это ни звучало. Кроме того, я многому научился у клуба, узнал множество технических идей, познакомился с по-настоящему талантливыми людьми. Это уникальный опыт создания рабочей команды и решения бесконечного потока задач.
Какие планы по развитию клуба?
Мы не занимаемся продвижением в традиционном понимании, скорее, мы делаем, как говорит Павел Дуров, «партизанский пиар», то есть устраиваем различные акции и конкурсы, которые могут быть интересны и полезны. В декабре планируем провести конкурс разработчиков среди всех студентов Университета ИТМО. Возможно, в будущем будем приглашать на открытые мастер-классы известных разработчиков и дизайнеров.