«Мне комфортнее в маленьких компаниях». CTO Андрей Листочкин — о карьере, фейлах, выборе работодателей и развитии

Андрей Листочкин в программировании уже 14 лет. Он начал свою карьеру с разработки на Java, а со временем перешел на JavaScript. Андрей успел поработать на французский банк, разрабатывал браузер Opera для iPhone и первых Android, создавал веб-приложение для диагностики рака, сотрудничал и с американскими, и с украинскими компаниями, среди которых Grammarly и Wix.

Сейчас Листочкин — CTO небольшой компании Viravix из Украины. Она занимается установкой промышленного оборудования для украинских компаний и создает софт для его мониторинга. Также Андрей активный участник украинского IT-сообщества, спикер и соорганизатор конференций KyivJS, RustFest и RustUkraine, член программного комитета JS FWDay.

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

О себе

Начало профессионального пути

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

Потом совершенно случайно познакомился с Java. В 2007 году все программировали на Turbo Pascal или на Delphi, думали, что самый крутой язык в мире — это C++, а самая крутая среда для разработки — Borland C++ Builder. Я знал парня, у которого был диск с C++ Builder. Прибежал к нему и говорю: «Слушай, Дима, дай мне диск». А он мне отвечает: «У меня его забрали. Но есть диск, который называется JBuilder, где вместо C++ — Java. Там такие же скобочки, ты потом разберешься».

Я взял диск и пошел домой разбираться. Оказалось, что на нем лежал C++ Builder и документация по Java. Ни туториалов, ни книжек — ничего такого не было, просто документация, в которой объясняется, как работает этот язык. Так я выучил Java.

После учебы начал искать работу в Иванове. В то время в 2007 году в городе была одна компания, которая делала сайты на ASP.NET, и еще несколько компаний, которые писали на PHP. Конечно, я хотел попасть к дотнетчикам, но меня не взяли потому, что я не знал SQL достаточно хорошо. Поэтому устроился в PHP-контору. Гендиректор компании — англичанин, который переехал в Россию к своей будущей жене и создавал сайты для своих друзей из Англии. Моя первая должность здесь называлась просто «программист». Там я готовил сайты на PHP, научился пользоваться Firebug и делать AJAX-запросы — и так стал программировать.

В Иванове заниматься Java возможности не было, поэтому в 2007 году я уехал в Москву работать в банке. В Москве рынок IT не такой, как в Украине: в банках платят больше, чем, например, в Yandex, поэтому много хороших специалистов работают именно в этой отрасли. К тому же учреждение французское, и мне сразу предложили поехать в командировку в Париж. Конечно же, я согласился. Так я провел во Франции пару месяцев.

Когда вернулся из Парижа, получил приглашение на собеседование из московского офиса Google. Оно длилось с утра до вечера, потом были звонки и технические собеседования. Всего я прошел 8 или 9 интервью, но в результате меня не взяли. Было очень обидно, ведь я потратил на это много времени. И я решил поискать новые возможности.

Opera

В 2007 году я пользовался браузером Opera и почему-то решил зайти на их сайт и посмотреть вакансии. Они так красиво описали возможность переехать к ним в Осло, что я решил податься. Написал скромное резюме в стиле «я умею программировать, но это ещё не доказано» и очень проникновенное письмо о том, почему хочу стать частью команды. Мне было интересно узнать, как работает браузер изнутри. В то время уже был FireFox, появился Google Chrome, но я понял, что на Java я смогу программировать только в Opera. Поэтому хотел туда. Меня позвали на собеседование и через год я переехал в Осло работать в Opera, где на Java писал браузер Opera Mini.

Интересно, что в Норвегии зарплата программиста не сильно отличается от зарплаты, например, электрика. Поэтому из местных в IT идут те, кому это действительно интересно.

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

Я проработал в Норвегии два года. За это время мы сделали версию Opera для iPhone и первых Android. Было хорошее время, чтобы что-то в жизни поменять, и я это сделал — переехал в Украину к своей будущей жене. Мы познакомились онлайн, общались, я ездил к ней. Был период, когда я каждый месяц летал между Осло и Днепропетровском. Переехать ко мне она не могла: мы были не женаты, а только встречались. По норвежскому законодательству я должен был проработать в стране три года, сдать экзамен по норвежскому языку, получить постоянный вид на жительство и только после этого мог пригласить переехать свою девушку. У нас был вариант вместе перебраться в Швецию, так как там тоже есть офис Opera. Но в какой-то момент я подумал: «Я ничего не потеряю, если перееду в Днепропетровск». И переехал.

