Специалисты

Описание

Опыт работы с языками:
Скриптовые: Bash, Python, Node.js
Конфигурации: YAML, TOML, JSON
Веб: Javascript ES6, Typescript, CSS3, HTML5
Приложения: C, C++, Python, Go
Работа с данными: SQL, pg/plSQL, Python(pandas), Dataweave
Опыт работы с фреймворками:
Vue.js, Quasar; Django, Django DRF, Flask, FastAPI, SQL Alchemy, Pytest;
Опыт работы с веб библиотеками и технологиями:
Vue.js, Vite, Quasar, Vuex, Pinia, Axios, Vue router,
Moment, Material Design, Antd, Taiga UI, Charts.js,
SCSS, Styled-components,
Web components, OpenAPI, Telegram InstantView
Опыт работы с инструментами и платформами:
Docker, Docker-compose, Kubernetes, Helm,
Nginx, HAProxy,
Kafka, RabbitMQ, Celery,
Git, GitLab CI/CD, Jenkins,
Java Virtual Machne, JNI, JVM TI,
Alpine, Debian, Fedora Linux,
Amazon Web Services, Google Cloud Platform,
Mule ESB, TIBCO Spotfire (конкурент Power BI)
Опыт работы с инструментами мониторинга и логирования:
Grafana, Prometheus, Loki, Datadog, ELK stack, OpenSearch
Опыт работы с инструментами *-as-Code:
Ansible, Terraform
Опыт работы с СУБД:
PostgreSQL, SQLite, DuckDB, Clickhouse, Redis, Cassandra
Также опыт работы c:
Jira, Confluence, BPMN 2.0, DFD, SOA, Бессерверные вычисления, Git Flow, Trunk-based
development

Опыт
Проект

Автоматизированный сбор, классификация, анализ и хранение данных из сети Интернет на 26 языках мира

Описание

Роль: DevOps Состав команды: 2 DevOps, 1 team lead, 1 product manager, 1 sales rep., 2 data scientist, 2 fullstack developers Что реализовывал: мониторинг кластера Kafka и ZooKeeper стеком Grafana, JMX exporter, Prometheus. Покрытие тестами Python кода обработчиков и преобразователей текста и произвольных данных из Интернета. После инцидента с несанкционированной отправкой запроса в неизвестный приёмник настроил iptables правила для блокировки пакетов и Snort IDS для обнаружения подозрительной сетевой активности в периметре проекта

Технологии

Python, Pytest, Django, Docker; Amazon Web Services, Gitlab, CentOS 7; Grafana, Prometheus, JMX; ELK Stack; iptables, Snort, ssh

Длительность

3 месяца месяцев

Проект

Электронная система автоматической подачи заявлений на командировочные визы

Описание

Для международных компаний предоставляется услуга электронного документооборота, которая позволяет подготовить пакет документов для подачи на визу сотрудникам, которые отправляются в командировку в какую-либо страну из списка. Роль: Backend разработчик/DevOps Состав команды: 1 разработчик и DevOps, 1 системный аналитик, 1 ведущий проекта Что реализовывал: Дорабатывал новые фичи по запросу, поддерживал код. Поддерживал сборку на Jenkins конвейере, подключал к целевой машине для выгрузки с защитой сертификатом TLS v1.3

Технологии

Python, FastAPI, SQL, Jenkins, Groovy, ssh, TLS

Длительность

3 месяца месяцев

Проект

Облачный сервис и мобильный SDK для традиционных банков, которые хотят внедрить современные FinTech практики в свой банк и стать конкурентоспособными

Описание

Система позволяет удалённо: 1) зарегистрировать нового клиента при наличии документа, удостоверяющего личность, и внести его во внутренние сервисы банка, 2) безопасно авторизовать существующего клиента банка, 3) создавать постоянные и временные виртуальные карты, управлять ими (создание, изменение, удаление) и использовать их (переводы с карты на карту, оплаты в магазинах посредством NFC и QR кода, оплата в онлайн магазинах) 4) оценивать рискованность транзакций и блокировать подозрительные с точностью, стремящейся к 100% Весь вышеупомянутый функционал успешно прошёл аудит PCI-DSS и был сертифицирован и рассчитан на внедрение в собственные банковские приложения, включая мобильную и веб-версию. Роль: backend разработчик Состав команды: 1 ведущий разработчик, 1 ведущий продукта, 1 инженер по качеству, 1 Ops-инженер, 1 разработчик, 2 разработчика SDK для мобильных устройств, 1 специалист по антифроду Что реализовывал: Участвовал в разработке модуля по оценке рисков совершаемых транзакций, дополнял экспертным мнением по грядущей эксплуатации в промышленном контуре и инфраструктурным соображениям. Разрабатывал функционал, дополнял, покрывал тестами, создавал отчеты по нагрузочному тестированию и рефакторил текущий код с расчётом на дальнейшую интеграцию в общий проект и как самостоятельную бизнес-услугу. Участвовал и успешно прошёл PCI-DSS аудит системы.

