Павел Гуров
Павел Гуров
Инженер-программист веб-систем и вдохновляющий руководитель команды | Энтузиаст ChatGPT | Двигатель инноваций в технологиях
Контакты
- +420733253883 (CZ)
- +79231020066 (RU)
- lucius.gu@gmail.com
- https://linkedin.com/in/pgurov
- https://t.me/pgurov
Языки
- English (Professional)
- Russian (Native)
Обо мне
Я не просто инженер-программист; я рассказчик через код. Моя страсть – превращать сложные, запутанные идеи в доступные, удобные для пользователя решения. Ведение сложных проектов для меня – это не просто роль, а приключение, где каждая проблема – это загадка, ждущая своего решения. Я привношу в нашу кодовую базу лучшие практики не просто для улучшения, а для ее вознесения. Для меня каждая задача – это часть большего пазла, шаг к более интуитивно понятному и привлекательному продукту. Моя поддержка команды выходит за рамки простого сотрудничества – это строительство сообщества идей и решений. Я в пути не просто разрабатывать программное обеспечение, а создавать опыт, который резонирует и вдохновляет. В будущем я планирую написать научную работу об эволюции кода в корпоративных приложениях, продолжая свой путь на пересечении технологий, творчества и пользовательского опыта.
История работы
Главный Инженер-программист
Infor С декабря 2022 (1 месяц) Прага, Чехия
Основные достижения:
- Улучшение пользовательского опыта: Реализация сложной системы поиска, значительно улучшившая навигацию клиентов и удобство интерфейса.
- Менторство и лидерство: Активное наставничество коллег, помощь в архитектурном планировании и проектировании интерфейса.
- Улучшение кодовой базы: Оптимизация кодовой базы, упрощение подходов и повышение удобства поддержки.
- Архитектура микрофронтендов: Разработка и презентация архитектурного решения для перехода от монолита к микрофронтендам, облегчающего масштабирование.
- Мультидисциплинарное сотрудничество: Эффективная координация работы с бекенд-разработчиками, QA и другими фронтенд-разработчиками для обеспечения бесперебойного хода проекта.
- Оптимизация производительности: Решение давних проблем с производительностью на стороне клиента, что привело к более плавной и эффективной работе пользователя.
- Инновации в процессах: Введение практики составления технического предложения перед реализацией функционала, что сократило время разработки.
- Улучшение инструментария для диаграмм: Добавление автоматического построения изогнутых соединителей между объектами диаграмм с использованием FabricJS и BPMN-js, улучшение функциональности и внешнего вида.
Технический опыт:
- Глубокие знания FabricJS, BPMN-js, NGXS, Angular и компонентов SOHO.
- Профессиональные навыки в разработке и оптимизации сложных фронтенд-архитектур.
- Умение синхронизировать мультидисциплинарные команды для эффективной реализации проектов.
Руководитель команды Frontend
Positive Technologies (SecurityGen) Март 2020 - Декабрь 2022 (2 года 10 месяцев) Брно, Южная Моравия, Чехия
Роль и обязанности:
- Продолжение руководства командой разработки frontend, дальнейшее развитие проектов и инициатив, начатых в российском офисе.
- Адаптация и интеграция в новую культурную и рабочую среду, укрепление сотрудничества международных команд.
- Поддержка и улучшение существующих систем, обеспечение соответствия изменяющимся бизнес- и техническим требованиям.
Достижения:
- Успешное управление переходом проектов и рабочих процессов в чешский офис, обеспечение бесперебойности и непрерывности разработки.
- Внедрение новых стратегий и методик, адаптированных к разнообразной рабочей среде, повышение эффективности и сплоченности команды.
Основные технологии и практики:
- Продолжение работы с ведущими технологиями и фреймворками frontend (Angular, ReactJS, TypeScript и др.).
- Применение гибких методологий, поддержание высоких стандартов разработки ПО в мультикультурной среде.
Руководитель команды Frontend
Positive Technologies Декабрь 2018 - Февраль 2020 (1 год 3 месяца) Новосибирская область, Россия
Основные достижения:
- Лидерство и развитие команды: Внедрение практики OKR, в результате которой 4 из 5 членов команды успешно завершили несколько проектов и продвинулись по карьерной лестнице.
- Найм и адаптация: Проведение более 30 собеседований, значительное улучшение процесса адаптации.
- Управление проектами и техническое лидерство:
- Инициация подхода с монорепозиторием, включая документацию и помощь командам в миграции проектов.
- Организация обмена знаниями через README, вики, хакатоны и TechTalks.
- Руководство миграцией с AngularJS на современный Angular.
- Применение функционального подхода в Redux, исключение класса ошибок.
Обязанности:
- Наставничество и развитие профессиональных навыков команды.
- Внедрение лучших практик кодирования и управление техническим долгом.
- Проведение еженедельных встреч 1-на-1, улучшение коммуникации в команде.
- Управление техническим брендом и рабочим пространством команды (современные ПК, лицензии).
- Проведение код-ревью, обеспечение высоких стандартов качества кода.
- Организация и проведение встреч и ретроспектив для непрерывного улучшения.
- Установление конвенций команды и протоколов учета времени.
- Управление инструментами, такими как TeamCity и Jira, для координации проектов.
Технический опыт:
- Языки: TypeScript, JavaScript, Bash.
- Фреймворки/библиотеки: Angular, RamdaJS, RxJS, Redux, NGRX, Aggrid, Codemirror, Highcharts, Lodash, Luxon.
- API: Работа с RESTful API.
- CI/CD: GitLab, GitHub, CircleCI, Jenkins.
- Инструменты: TSLint, ESLint, Webstorm IDE.
- Тестирование: Юнит-тесты (Karma, Jest), E2E-тесты (Protractor).
- Базы данных: PostgreSQL, MongoDB.
- Другое: Git workflow, контроль стиля кода, управление NPM пакетами, Schematics, мониторинг производительности фронтенда, SCSS, BEM, внедрение дизайн-токенов.
Frontend Team Lead
Ixtens Декабрь 2016 - Ноябрь 2018 (2 года) Новосибирская область, Россия
Проект 6 (Архитектура приложения):
- Работа с ReactJS + TypeScript, Google Map API, lodash, postcss.
- Тестирование с использованием Enzyme от Airbnb и CircleCI 2.
Проект 4 и Проект 5 (Отделены от Проекта 2, Архитектура приложения):
- Разработка на Angular 4 до 5, TypeScript, Bootstrap 4, RxJS, Kendo, Angular CLI, SCSS.
- Интеграция Google Map API, StompJS, Karma, Jasmine.
- Управление Protractor (e2e) и переход с CircleCI 1 на 2.
Проект 3 (Архитектура приложения):
- Переход с Native JavaScript на ReactJS + TypeScript.
- Использование Android Webviews, Webpack 2, lodash.
- Реализация CircleCI 1 до 2 для непрерывной интеграции.
Проект 2 (Архитектура приложения):
- Развитие приложения с использованием Angular 2 до 5, TypeScript, Bootstrap 4, RxJS, NgRX (Redux), Kendo, Tableau.
- Использование Webpack 3, Angular CLI, SCSS, Google Map API.
- Проведение e2e тестирования с Protractor, переход с CircleCI 1 на 2.
- Создание внутренних NPM пакетов на TypeScript.
Проект 1 (Поддержка и новые функции):
- Работа с ES6, Bootstrap 4, ReactJS и Flux для разработки и улучшения функциональности.
Middle Front-End Разработчик, Дизайнер UI/UX
Openprovider Апрель 2013 - Октябрь 2016 (3 года 7 месяцев) Новосибирская область, Россия
Панель управления администратора:
- Разработка и управление GUI для управления ценами на домены с использованием Twitter Bootstrap и Angular.
- Создание инструментов локализации на PHP, Gettext, Angular и Bootstrap.
- Миграция различных устаревших локализаций в Pootle.
Панель управления реселлера:
- Организация миграции с PHP, Smarty, jQuery на PHP, Slim, Angular.
- Разработка инструментов для новой панели управления реселлера на Angular и Lodash:
- Управление доменами.
- Управление лицензиями Parallels Plesk (создание, обновление, продление).
- Управление клиентами.
- Прогнозирование платежей клиентов (PHP, Smarty, jQuery).
- Управление сделками по фиксированной плате (Smarty, jQuery).
- Плагин предрегистрации (PHP, jQuery).
- Поддержка и обслуживание устаревшего кода (Smarty, jQuery).
Публичные сайты (RU, EN, NL, ES):
- Управление миграцией с Expression Engine на WordPress.
- Разработка плагинов для WordPress:
- Калькулятор FlatFee (Angular).
- Модуль цен (Angular).
- Инструмент WHOIS (Angular).
Дизайнер интерфейсов
Alawar Entertainment Август 2012 - Февраль 2013 (7 месяцев) Новосибирская область, Россия
Обязанности:
- Реализация проекта, увеличившего установки игр на 10%.
- Разработка главной страницы сайта, страницы игр и каталога игр.
- Генерация идей для расширения аудитории, новых тем игр, освоения рынков и вариантов монетизации.
- Анализ разнородной информации, структурирование данных по задачам, формулирование требований к продукту, работа в команде с программистами, дизайнерами и клиентами.
Проектировщик интерфейсов
DiscountMobile Октябрь 2011 - Август 2012 (11 месяцев) г. Кемерово, Россия
Обязанности:
- Анализ требований и взаимодействие с заказчиками.
- Разработка спецификаций и технических заданий (MS Word, DocBook), пользовательской документации для CRM discountmobile.mobi, Android и iPhone приложений.
- Проектирование и развитие новых продуктов, авторский надзор за разработкой.
- Создание интерактивных скетчей интерфейсов в WireframeSketcher Studio и MS Visio.
- Участие в анализе и подготовке предложений по корректировке проектных и программных решений.
HTML-верстальщик
DiscountMobile Апрель 2011 - Октябрь 2011 (7 месяцев) г. Кемерово, Россия
Обязанности:
- Разработка чистых, кроссбраузерных DIV-ных макетов.
- Внедрение Twitter Bootstrap для адаптивного дизайна.
- Создание макетов Flex и шаблонов HTML-писем.
- Программирование элементов сайта на JavaScript.
- Консультации по повышению эргономичности сайта.
Помощник администратора, программист
КТК Консалтинг Декабрь 2009 - Март 2011 (1 год 4 месяца) г. Кемерово, Россия
Обязанности:
- Обслуживание и ремонт компьютеров и принтеров.
- Администрирование ЛВС и поддержка корпоративного портала.
- Инвентаризация IT оборудования.
- Автоматизация задач с помощью Bash-скриптов.
Консультант call-центра
GoodLine Ноябрь 2008 - Декабрь 2009 (1 год 2 месяца) г. Кемерово, Россия
Обязанности:
- Предоставление квалифицированной помощи пользователям при проблемах с подключением к интернету, обеспечение высокого уровня удовлетворенности клиентов.
*Консультирование абонентов по вопросам настройки локальных сетей (Windows, Linux) и основ компьютерной безопасности.
*Настройка коммутаторов канального (2-го) уровня OSI, включая Cisco, Linksys и D-Link, повышение эффективности и надежности сети.
Достижения:
- Признание за предоставление исключительного сервиса и технической поддержки, способствующее увеличению уровня удержания клиентов.
- Разработка и распространение лучших практик по настройке сетей и обеспечению безопасности, повышение информационной безопасности клиентов.
ГИС Технолог
МП ГИЦ (Муниципальный Геоинформационный Центр) Ноябрь 2007 - Август 2008 (10 месяцев) г. Кемерово, Россия
Обязанности:
- Администрирование системы ГЕОКАД (геоинформационные и кадастровые системы и технологии), обеспечение её оптимальной работы.
- Поддержка и модернизация модулей управления базой данных.
- Внедрение АИС «ОГД» (автоматизированная информационная система для улучшения процессов градостроительства).
- Интенсивная работа с базами данных Oracle, проектирование новых таблиц, написание сложных запросов для оптимизации управления данными.
- Разработка полной схемы базы данных, улучшение организации и доступа к данным.
- Управление подключениями к базам данных через ODBC драйверы, обеспечивая бесперебойную интеграцию и обмен данными.
Проекты:
- Разработка и реализация VBA-скриптов для упрощения процесса импорта данных, что значительно сократило ручной труд.
- Создание функциональной схемы для АИС «ОГД», что способствовало улучшению архитектуры системы и удобства её использования.
Licenses & Certifications
Coursera Course
- Course: Введение в машинное обучение
- Issued by: Coursera Course Certificates
- Issued: March 2016
- Credential ID: RNG2W2A4GZR5
- Certificate: View Certificate
Dataquest.io
- Course: Kaggle Competitions Course
- Issued by: Dataquest.io
- Credential ID: TGNC76I1XNFGYI44ADE4
- Certificate: View Certificate
Stepik
- Course: Функциональное программирование на языке Haskell
- Certificate: View Certificate
Projects
Overton Catcher
- Duration: Jun 2022 - Present
- Overview: A tool for exploring language insights, employing Python, Pandas, NLP, and TF-IDF for analyzing language trends in news sources.
- Technologies: Python, Pandas, NLP, TF-IDF, Jekyll, OpenAI
- Skills: Python (Programming Language), NLP, Pandas, OpenAI, TF-IDF, RSS
- Link: Overton Catcher
identical-functions
- Duration: Apr 2021
- Overview: A repository for finding identical functions, involving technologies like uglify-js, esprima, escodegen, and JavaScript frameworks.
- Skills: uglify-js, esprima, escodegen, Investigation, React.js, Angular, JavaScript
- Links: GitHub, Habr Article 1, Habr Article 2
Stupid RSS Reader
- Duration: May 2021 - Oct 2021
- Overview: Created a simple, effective Progressive Web App (PWA) for RSS feeds.
- Skills: Angular, PWAs, RSS, JavaScript
- Link: GitHub
key-value storage на пакетах ping’а
- Duration: Sep 2023
- Overview: A project for creating a key-value storage using ICMP packets.
- Skills: Node.js, Express.js, ICMP, OSI Model, JavaScript
- Links: Habr Article, GitHub
Type definition for notyf
- Duration: Nov 2017
- Overview: Contributed type definitions for notyf to DefinitelyTyped.
- Link: GitHub Pull Request
Linch.me
- Duration: Oct 2013
- Overview: A website for adding annotations to images.
- Skills: JavaScript, HTML5
- Contributors: LinkedIn Profile
Pick Your Color
- Duration: Jan 2013
- Overview: A tool to help determine which colors suit you best.
- Skills: GitHub, JavaScript
lancelist
- Duration: Mar 2012
- Overview: A platform for job offers through Twitter.
- Contributors: LinkedIn Profile
PWA для knigopis.com на Angular
- Duration: Mar 2017
- Overview: Developed a client for knigopis.com using Angular 2.
- Skills: REST APIs, Angular, PWAs, JavaScript
- Contributors: LinkedIn Profile
- Links: GitHub, knigopis.com
Серия обучающих роликов по Angular 2+
- Duration: Mar 2017
- Overview: A series of training videos on Angular, creating applications for knigopis.com.
- Skills: Training Videos, Angular
- Link: YouTube Playlist
Baba Sima
- Duration: Sep 2011 - Dec 2011
- Overview: A project focused on monitoring food prices.
- Contributors: LinkedIn Profile
Статьи
- “Пишем key-value storage на пакетах ping’а или храним данные между облаками”
- “Действительно умный дом в 2123 году”
- “Симулякр социализма и кто будет новым Лениным”
- “Codepast people – programmers’ sunset”
- “Mocking RESP API in 20 minutes via Yakbak”
- “Кешируем API ответы для frontend приложения с помощью Yakbak”
- “Новоглифы или иероглифы будущего”
- “Подхалим”
- “Only 39% of the functions in node_modules are unique in the default Angular project”
- “Только 39% функций в node_modules уникальны в дефолтном Angular проекте”
- “А что если перейти на Удобный Шестидневный календарь?”
- “Как программист читает «Происхождение видов» Дарвина”
- “Сезоны сменяют друг друга всё раньше из года в год в Кемерово”
- “Типичное использование Observable объектов в Angular 4”
- “Соотношения реальной температуры и прогноза Яндекс.Погоды”
- “Чего хотят координаторы доменных зон?”
- “А то распоясались”
- “Итак, тебе нужна форма”
- “Учимся разбираться в искусстве программирования”
- “Помогаем роботу-сортировщику на почте”
- “Люди с кодопрошлым или закат программистов”
- “linch.me — добавление аннотаций к изображением”
- “Проектирование удобной для землян планеты”
- “Ноутбук для писателя”
- “Прототипирование главной страницы статей flamp.ru”
- “Pick your color — подбора цвета и идеи для развития”
- “Сложные методы авторизации”
- “Идея поиска на сайте используя браузер”
- “lancelist.0fees.net — сайт для поиска фриланс-работы через Twitter”
- “Запихиваем 280 символов в один твит”
- “Используем хабракомментарии как машину Тьюринга”
- “Интерактивная диаграмма на CSS и HTML”