Мой путь в профессии начинался с Java, но вскоре моим вторым языком стал JavaScript. Еще во времена работы в банке был очень интересный период в отрасли, когда на фронтенде все менялось. Условно, если бизнес хотел поменять что-то в своей работе, лучше всего было делать это на JavaScript. Поэтому я принял решение перейти на него. Это происходило постепенно — практически на всех своих проектах я программировал и на Java, и на JavaScript. Только с 2016 года перешел полностью на JavaScript.

ISD

С Opera пришлось уволиться, так как в те времена удаленная работа не приветствовалась. Об украинском IT я пока что ничего не знал, было ощущение, что здесь ничего не происходит: ни хорошего, ни плохого. Подруга моей жены работала в Ciklum, поэтому я решил пойти туда на собеседование. Меня сразу же взяли. Заказчик переплатил мне за мой идеальный английский и знания на фоне остальных кандидатов, но на самом деле ему нужен был человек не такой высокой квалификации. И, когда оказалось, что у заказчика через несколько месяцев заканчивались деньги, мы с ним спокойно распрощались. После этого я стал целенаправленно искать работу.

Устроился в ISD, которая занимается написанием медицинских систем для лабораторий и анализов ДНК. Компания считается кузницей кадров, куда обычно приходят люди после университета, пару лет набираются опыта и убегают в аутсорс. Но я пришел туда с опытом и начал работать с очень интересным проектом, связанным с диагностикой рака. Мы делали приложение для врачей-патологов. Оно показывало сверхбольшие фотографии, сделанные электронным микроскопом. Чтобы их отобразить, снимки нужно было нарезать на кусочки по принципу, похожему на то, как Google Maps показывает мозаику фотографий со спутника.

Я проработал в ISD год, довел проект до хорошего состояния, и мы вместе с женой решили переехать в Киев.

Grammarly

В Киеве у меня было несколько офферов, но я выбрал Grammarly, потому что мне понравился их тогдашний VP of Engineering Георгий Серебренников. Мне показалось, что после написания системы для диагностики рака создавать приложение, которое подчеркивает ошибки в предложениях — это несерьёзно. Но поработать с интересными людьми хотелось. Я пришёл туда и возглавил команду, которая занималась техническим маркетингом и инфраструктурой в целом. Мы полностью отвечали за сайт и за редактор по проверке грамматики: и подписки, и биллинг, и отправка имейл-рассылок. Наша задача была не столько в том, чтобы растить техническое ядро Grammarly, сколько в том, чтобы растить продукт — сделать его удобнее, лучше и увеличить количество пользователей.

Через два года в Grammarly у меня появилась идея, что я могу быть не штатным сотрудником компаний, а консультантом. Хотелось прийти на проект, что-то сделать и уйти вместо того, чтобы задерживаться там долго. Мне нравилось выполнять короткие задачи, которые тут же приносили результат. Но на практике оказалось, что постоянно так работать сложно: ты вовлекаешься, появляется желание остаться, но у тебя уже есть договоренности с другими проектами, и нужно уходить. В 2016 году мне надоел такой формат, и я начал искать постоянную работу.

OneReach

Устроился в OneReach — компанию, которая делает сложные Business Workflow и телефонные системы. Например, один из наших клиентов — сервис, который соединяет между собой рабочих разных специальностей по всех штатах Америки. А еще компания, которая предоставляет помощь на дороге в случае, если, скажем, пробило колесо. Связь держат через нашу телефонную систему.

Это была одна из моих самых интересных работ и компания, в которой я задержался дольше всего — почти на три года. Пришел туда как UI Developer, но переключился на DevOps, а после этого писал нашу собственную систему для IP-телефонии вместо того, чтобы пользоваться сторонними API.

Единственный неприятный момент был в рабочем графике: часто нужно было вставать в 4–5 утра и до 8 делать манипуляции на продакшен-серверах. При этом я был сонный и усталый. Наверное, это и стало главной причиной, почему я решил уйти.

Wix

Я понял, что больше не хочу работать на компании за океаном, и начал искать новое место здесь. Меня привлекла вакансия разработчика в Wix — компании, которая создает конструктор сайтов. Когда я шел на интервью, то не понимал, что там могут делать тысячи человек. Но оказалось, что внутри всё гораздо интереснее и сложнее. Например, в 2019 году был тренд на сайты инструкторов по йоге. Есть набор вещей, который всем им обычно нужен: форма регистрации, провод платежей, менеджмент клиентов и так далее. Так вот, чтобы сделать такой формат конструктора сайта, компания быстро собирает команду на бэкенде и разрабатывает.

В Wix я занимался UI-разработкой продукта Artificial Design Intelligence. Его идея в том, что пользователь пишет, какой у него бизнес или задача, а Wix генерирует под это сайт. Например, приходит фермер из Оклахомы, который сдает сельхозтехнику в аренду, а Wix создает ему сайт с нужным текстом и картинками с тракторами. Более того, запрос можно сделать несколько раз, и на каждый из них Wix сгенерирует совершенно разные сайты. Выглядит, как магия, а на самом деле за этим стоит огромная база контента и умная система, которая позволяет все это легко редактировать.