Технологии

Amazon Web Services, Serverless (Бессерверные вычисления), Mongo Atlas, Gitlab, Git Flow, DevOps; Node.JS, npm, Yarn, Lerna, монорепозиторий, Sinon.JS, Jest, k6, Mastercard Nudetect

Длительность

13 месяцев месяцев

Проект

Наблюдаемость распределённой банковской системы в публичном облаке

Описание

Banking-as-a-Service. Виртуальный банк как услуга Роль: DevOps / Site Reliability Engineer Состав команды: 1 ведущий инженер и менеджер специалистов Site Reliability Engineering, 6 инженеров по надёжности (Site Reliability Engineer) Что реализовывал: Анализировал потенциальные решения наблюдаемости в комплексе, задокументировал результаты и предоставил на голосование, предложив по своему мнению наиболее подходящий стек. Реализовал систему наблюдаемости 60+ микросервисов, включая метрики, логи и трассировку запросов. Подобрал, рассчитал, задокументировал и внёс на самостоятельный дашборд различные показатели SLO и SLI, рассчитал Error Budget для каждого показателя. Ввёл периодические синтетические тесты на проверку состояния сервиса и критических для пользователя сценариев. Предложил внедрение подхода Infrastructure-as-Code, договорился о выделении доступов, вычислительных ресурсов и времени в текущий план разработки. Спроектировал и заложил основы CI/CD и репозитория для корректного развёртывания системы наблюдаемости. Разработал самостоятельный экспортёр метрик по расчёту потребления ресурсов публичного облака AWS, изучил и задокументировал гибкие и жёсткие лимиты сервисов облака, которые используются в проекте.

Технологии

Amazon Web Services, Serverless, Datadog, Splunk, Node.JS; Gitlab, YAML, Terraform; Node.JS

Длительность

13 месяцев месяцев

Проект

Непрерывная сборка и развёртывание в публичном облаке

Описание

Banking-as-a-Service. Виртуальный банк как услуга Роль: DevOps / Site Reliability Engineer Состав команды: 1 архитектор, 1 ведущий CI/CD специалист, 3 CI/CD разработчика Что реализовывал: Участвовал в проектировке и разработке Gitlab CI/CD линии для команды 60+ человек по методологии Git Flow. Участвовал в развитии CI по мере продвижения проекта, предлагал, голосовал и реализовывал фичи для CI. Рефакторил конфигурацию CI по хорошим практикам DRY, SOLID, KISS, YAGNI. Общая команда была разбита на несколько автономных команд, это было отражено при сборке и тестировании проекта на различных ветках (feature, development, master). CI развёртывала самостоятельный стек в облаке, полностью развёртывая проект со своими доменами (напр. feature-134.baas.company.com) с установкой политик по самоочистке ресурсов облака для оптимизации расходов. Внедрял и настраивал: проверку качества кода, нагрузочное тестирование, анализ используемых зависимостей по лицензиям. Участвовал в определении безопасной процедуры непрерывного развёртывания в промышленном контуре (отсутствие доступов к промышленным сервисам в облаке < 1 минуты). Самостоятельно проводил процедуру развёртывания и формировал отчёты о доставленных обновлениях.

Технологии

Amazon Web Services, Gitlab, bash, python, YAML; SonarQube, yarn, lerna, ClamAV, Slack

Длительность

13 месяцев месяцев

Проект

Агрегатор логистических ставок

Описание

Веб-портал по заказу логистических перевозок. Остальное - NDA Роль: Fullstack engineer / DevOps Состав команды: 1 product owner, 1 Fullstack engineer / DevOps Что реализовывал: Весь ИТ-продукт: Фронтенд для поиска ставок между городами со специфичной логикой поиска ближайших терминалов. Перенёс на Vue.JS дизайн-систему TaigaUI (активно поддерживается и используется Т-Банком) и использовал её. Разрабатывал страницы по мере добавления дизайнов в Figma, обсуждал о сложностях и сроках реализации тех или иных фич. Внедрил веб-аналитику по выявленным пользовательским сценариям. Бэкенд служил легковесной API прокладкой для данных и дополнительных внутренних сервисов (парсер Excel) в контейнере. Настроил развёртывание в облаке Google Cloud Platform после оценки стоимости сервисов и подбора оптимального варианта для MVP. Настроил CI/CD в GitHub Actions с уведомлением об обновлениях в закрытый канал Телеграм. Внедрил сервисы веб-аналитики (Umami, Яндекс.Метрика). Мониторил поведение пользователей после запуска рекламной компании через Яндекс, собирал данные для правок и потенциальных фич. Изучил стандарты протоколов IATA для внедрения в потенциальные фичи проекта и задокументировал

Технологии

Vue.JS, Quasar Framework, PWA, Taiga UI, Figma, OpenAPI Swagger; Python, Flask, SQLite, PostgreSQL; Google Cloud Platform, Docker, Cloudflare, CORS, Render, Umami Analytics, Yandex.Metrika; Github, Github Actions, Telegram; Excel;

