Федоров Всеволод Яковлевич

Telegram, seva4job@gmail.com, LinkedIn, GitHub, OpenDev коммиты, Онлайн-версия, English version

+7-(916)-615-5224




Опыт работы

Свой некоммерческий проект, Hyperapp

Апрель 2024 - Настоящее время

Hyperapp - Фреймворк для разработки приложений с графическим пользовательским интерфейсом.

  • Python

  • PySide

Network Optix, Разработчик программного обеспечения, CI-инженер

Январь 2017 - Март 2024

Спроектировал и реализовал библиотеку функциональных тестов для тестирования продукта компании. Библиотека используется для всех функциональных тестов написанных в компании.

  • Python

  • PyTest, VirtualBox, Vagrant

  • Linux

Спроектировал и разработал систему непрерывной интеграции (CI) для компании. Она собирает продукты для различных платформ, запускает модульные и функциональные тесты. Позже была заменена на другую версию.

  • Jenkins, Jenkins Pipelines.

  • Linux, Windows

Разработал и внедрил тесты масштабируемости (Scalability) для продукта компании.

  • Python

  • Jenkins/JJB, AWS (EC2, VPC, CloudFormation, Boto), VirtualBox, ElasticSearch, Metricbeat, Grafana, RTSP.

  • Linux

Спроектировал и реализовал систему автоматизации сборки образов ОС.

  • Python

  • Jenkins/JJB, Packer (от Hashicorp), Artifactory/AQL, libvirt+KVM, VirtualBox, AWS (AMI, Boto).

Задокументировал и переработал приложение для развертывания релиза, используемое внутри компании (DepCon). Реализовал непрерывное развертывание (CD): для MR разворачивается тестовая версия, при Merge - релиз.

  • Python

  • Django, Docker, Kubernetes/Helm, Gitlab CI, Jenkins/JJB, Artifactory.

Спроектировал и реализовал автоматизацию для сборки пакетов Conan.

  • Python

  • Jenkins/JJB, Conan.

Разработал рецепты Conan для Squish и Python.

Участвовал в open-source проекте Jenkins Job Builder. Переписал подсистему расширения шаблонов. Добавил трассировку ошибок. Перенёс тесты на pytest. Исправил некоторое количество ошибок и добавил новую функциональность. Сейчас я maintainer проекта.

Разработал несколько веб-приложений для использования внутри компании.

  • Python, JavaScript, HTML, CSS;

  • Flask, FastAPI, Jinja2.

Реализовал автоматическое развёртывание (CD) для нескольких подсистем.

  • Ansible, Kubernetes/Helm/Docker, AWS CloudFormation.

Deutsche Bank, Разработчик программного обеспечения (AVP)

Ноябрь 2015 - Январь 2017

Проект финансового анализа для трейдеров (SCORE): разработка нового функционала, рефакторинг, исправление ошибок.

  • C++, C#;

  • Visual Studio, Resharper, WinForms, Git;

  • Windows.

Kaspersky Lab, Разработчик программного обеспечения

Октябрь 2013 - Октябрь 2015

Вёл проект Анти-спам (KAS) SDK.

Разрабатывал новый функционал, рефакторинг, исправление ошибок. Разработка и постепенная реализация новой архитектуры KAS SDK.

Реализовал HTTP-сервер для KAS SDK на C++. Реализовал функциональные тесты. Организовал систему непрерывной интеграции (CI) на базе Jenkins и Docker.

  • C++;

  • Linux, FreeBSD, Windows;

  • Gnu C++, MSVC (cross-platform development).

ФГУП НТЦ Атлас / СмартТелеМакс, Разработчик программного обеспечения

Апрель 2011 - Октябрь 2013

