Frontend Tech Lead / Team Lead
Батуми, ГрузияСеньор • Тимлид/Руководитель группы • Архитектор
Релокация • Удаленная работа
Опыт работы более 5 лет350 000 ₽
Опыт работы более 5 лет350 000 ₽
Есть файл резюме (защищен)
Короткая ссылка: gkjb.ru/guD1
О себе
На данный момент Lead Engineer.
Мои компетенции и опыт
Удалённо · GMT+4, Грузия · штат или B2B-контракт (оформление через Грузию, Армению или Сербию) · готов выйти через две недели после оффера · Telegram: нужен доступ к резюме · нужен доступ к резюме
О себе
В коммерческой разработке с 2008 года; больше шести лет руководил командами из 3–6 человек — в Northyard, «Узнать штрафы.ру», Bringo и iGaming-компании. Совмещаю руководство с инженерной работой: проектирую архитектуру и сам пишу ключевые части систем, распределяю разработку в команде и веду её через код-ревью. В Bringo разработчики, которых учил код-ревью, стали основными ревьюерами отдельных продуктов, а в iGaming-компании команда продолжила развивать продукт на моей архитектуре. Вёл команду сервисов «Узнать штрафы.ру» с аудиторией в десятки миллионов пользователей в месяц, был техлидом frontend в Bringo и с нуля спроектировал модульный frontend B2B-платформы в iGaming-компании. Несколько раз переводил продукты на новую архитектуру по частям и без остановки разработки. В Simplinic написал на WebGL ядро 3D-модуля, которое использовалось в четырёх внедрениях.
В 2026 году за девять месяцев построил для ритейлера и ввёл в эксплуатацию внутреннюю платформу, в которой отделы компании ведут товары, процессы и аналитику. В её основе — собственное версионируемое хранилище и типизированный язык правил, формул и запросов: уже при публикации компилятор доказывает, что формулы не дают недопустимых значений, а данные, нарушающие правила, система не сохраняет. Сотрудники каждой роли работают в своём интерфейсе на Angular и видят только нужную им часть данных. Проект вёл вместе с C-level и руководителями отделов: с ними определял требования, приоритеты и порядок внедрения, а архитектуру и разработку взял на себя.
Лучше всего работаю на сложных продуктах, где нужно одновременно вести команду, проектировать архитектуру и напрямую работать с бизнесом. Ищу роль Frontend Tech Lead / Team Lead, в которой веду команду и сам пишу ядро продукта. Основной стек — TypeScript, React, нужен доступ к резюме , Angular, нужен доступ к резюме
Опыт работы
Ритейлер (NDA) · e-commerce и офлайн-розница · контракт
нужен доступ к резюме — настоящее время · Lead Engineer
Данные отделов хранились в разных местах и форматах, с дублями, ошибками и противоречиями, а правила и процессы постоянно менялись. Бизнес решил строить собственную единую систему, в которой сам меняет данные, связи и процессы, а платформа не сохраняет и не публикует изменения, нарушающие заданные правила. По контракту отвечал за систему от требований до эксплуатации. За девять месяцев, к октябрю 2026 года, система вошла в эксплуатацию; сейчас передаю её штатным инженерам вместе с автотестами и технической документацией. Название компании — под NDA: она не афиширует внутреннюю разработку. На финальных этапах отбора компания готова дать контакты и рекомендации.
- Вёл проект в постоянной связке с бизнесом: с C-level и руководителями отделов определял требования, приоритеты и порядок внедрения, а внедрение по отделам проводил вместе с их сотрудниками. Ядро системы (хранилище, язык и модель данных) написал сам, рутинный код и часть интерфейса — с помощью ИИ-инструментов.
- Маркетинг, дизайн, продажи и служба сервиса уже ведут в системе товары, процессы и аналитику, внедрение по отделам продолжается. Отдельные операции этих отделов, например оформление товаров и ведение соцсетей, стали занимать часы вместо дней.
- Frontend системы написал на Angular (Signals, RxJS): у каждой роли свой рабочий интерфейс, а ошибки и конфликты интерфейс показывает ещё до сохранения. Права доступа настраиваются вплоть до полей и переходов процессов, и недоступные роли данные не видны нигде, даже в истории изменений.
- Спроектировал и с нуля написал версионируемое хранилище данных: вместе с данными версионируются схемы и процессы, любое изменение можно откатить, а при смене схемы данные остаются валидными.
- Разработал собственный язык (DSL) со строгой системой типов, выводом типов и алгебраическими типами данных: на нём описываются правила для данных, схем и процессов, формулы и запросы, поэтому новые правила и процессы добавляются без изменения кода платформы. Для администраторов процессов написал руководство по языку.
- При публикации схемы или процесса компилятор доказывает, что формулы не дают недопустимых значений, а условия полны и не пересекаются; при каждой записи данные проверяются по типам и инвариантам, и запись, которая их нарушает, не сохраняется.
- Для работы с медиафайлами написал на Rust небольшой сервис с генерацией превью для разных форматов.
Стек: TypeScript, Angular (Signals, RxJS), Vite, нужен доступ к резюме , Express, SQLite, REST, WebSocket, nginx, Linux, CI/CD, Vitest, Playwright, Rust · versioned data store, data versioning, DSL, type system, static verification, role-based access control, AI-assisted development
iGaming-компания (NDA) · B2B-платформа
нужен доступ к резюме — нужен доступ к резюме · Frontend Tech Lead / Team Lead
Каждому потенциальному клиенту новой B2B-платформы нужно было показывать собственный вариант продукта, со своим дизайном и набором функций, но без отдельной копии кода под каждого. Под эту задачу с нуля построил frontend платформы и собрал frontend-команду; отвечал за архитектуру, команду из трёх разработчиков и процессы разработки. К концу 2025 года продукт дошёл до демо и пилотов, а команда продолжила развивать его на заложенной мной архитектуре. Название компании и детали продукта — под NDA.
- Спроектировал архитектуру, написал основную часть frontend-ядра и распределял разработку в команде. Продукт собирается из модулей по конфигурации, поэтому новый вариант для клиента не требует копирования кода. Модули связаны строго типизированными контрактами, конфигурация тоже проверяется типами, а поддержка A/B-тестов встроена в ядро.
- Разделил бизнес-логику, представление, UI-kit и темы, чтобы внешний вид модуля можно было заменить, не трогая его логику. Контракты с API описаны в Protobuf и валидируются во время выполнения.
- Руководил командой: участвовал в найме и технических интервью, планировал спринты, проводил встречи 1:1 и составлял планы развития, делал код-ревью всех изменений. Ввёл правила работы с кодом и тестами: TypeScript strict, unit- и e2e-тесты в CI.
- Выстроил работу frontend-команды с дизайнерами, аналитиками, mobile-, BFF- и QA-командами, а вместе с DevOps отвечал за локальное окружение и развёртывание frontend в CI/CD.
Стек: TypeScript, React, нужен доступ к резюме , Zustand, Zod, gRPC, ConnectRPC, Protobuf, Buf, Vitest, Playwright, Lokalise, GitLab, Docker · modular architecture, config-driven build, A/B testing, UI-kit, theming, runtime validation, Scrum
Bringo Group LTD · мультипродуктовая компания
нужен доступ к резюме — нужен доступ к резюме · Frontend Team Lead
Был техлидом frontend всей компании: отвечал за архитектуру, выбор стека, процессы, приоритеты и найм, частично — за backend, CI и окружения. В прямом подчинении — до 6 человек, в косвенном — специалисты смежных направлений. Руководство совмещал с разработкой: в части проектов был тимлидом, а в четырёх продуктах компании и на демо-сайте — основным разработчиком. Это RegTech-сервис с платящими B2B-клиентами, Telecorn (беспроводные модемы для бизнеса; его вёл преимущественно в конце, перед релизом), криптопул Findchia, MVP JetsNode для частной авиации и нужен доступ к резюме — демо-сайт компании, в основном для выставок.
- Собрал команду: проводил собеседования на позицию senior frontend, наладил планирование, ввёл стандарты качества и правила работы с Git, улучшил процесс код-ревью. Менторил разработчиков: те, кого учил код-ревью, стали основными ревьюерами отдельных продуктов.
- Вёл frontend RegTech-продукта на открытых данных о компаниях Великобритании и ЕС: финансах, владельцах, директорах, судах. В поисковом индексе было не менее 10 млн компаний, у продукта были B2C-доступ и платящие B2B-клиенты. Фасетный поиск работал по 50+ параметрам, с сохранёнными фильтрами, состоянием в URL и фоновым экспортом полного результата.
- Перевёл продукт на нужен доступ к резюме с собственного SSR-сервера ( нужен доступ к резюме ), который раньше сам написал в расчёте на высокую нагрузку: она не появилась, а поддержка собственного сервера обходилась слишком дорого. Переход шёл по частям и без остановки разработки: маршруты постепенно переключались на новую реализацию, пока старый сервер не вывели из эксплуатации. После перехода онбординг новых разработчиков стал заметно проще.
- Написал общий для нескольких проектов gRPC-клиент, с которым нарушения контрактов frontend и backend находились ещё до релиза. Первый слой генерировался из Protobuf, второй проверял совместимость контрактов и давал строгую типизацию и Zod-валидацию запросов и ответов.
- Frontend и backend использовали общий пакет сгенерированных типов, а branded (nominal) types делали идентификаторы разных сущностей несовместимыми на уровне компилятора. Добавил mock backend, чтобы frontend можно было разрабатывать до готовности API.
- Telecorn, беспроводные модемы для бизнеса: на финальной предрелизной стадии провёл аудит и ревью кода, нашёл проблему, блокировавшую релиз, внёс архитектурные правки и исправил ошибки, найденные при приёмочном тестировании.
- Findchia: сделал механизм отложенных выплат криптопула сотням майнеров: балансы накапливались и выплачивались по порогу или по времени, до 500 выплат объединялись в одну транзакцию, а при всплесках комиссий в сети выплаты откладывались ещё дальше, что снизило сетевые комиссии на реальных операциях.
- JetsNode, частная авиация: с командой сделали MVP дочернего продукта компании — от поиска до заявки оператору, с общей кодовой базой для B2B и B2C. Продукт работал на демонстрационных данных и на рынок не вышел.
- нужен доступ к резюме , демо-сайт для выставок: руководил проектом и командой из пяти человек, в основном нетехнических специалистов, а разработку вёл сам. Довёл проект от дизайна и 3D-макетов до запуска. Подобрал баланс качества и размера кадров 3D-анимации, для мобильной версии сделал отдельные, более лёгкие кадры и настроил их параллельную загрузку с нескольких доменов. Начало анимации ускорилось примерно на 30%.
Стек: TypeScript, React, нужен доступ к резюме , Zustand, React Router, styled-components, нужен доступ к резюме , Express, SSR, gRPC, gRPC-Web, Protobuf, Zod, code generation, Webpack, Vite, Jest, Storybook, Sentry, CI/CD · branded types, runtime validation, design system, atomic design, faceted search, ACL, mock API, AVIF
ООО «Узнать штрафы.ру» · проверка и оплата штрафов и налогов
нужен доступ к резюме — нужен доступ к резюме · Team Lead
Сервисы с аудиторией в десятки миллионов пользователей в месяц. Руководил командой из трёх frontend- и двух backend-разработчиков в матричной структуре: часть команды одновременно подчинялась руководителям других направлений.
- Основная инфраструктура периодически отказывала, отдельные сбои длились до часа. Предложил и реализовал схему, при которой edge nginx отдавал почти всю статику и фрагменты HTML из кеша, а динамика подключалась через SSI. Кеш обновлялся в фоне, пользователь сразу получал ответ из кеша, после перезапуска nginx кеш прогревался, а инвалидация была точечной. В итоге при полном отказе backend nginx автоматически переходил на кеш, и сайт продолжал отдавать пользователям и поисковым роботам публичный контент; недоступными оставались только проверка и оплата.
- Спроектировал новый frontend-сервер на нужен доступ к резюме : компоненты рендерились в HTML на сервере и проходили hydration на клиенте, а сам сервер тоже держал кеш. Перевёл на него основной сайт с PHP/AngularJS прямо в production, маршрут за маршрутом, пока команда продолжала выпускать новые функции; миграцию довели до конца. После неё веб-часть выпускалась независимо от backend проверки и оплаты.
- Реализовал серверный выбор вариантов страниц для A/B-тестов, и маркетинг стал запускать эксперименты без участия разработчиков.
- Под моим руководством команда сделала конструктор маркетинговых писем и внедрила сквозную аналитику: путь пользователя отслеживался от прочтения письма до оплаты.
- В сервисе «Мои налоги» сделал основную часть на React/Redux с серверным рендерингом для SEO: поиск налогов по ИНН и данным транспорта через государственный API и оплату картой.
- Для семейной подписки основного сервиса спроектировал frontend-интеграцию с единым сервисом прав для web и mobile.
- Под моим руководством команда сделала контентный раздел с отдельным сервисом редактирования и предпросмотра, дизайн-систему и UI-kit, провела аудиты SEO и Web Vitals и внедрила микроразметку. После этих работ, по оценке веб-аналитики, органический трафик вырос примерно на 40%.
- Команда также сопровождала legacy-продукты, включая партнёрскую iframe-форму проверки и оплаты на сотне внешних доменов.
Стек: JavaScript, TypeScript, нужен доступ к резюме , Express, React, Redux, SSR, AngularJS, PHP, nginx, SSI, Karma, Jasmine, Protractor, Jest, Storybook, Sentry · edge caching, reverse proxy, failover, A/B testing, end-to-end analytics, SEO, JSON-LD, Web Vitals, UI-kit, payments, subscriptions
Simplinic GmbH · HealthTech, 3D-модуль для больниц
нужен доступ к резюме — нужен доступ к резюме · 3D / Frontend Engineer
Продукт — 3D-модуль для оцифровки больничных комплексов: редактор, навигатор для персонала, мониторинг и управление инфраструктурой на одной кодовой базе. Отвечал за всю 3D-часть и встраивал её в продукт вместе с командами других направлений компании. Модуль работал на недорогих планшетах и телефонах, и от стоимости оборудования зависела экономика внедрения.
- Прототипом доказал, что интерактивная 3D-сцена работает в браузере на целевых недорогих планшетах. 3D-модуль использовался в четырёх внедрениях.
- Написал слой над WebGL и шейдеры без нужен доступ к резюме : в сцене одновременно отображалось до нужен доступ к резюме объектов, а на самом слабом поддерживаемом планшете рабочие сцены держали не менее 30 FPS.
- Сделал 3D-редактор помещений на вложенных state machines с полной историей и отменой действий. Редактор поддерживал наложение реальных 2D-схем помещений, выравнивания, прилипания, горячие клавиши и проверку коллизий.
- Реализовал навигацию для персонала: маршрут строится прямо в браузере, учитывает этажи и доступность и пересчитывается при смене цели. Положение перемещаемых объектов и самого пользователя модуль получал от системы позиционирования компании и показывал в 3D-сцене на телефоне или планшете.
- Встроил 3D-модуль в экосистему сервисов компании с разграничением прав доступа; для мониторинга инфраструктуры состояние объектов в сцене обновлялось по MQTT-телеметрии с физических датчиков.
- Устранил утечку памяти в истории действий, из-за которой вкладка после трёх часов активного редактирования падала, и проводил аудиты производительности на разных устройствах.
Стек: TypeScript, JavaScript, WebGL, GLSL, React, Redux, WebSocket, MQTT, IndexedDB, JWT, Webpack, Jest, Storybook, Sentry, Docker · GPU instancing, raycasting, spatial index, A* pathfinding, state machine, linear algebra
Ранний опыт работы · 2008–2017
Northyard (продукт Clipper) · 2016–2017 · Team Lead. B2B-сервис электронного документооборота с согласованием и электронной подписью. Собрал frontend-команду из четырёх человек и возглавил её, участвовал в найме и вёл обязательное код-ревью. Разделил legacy-приложение, написанное на AngularJS, на независимые модули; новый код команда писала на TypeScript, а тесты запускались в CI.
Garwin · 2015 · Senior Frontend Developer. Интернет-магазин на нужен доступ к резюме + SKU, от 100 оплаченных заказов в обычный день. Отвечал за весь frontend: перевёл модули с jQuery на AngularJS, провёл крупный редизайн и сделал новую корзину, которая принимала реальные заказы. Микроразметка товаров в JSON-LD дала расширенные сниппеты в поиске.
Viboom · 2014 · Senior Frontend / Fullstack Developer. Предложил и провёл поэтапное выделение frontend основного продукта в отдельный репозиторий с собственным развёртыванием; какое-то время старая и новая версии работали в production параллельно. Построил CI/CD с автоматическими тестами и развёртыванием, ввёл кодогенерацию, единый code style и обязательное код-ревью. С нуля сделал frontend MVP биржи мобильной рекламы, который показывали потенциальному клиенту.
Indoorio · 2012–2013 · Fullstack Developer. Стартап навигации внутри торговых центров, присоединился на стадии идеи. Написал с нуля картографический движок на JavaScript без фреймворков: SVG и VML для IE8 за общим интерфейсом, поиск помещений и межэтажные маршруты в браузере. Спроектировал PHP API, схему MySQL и кеширование карт, настроил серверы и развёртывание. Подготовил демо- и пилотные карты для 2–3 зданий.
NewIT · 2008–2011 · Intern / Junior Developer. Первая коммерческая работа в веб-студии: кроссбраузерная вёрстка с поддержкой IE6–IE8, шаблоны Smarty, jQuery.
Ключевые навыки
- Руководство: руководство командами до 6 человек, включая frontend- и backend-разработчиков, распределение задач и делегирование, техническое руководство несколькими продуктами, управление проектом, архитектурные решения, найм и собеседования, планирование спринтов (Scrum), 1:1 и планы развития, код-ревью, менторинг, межкомандное взаимодействие, работа с C-level и руководителями отделов
- Frontend: TypeScript, JavaScript, React, нужен доступ к резюме , Angular (Signals, RxJS), Redux, Zustand, SSR, HTML/CSS, design systems, UI-kit, Webpack, Vite
- Архитектура и интеграции: modular architecture, type-safe contracts, gRPC, Protobuf, ConnectRPC, code generation, runtime validation (Zod), REST, WebSocket
- Данные и системы типов: versioned data store, data versioning, DSL design, type systems, type inference, static verification, algebraic data types
- Графика: WebGL, GLSL, SVG, GPU instancing
- Качество и производительность: Vitest, Jest, Playwright, Storybook, Sentry, e2e testing, Web Vitals, performance optimization
- Backend и инфраструктура: нужен доступ к резюме , Express, Rust, nginx, SSI, edge caching, Docker, Linux, CI/CD, Git, GitLab
- ИИ в разработке: Claude Code, AI-assisted development
Образование
Неоконченное высшее: СПбГУ (1 год), Университет ИТМО (1 год).
Языки
Русский — родной. Английский — B2 (Upper Intermediate): свободно читаю и веду рабочую переписку.
Есть файл резюме (защищен)
Интересные кандидаты
Мы используем куки, потому что без кук наш сайт не работал бы, другие сайты не работали бы, да и вообще весь
интернет не работал бы