Если вы создаете сайт на платформе Wix, то получаете отдельно десктопную версию и отдельно мобильную. А на промежуточных устройствах — больших телефонах, планшетах — пользоваться сайтами на Wix неудобно. В 2019 году меня пригасили в команду проектировать принципиально новый редактор для создания сайтов с адаптивной версткой. Я добился того, чтобы альфа-версия этого редактора вышла в жизнь (продукт называется Editor X), и после этого ушел.

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

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

Конференции и личный бренд

С 2013 года началась моя карьера на конференциях. Это были времена, когда JavaScript-конференции только запускались: в 2012 году прошла KyivJS, а с 2013-го KharkivJS, LvivJS, OdessaJS. Почему я решил этим заняться? Еще когда я переехал в Москву и у меня появился интернет, я открыл для себя выступления британского ученого Саймона Пейтона-Джонса, который разработал язык программирования Haskell. Он очень весело и задорно преподносил информацию о том, как работает функциональное программирование. И я подумал: «Блин, я тоже так хочу». Мне стало интересно попробовать упаковать сложную и объемную информацию в простую и веселую форму.

Сначала думал, что начну выступать, когда стану седовласым дядей с бородой, как Саймон Пейтон-Джонс. Потом понял, что в этом берут участие люди совершенно с разным опытом. Желание выступить росло, поэтому решил написать ребятам из JavaScript Frameworks Day. Накатал им длинное письмо на английском языке о том, кто я такой и о чем хочу говорить. Меня позвали на прогон, где я рассказал свой доклад, с ним и выступил. Мне понравилось, участникам конференции тоже — после нее меня обступила куча народу и начали задавать вопросы. Так я понял, что хочу продолжить.

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

Viravix

В марте 2020 года я перешел в небольшую промышленную компанию Viravix, которая занимается установкой, монтажом и наладкой промышленного оборудования. Хоть это и не софтверная компания, мы делаем софт для управления датчиками и сенсорами. Также разрабатываем систему для учета задач сотрудников. Viravix пригласил меня стать CTO.

О смене мест работы и идеальных собеседованиях

За свою карьеру я часто менял работу. Частично это связано с личными обстоятельствами — отношения, переезды. А частично с тем, что я там достигал определенного результата, и мне становилось интересно двигаться дальше.

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

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

Мне всегда было интереснее, что я создаю и для кого, а не как.

Самый большой фейл

Провалов в моей карьере было много, самый большой и запоминающийся случился, когда я работал в банке в России. Команда задеплоила проект, чтобы потестировать его, а дейлой в банке занимает четыре часа. Рано утром в Новосибирске внезапно перестали работать все системы в банке. Начался рабочий день, мы с командой разработчиков пришли в офис и узнали, что все «остановилось». Стали искать проблему и нашли ее в моем коде. Оказалось, для того, чтобы протестировать одну фичу, я выключил все остальное. Ошибку исправили за 10 минул, а деплой занял еще четыре часа. В Новосибирске банк не работал целый день, а в Москве — полдня. В тот день мы потеряли около миллиона долларов. У нас это называлось «уронить банк».

Самое смешное, что за время работы там я трижды «ронял банк». В этом меня считали самым опытным человеком в команде (смеется). С тех пор у меня осталось ощущение, что я слишком дорого стоил банку, хотя, конечно, на моем коде они заработали больше.

Роль и обязанности

Я никогда не гнался за тайтлами, но понимал: голова у меня работает так, что переход на позицию CTO рано или поздно состоится. Еще в 2018–2019 годах я получал предложения от нескольких компаний и предпринимателей, но занял эту позицию только в Viravix.

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

У нас маленькая компания с большим количеством контракторов. В штате два разработчика — я на позиции CTO и инженер, который и собирает «железки», и программирует их на С++ и JavaScript. Также сотрудничаем с аутсорсинговой компанией в Харькове, которая делает для нас UI, и с фрилансерами по разным задачам. Общее количество людей на проекте не превышает 15 человек, но далеко не все работают фултайм и постоянно.

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

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

Также интересно то, что процесс delivery очень растянутый. Прежде чем начинать собирать данные, нужно приехать на место, поставить датчики, «железки», убедиться, что там есть нормальный интернет, питание и так далее. Есть такое понятие, как промышленный логический контроллер (ПЛК). Датчики отправляют данные в ПЛК, там происходит простой процессинг, и потом данные улетают дальше на бэкенд. Датчики у нас все сторонние, а ПЛК — 50/50. Кому-то из клиентов мы ставим уже доступные на рынке устройства, кому-то — собственные. Например, у нас может быть готова одна часть «железа», а остальное разрабатываем сами. Далее заказываем корпуса и платы. И потом нужно найти компанию, которая могла бы нам спаять 50 одинаковых печатных плат. Или ту, которая встроит эти платы в корпуса. Или внезапно может оказаться, что, на самом деле, самый лёгкий способ, чтобы провести питание, — это USB Type C. Нам нужно 50 зарядных устройств для телефонов, и они едут где-то по «Новой почте».

