Senior Frontend Developer с опытом работы 7+ лет. Знаю JavaScript и TypeScript, Node.js. Работал в продуктовых командах, фрилансером, предпринимателем. Также работаю по методологиям Agile и Scrum.
Работаю с Vue 2/3, React.js, Svelte и другими технологиями. Легко адаптируюсь к новым технологиям. Некоторые хайлайты:
• Эксперт в написании сайтов с нуля до полной функциональности — в одиночку создал 5 SaaS-платформ;
• Уделяю внимание скорости и постоянному улучшению показателей PageSpeed (95+ mobile / 95+ desktop). Мой проект входит в ТОП-3 Google (сложность ключевого слова 83).
• Быстро решаю срочные задачи - среднее время устранения critical'а в Jira ~1,4 часа.
Помимо работы реализовал много личных проектов. У одного из них >1 миллиона пользователей в месяц (MAU) — временная почта. Кроме того, разработал бота для Telegram, плагин Figma (инструмент «Лассо», как в Photoshop) и 4 расширения для браузера.
Работа над SaaS продуктом компании. Добавление новых фич, исправление багов, переписывание legacy кода и рефакторинг для перехода с Vue 2 на Vue 3. Работа с BFF.
• Реализовал скелетон - отображение серых анимированных блоков до загрузки контента с помощью SVG графики. Скелетон учитывает загрузку шрифтов на странице и синхронизируется с другими скелетами для плавного отображения контента. Процент выхода со страницы в первые 3 секунды уменьшился на ~6%, судя по аналитике;
• Добавил кеширование, версионирование и обновление аватаров пользователей при редактировании другими пользователями (через WebSocket). Пользователи не заметили изменений, но это значит что обновление работает как задумывалось :-)
• Ускорил загрузку главной страницы с помощью уменьшения размера шрифта. Собрал набор используемых на сайте символов, убрал лишнее и отключил неиспользуемые функции (subsetting + fallback font). Размер уменьшился на 66% - 84.7 KB вместо 128.
Работал над B2B платформой для автоматизации процессов в логистике. Добавлял новые и обновлял старые компоненты в Storybook’е.
Использовали Vue + Vuex. Работали по Scrum’у.
• «Прокачал» себя в архитектуре, потому что работали в режиме стартапа - разрабатывали новый на рынке продукт с нуля, без legacy и многочасового рефакторинга;
• Работал в команде, которая первой реализовала и запустила продукт компании, который сразу заработал и принёс первую прибыль;
• Разработал инструменты для службы безопасности. Так менеджеры компании проверяют и управляют документами пользователей в интерфейсе. А модераторы могут на время заходить под учетными записями пользователей для помощи и поддержки.
Работал над сайтами радиостанций холдинга и внутренним проектом 101.ru. Также участвовал в создании лендингов для спецпроектов и акций.
• Обновил сайт 101.ru с MPA на SPA (Single Page Application), чтобы при клике на ссылки не обновлялась вся страница. Теперь радио воспроизводится непрерывно. Судя по опросам пользователей это была главная проблема сайта, которую получилось исправить;
• Сделал редизайн 101.ru. Количество покупок платной подписки увеличилось на 17% после этого, судя по аналитике.
Работа в веб-студии. Делал лендинги, интернет-магазины, информационные порталы. Фронт писали на JavaScript, а вместо бэкенда использовали MODx CMS.
Студия маленькая - 5 человек. Это помогало принимать решения без многодневных обсуждений и решать вопросы за 15 минут. Опыт работы в таком коллективе научил быстро принимать решения и планировать задачи, учитывая сжатые сроки проектов.
Самым ярким было сотрудничество с Silk Way Rally (организуют гонки). Создал для них информационный портал и карту с информацией и позицией гонщиков, которая обновляется в реальном времени.
Я работал на площадке Upwork, где брал заказы на верстку, лендинги, браузерные расширения.
Интересные проекты:
• Лендинг с анимацией «полёта в облаках». В конце полета пользователь «прилетал» в здание с виртуальной реальностью (VR). По мере прокрутки двигалась анимация. Движение изображений (спрайтов) вычисляются с помощью JavaScript и CSS. Всё работает даже на медленных телефонах;
• Расширение для браузеров, которое записывает экран и голос (использовал WebRTC). Запоминает моменты клика мышью и транслирует голос в текст. Написал сервер для хранения записей и редактор, чтобы добавлять текст, фигуры, менять цвета. Придумал инструмент для размытия (blur) - из-за этого заказчик продолжил со мной работать. У других исполнителей не получалось это сделать.
Исправлял ошибки в поддержке пользователей в Zendesk.
Затем создавал новые страницы и функционал для SaaS-платформы.
• Улучшил процесс обработки заявок в Zendesk, что позволило сократить время на обработку и выполнение багов на 20%;
• Уменьшил время выполнение багов до среднего значения в 2,2 часа на задачу.
Получил степень бакалавра. Во время учёбы изучал:
• Низкоуровневое программирование (C, asm);
• Работу с терминалом (Linux, bash);
• Устройство ПК (процессоры, оперативная память, кэш и т.п.);
• Управление специальным учебным стендом с электронным устройством с помощью специализированного ПО;
• Писал диплом на тему защиты от майнинга в сети. То есть изучал принцип работы блокчейна, майнинга, правила лексического анализа (lex) и правила грамматического разбора (yacc) с помощью ЯП python.
Часть этих знаний я получил ещё до обучения, но после завершения учёбы ещё лучше узнал об уже знакомых технологиях, плюс узнал много новой информации.