Длительность

12 месяцев месяцев

Проект

Шина данных для центрального хранилища и магазинов

Описание

Шина данных, интегрирующая систему 1С и несколько маркетплейсов. Синхронизация данных между системами в реальном времени с использованием общей БД Postgres и 110+ микросервисов Mule ESB. Роль: Инженер данных, DevOps Состав команды: 1 менеджер проекта и системный аналитик, 4 инженера данных и DevOps-инженера Что реализовывал: Собирал функциональные требования к микросервисам, проводил и документировал системную аналитику микросервисов с учётом глобальной SOA карты, давал оценку по времени и сложности каждого этапа разработки микросервиса. Поднимал мониторинг и оповещения и вносил логирование для каждого микросервиса. Создавал сценарии приёмки и проводил демо по сдаче каждого микросервиса. Консультировал и помогал разработчикам по вопросам SQL и организации данных. Развёртывал шину и запускал миграцию данных в промышленном контуре Kubernetes. Создал MVP мониторинга состояния микросервисов, представил команде, внедрил и развивал. Воспользовался решением и обнаружил утечку памяти в одном из контейнеров, подобрав быстрое, простое и эффективное решение скриптом. Команда неоднократно использовала решение для анализа состояния системы при перезапусках и при спорных ситуациях с заказчиками. Создал MVP мониторинга качества данных в шине, представил команде, внедрил и развивал. Команда неоднократно использовала на практике решение для обнаружения неконсистентных сообщений и их исправления, тем самым возобновляя потоки синхронизации данных.

Технологии

1С, протокол Odata 3.x; Mule ESB, Dataweave, BPMN 2.0, DFD, Postman; SQL, PostgreSQL, pl/pgSQL; ELK stack, Grafana; Gitlab, Docker, Kubernetes, Helm, Ansible, ssh, bash; JVM, C++, Telegram

Длительность

3 месяца месяцев

Проект

Интеграция данных на высоконагруженном онлайн-магазине

Описание

Шина данных по синхронизации пользовательских учётных записей и созданию новых через различные каналы, способная справиться с пиковой нагрузкой. Служит заменой решению с CRM и Magento, которое не выдерживало нагрузки и теряло сообщения. Роль: Инженер данных, DevOps Состав команды: 1 менеджер проекта и системный аналитик, 2 инженера данных и DevOps-инженера Что реализовывал: Собирал функциональные требования к микросервисам, проводил и документировал системную аналитику микросервисов с учётом глобальной SOA карты, давал оценку по времени и сложности каждого этапа разработки микросервиса. Поднимал мониторинг и оповещения и вносил логирование для каждого микросервиса. Создавал сценарии приёмки и проводил демо по сдаче каждого микросервиса. В итоге собрал шину данных, способную справиться с пиком 15.000 входящих запросов в секунду без потери сообщений. Собрал образ для БД с непрерывным бэкапом в хранилище S3. Проводил нагрузочное тестирование промышленной БД для достоверности, что шина не перегрузит БД в промышленном контуре. Развёртывал шину и запускал миграцию данных в промышленном контуре Kubernetes.

Технологии

WSO2, XML, XSLT; Mule ESB, Dataweave, BPMN 2.0, DFD, Postman, Jmeter; SQL, PostgreSQL; ELK stack, Grafana; Gitlab, Docker, Kubernetes, Helm, Ansible, ssh, bash

Длительность

2 месяца месяцев

Проект

Закрытый маркетплейс федеральной компании для её партнёров

Описание

Маркетплейс по поставкам материалов, сборе требуемой документации и отслеживанию поставок всеми участниками процесса. Система содержит ролевую модель, созданную вручную, для разрешённых действий, пользовательских сценариев и разграничения доступов к данным и действиям. Роль: Backend разработчик, DevOps Состав команды: 3 backend разработчика, 3 фронтенд разработчика, 2 инженера данных, 1 project manager/product owner Что реализовывал: Фичи для бэкенда, ролевую модель, валидации доступов в соответствии с бизнес-процессами по ТЗ. Внедрил авторизацию по сессии. Спроектировал и вынес на утверждение полноценных CI/CD со стадиями внедрения для различных этапов и шагов по мере нужд разработчиков. Поддерживал и разрабатывал CI/CD и целевой контур для разработчиков. Настраивал nginx, политики CORS. Обнаружил и проактивно решил в течение 3 часов проблему с блокировкой Docker Hub в России 30 мая 2024 года скачиванием и проверкой по безопасности подходящих версий образов из других официальных источников образов Docker и сохранением образов во внутренний реестр Gitlab. Образ Certbot пришлось переписать ввиду внешних зависимостей.

Технологии

Python, Django, Django DRF, Pytest, PostgreSQL, Postman, CORS; Gitlab, Nginx, Certbot, Docker, Harbor, Portainer, ssh, bash; TypeScript, React, Ant Design, JSON, Datareon, Keycloak, OpenAPI Swagger

Длительность

3 месяца месяцев