Типичный рабочий день

Мой день начинается в 7–8 утра, когда меня будит попугай (по утрам ему становится скучно). Если во время работы на американскую компанию я стартовал в 12 часов дня, а заканчивал в 10 или 11 вечера с перерывами в середине дня, то сейчас я начинаю в 9 утра, а заканчиваю в 6–7 вечера. Так намного комфортнее.

В 7–8 утра начинаю работать, а в 9 у нас с командой стендап, затем в течение часа звонки. Команда у нас небольшая, но разговорчивая. Поэтому мы решили, что хотим общаться голосом, если нужно что-то обсудить, также включаем камеру. Только результат встреч записываем текстом, а все общение голосовое.

После стендапа я обычно завтракаю. Эта привычка осталась со времён работы в США, потому что в то время утро было нашим личным временем с женой. Если хотели встретиться с друзьями, которые тоже работали на США, договаривались на 9–10 утра. После завтрака, часам к 11, я приступаю к задачам. В основном работаю дома, также у нас есть офис, в который я периодически приезжаю, чтобы пообщаться с CEO.

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

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

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

По вечерам в сезон конференций занимаюсь подготовкой к ивентам. Сейчас я в программном комитете конференции Frameworks Days, поэтому мы часто созваниваемся по организации события, иногда мне нужно позвать спикера, послушать чей-то доклад или подготовиться к своему.

В обычные дни я работаю по 9–10 часов, иногда меньше, но все, что не успел сделать, компенсирую на следующий день. Такой график мне не в тягость. Я привык давать компании как можно больше. Но у меня есть золотое правило: выходные всегда без работы. Делаю себе такие разгрузочные дни.

Инструменты и продуктивность

Самый главный инструмент рабочей коммуникации у нас — Microsoft Teams. Обязательно созваниваемся только голосом.

Для планирования и постановки задач используем Jira. Но, если задач много, дополнительно выписываю их по пунктам в текстовом редакторе. Если в течение дня что-то не успел, вкладка переносится на следующее утро. Все встречи и звонки фиксирую в календаре. Раньше, когда были модные всякие to do листы, я перепробовал почти все: записывал туда задачи на день, но все заканчивалось тем, что мне было лень открывать приложение снова. А текстовый редактор всегда перед глазами.

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

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

Книги и самообразование

Я очень люблю читать об истории возникновения технологий или парадигм в программировании, например, как появился язык Smalltalk. Его уже не используют, но это основа объектного программирования. В таких книгах мне интересна не техническая составляющая, а история создателей: как они встретились, почему договорились этим заняться, что в это время происходило в индустрии. Я считаю, что разработка — это на 80% общение и только на 20% качество самого кода.

Мне нравится читать материалы Computer History Museum. Они находят старые документы или людей, которые помнят, как создавалась та или иная технология, и рассказывают истории тех, кто за этим стоит. Советую почитать Coders at work — это серия интервью с важными игроками из индустрии, например в книге Брендан Айк рассказывает, как он создавал JavaScript.

Временами погружаюсь в художественную литературу, в основном в научную фантастику о человечестве и философии развития цивилизации. Интересно наблюдать за тем, как люди действуют в ситуациях, невозможных в повседневной жизни. Одна из любимых книг — «Полдень ХХІІ век» Стругацких. События происходят в 22 веке, когда человечество пытается построить идеальное коммунистическое общество. Лично для меня эта книга о том, что необязательно работать ради денег или ради самой работы и даже самые скучные задачи становятся интересными, когда понимаешь, зачем ты это делаешь.

Ретроспектива

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

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

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

Похожие статьи:
Всем привет! В этом номере вы найдете достойные, на мой взгляд, внимания и времени статьи за март-апрель, а также несколько более...
Єврокомісія проголосувала за закони «Про цифрові ринки» (DMA) та «Про цифрові послуги» (DSA), покликані боротися з монополіями...
Служба безпеки України повідомила про викриття масштабної шахрайської схеми, яка дозволяла «грабувати» українські банки...
За даними Єдиного державного реєстру юридичних осіб, фізичних осіб-підприємців та громадських формувань, кількість...
В выпуске: рассмотрим Docker/Kubernetes, почитаем про OpenTracing, сходим на конференцию, получим 100 баллов на Google Page Speed. Ссылки...
Яндекс.Метрика