Разработка библиотеки для работы с протоколом обмена информацией в системе [PKI](http://en.wikipedia.org/wiki/Public_key_infrastructure) (кодирование и декодирование). Библиотека поддерживает протоколы:

  • Certificate Management over CMS (CMC) (rfc 5272),

  • Cryptographic Message Syntax (CMS) (rfc 5652),

  • Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile (rfc 5280).

Использованнные технологии:

  • Язык: Python;

  • Библиотеки: компилятор ASN.1 pyasn.

Участие в проекте "Атлант УЦ" (Удостоверяющий Центр, CA - certificate authority & RA - registration authority): Реализация логики системы; Реализация подсистемы автоматического тестирования. АПК "Атлант УЦ" предназначен для выпуска сертификатов электронной подписи по стардартам: rfc 5280, rfc 5272, rfc 5652 и др.

  • Язык: Python

  • Библиотеки: SqlAlchemy

Организация системы непрерывной интеграции (CI - Continuous Integration) на базе Jenkins.

НТЦ "Комсет", Ведущий разработчик программного обеспечения

Январь 2003 - Апрель 2011

Участие в разработке системы мониторинга ОКС7 (SS7) "Сателлит":

Разработка подсистемы расчета параметров ISUP (ISDN User Part) (CORBA-сервер) для первой версии системы.

  • Язык: C++;

  • Платформа: Linux (x86);

  • Компилятор: GNU C++;

  • Библиотеки/middleware: CORBA (omniORB), posix threads.

Разработка подсистемы выборки архивных данных для первой версии системы мониторинга (CORBA-сервер).

  • Язык: Python;

  • Платформа: Linux (x86);

  • Библиотеки/middleware: CORBA (omniORBpy), posix threads.

Разработка системы тестирования расчета параметров первой версии системы мониторинга.

  • Язык: Python;

  • Платформа: Linux (x86);

  • Библиотеки/middleware: CORBA (omniORBpy), posix threads.

Проектирование архитектуры второй версии системы локального мониторинга (общая архитектура, разбиение на модули, IDL-интерфейсы, языки программирования). Разработка сервера второй версии системы: Супервизор, подсистемы работы с зондами, работы с "центром обобщенных данных", ведения архивных данных, расчета параметров, выборки архивных данных, отслеживания состояния.

  • Языки: Python, Objective Caml;

  • Платформа: Linux (x86);

  • Библиотеки/middleware: CORBA (omniORB), sockets, posix threads, py2caml.

Разработка библиотеки-переходника Python<->Objective Caml "py2caml" для сервера мониторинга.

  • Компилятор: GNU C;

  • Библиотеки: OCaml API, Python API.

Разработка компилятора языка ASN.1. Поддержка информационных объектов, параметризации, макросов. Генерирование: декодеров BER на Objective CAML; двух типов декодеров и кодеров BER на Python.

  • Язык: Python;

  • Платформа: Linux (x86);

  • Библиотеки: ply (Python Lex-Yacc by David M. Beazley).

Разработка сервера "Центр мониторинга" для системы мониторинга "Сателлит"

  • Язык: Python;

  • Платформа: Linux (x86);

  • Библиотеки/middleware: CORBA (omniORB), posix threads.

Разраборка подсистемы аутентификации для CORBA на базе транспорта omniORB SSL.

  • Языки: Python, C++;

  • Библиотеки: omniORB API, openssl API.

Разработка базовой реализации CORBA на Objective CAML. Binding для OCaml; GIOP 1.2 (1.3).

  • Языки: Objective CAML, Python (back-end for omni IDL compiler).

Разработка общей архитектуры для клиентских приложений.

  • Язык: Python;

  • Библиотека: PyQt4.

Разработка компонента платформы Teligent P90 "Python Application Controller" для выполнения Python-скриптов.

  • Языки: Python, C/C++;

  • Платформа: Linux (x86);

  • Библиотеки: Teligent P90 C++ SDK, Python API.

Разработка архитектуры и реализация новых версий серверов и клиентских приложений на OCaml и Python с использованием Ice middleware (релизации от ZeroC и Hydro (wink)), CORBA и Qt (PyQt) в рамках проекта системы мониторинга ОКС7 "Сателлит".

Организация системы непрерывной интеграции (CI - Continuous Integration).

RusEuroSoft, Разработчик программного обеспечения

Август 2002 - Декабрь 2002

Разработка клиентской части и connection-сервера демо-системы для работы с Forex.

  • Платформа: Windows;

  • Компилятор: MS Visual C++;

  • Технологии: Windows sockets, Windows threads, Win32 GUI API, COM/ATL, XML/DOM/HTTP/SOAP.

Инфосистемы Джет, Разработчик программного обеспечения

Июнь 2001 - Январь 2002

Разработка C++ библиотеки для разбора и создания почтовых сообщений (rfc822, rfc1521, rfc1522), создание расширения для языка программирования Scheme.

  • Платформа: Unix (Sun, HP);

  • Компилятор: GNU C++.

Разработка Scheme-расширения для доступа к LDAP.

  • Платформа: Unix (Sun, HP);

  • Компилятор: GNU C++.

Разработка небольших частей проекта "Дозор" (системы мониторинга и архивирования почтовых сообщений).

  • Языки разработки: Scheme, shell script.

Zenon, Разработчик программного обеспечения

Январь 2001 - Март 2001

Разработка многопоточного (multi-thteaded) сервера для приема данных NetFlow (UDP) с роутеров Cisco, первичной фильтрации и агрегирования.

  • Платформа: Unix (FreeBSD, Sun, Linux);

  • Компилятор: GNU C++.

Разработка библиотеки классов C++ для Unix-серверов (C++ - "обертки" для pthreads, sockets, журнализации, и др.)

  • Платформа: Unix (FreeBSD, Sun, Linux);

  • Компилятор: GNU C++.

OXIR Internet Solutions, Разработчик программного обеспечения

Июнь 2000 - Декабрь 2000

Разработка серверной (и частично клиентской) частей биллинговой системы для веб-хостинга.

  • Серверная часть - CORBA-сервер, клиентская - CGI-скрипты на Python;

  • Язык: C++, Python;

  • Платформа: Unix (Linux & FreeBSD);

  • Компилятор: GNU C++;

  • Библиотеки/middleware: CORBA (omniORB2, TAO), OTL (Oracle template library).

Разработка модуля веб-сервера Apache для авторизации клиентов биллинговой системы.

  • Язык: C++;

  • Платформа: Unix (Linux & FreeBSD);

  • Компилятор: GNU C++;

  • Библиотеки/middleware: CORBA (MICO).

R-Style software lab, Разработчик программного обеспечения

Январь 1996 - Июнь 2000

Разработка подсистемы управления доступом (ядро и рабочее место администратора), используемой в системах RS-Depo и RS-GKO.

  • Язык: C++;

  • Платформа: Windows NT, Windows 95, DOS DPMI32;

  • База данных: Btrieve;

  • Компилятор: Borland C++.

Разработка системы учета ГКО и ОФЗ в банках (RS-GKO).

  • Язык: C++;

  • Платформа: Windows NT, Windows 95, DOS DPMI32;

  • База данных: Btrieve;

  • Компилятор: Borland C++.

Разработка подсистемы транзакций в депозитарной системе RS-Depo.

  • Язык: C++;

  • Платформа: Windows NT, Windows 95, DOS DPMI32;

  • База данных: Btrieve;

  • Компилятор: Borland C++.

Разработка сервера для автоматического (по почтовым запросам) исполнения макросов на корпоративном языке программирования RSL.

  • Язык: C++;

  • Платформа: Windows NT, Windows 95, DOS DPMI32;

  • База данных: Btrieve;

  • Компилятор: Borland C++.

Проектирование и разработка пакета расширений к корпоративному языку RSL для предоставления доступа из RSL к функциональности системы "Кондор".

  • Язык: C++;

  • Платформа: Windows, Windows 95;

  • Компилятор: Borland C++.

Проектирование и разработка ООП-библиотеки для доступа к SQL серверам MSSQL и Sybase (использовалась в проекте "Кондор").

  • Язык: C++;

  • Платформа: Windows NT, Windows 95;

  • Библиотеки: MSSQL & Sybase db-library;

  • Компилятор: Borland C++.

Проектирование и разработка многоуровненых серверов приложений в рамках проекта OLAP "Кондор":

  • сервер для автоматического выполнения программ на корпоративном языке RSL;

  • сервер для генерирования и исполнения SQL выражений;

  • Scheduler-сервер;

  • (частично) сервер управления доступом.

Использованнные технологии:

  • Язык: C++;

  • Платформа: Windows NT;

  • Библиотеки: RPC;

  • Компилятор: Borland C++.

Проектирование и разработка 'RS Web Server'. Сервер обеспечивает выполнение HTTP-запросов на корпоративном скриптовом языке RSL.

  • Язык: C++;

  • Платформа: Windows NT;

  • Компилятор: MSVC.

Cherry software, Разработчик программного обеспечения

Декабрь 1994 - Ноябрь 1995

Проектирование и разработка DOS-интерфейса к электронной таблице.

  • Язык: C++;

  • Библиотеки: Turbo Vision;

  • Платформа: DOS DPMI32;

  • Компилятор: Borland C++.

Проектирование и разработка ООП-библиотеки для доступа к БД.

  • Язык: C++;

  • Библиотеки: Paradox Engine;

  • Компилятор: Borland C++.

"БИС" - Банковские информационные системы, Разработчик программного обеспечения

Сентябрь 1993 - Июль 1994

Проектирование и разработка клиентской части "АРМ удаленного клиента банка".

  • Язык: Borland Pascal;

  • Библиотеки: Turbo Vision, Paradox Engine;

  • Платформа: DOS.

Разработка серверной части "АРМ удаленного клиента банка".

  • Язык: Progress 4GL;

  • База данных/платформа: Progress.

Также разработка нескольких мелких подсистем АБС БИСквит на Progress 4GL.

Навыки:

  • Языки программирования: Python, C++, Objective CAML, JavaScript, C#, MZ Scheme, Bash;

  • Базы данных: SQL, PostgreSQL, MySQL, Oracle, SQLAlchemy, PonyORM;

  • Технологии виртуализации: Kubernetes, Helm charts, Docker, AWS (EC2, VPC, IAM, Boto etc), VirtualBox, libvirt+KVM;

  • CI и автоматизация: Jenkins, Jenkins Job Builder, Gitlab CI, Ansible, AWS CloudFormation;

  • Web: HTML, CSS, Flask, FastAPI, Django;

  • Другие: Packer (by Hashicorp), ElasticSearch, Grafana, Artifactory, PyQt/PySide, SS7, ASN.1, PKI.

Образование:

Российский государственный технологический университет имени К. Э. Циолковского (МАТИ), 1988-1993, Инженер-конструктор-технолог ЭВС.

Языки:

  • Русский: Родной

  • Английский: Технический (могу читать, писать документацию, переписываться, разговаривать на технические темы).