Skip to content

Latest commit

 

History

History
143 lines (131 loc) · 18.5 KB

README-ru.md

File metadata and controls

143 lines (131 loc) · 18.5 KB

Резюме

Общее

ФИО: Толстов Василий Георгиевич (Vasiliy Tolstov)
Пол: мужской
Дата рождения: 31.07.1986
Телефон: +7xxx994xx54
Email: v.tolstov[at]selfip.ru (предпочитаемый способ связи)
Skype: vtolstov (не проверяю, только по договоренности)
Telegram: @vtolstov
Проживаю: Россия, Санкт-Петербург
Гражданство: Россия
Релокация: не готов к командировкам, не готов к переезду в Москву
Желаемая должность: главный разработчик, технический директор
Желаемая деятельность: разработка ПО, консультация в области разработки ПО
Занятость: гибкий график, удаленная работа (предпочтительно)
Желаемое время в пути до работы: не более часа
Опыт работы по специальности: с 06.2005 по настоящее время (18 лет)

Опыт работы

[xxxx]bank.kz

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

  • разработка сервиса аутентификации
  • участие в планировании архитектуры платформы микросервисов на базе openshift
  • разработка микросервиса автоматического заведения эквайринга
  • разработка микросервиса пуш уведомлений о карточных операциях
  • разработка микросервиса синхронизации из qpragma (pregress) в oracle с промежуточной обработкой (micro + kafka)
  • разработка микросервиса кардпроцессинга (way4 iso8583)
  • разработка микросервиса апи гейтвея (проверка jwt токена, роутинг на микросервисы, аудит сообщения в kafka, асинхронные сообщения посредством websocket
  • модификация фреймворка micro для отслеживания изменений конфигурации (consul/vault) и перенастройка сервиса (изменение уровня логирования)
  • собеседование devops инженеров и golang разработчиков
  • обучение java программистов банка написанию микросервисов на базе micro

[xxx]bank.ru

г. Москва Консультант по разработке микросервисов с использованием фреймворка go-micro (micro)

  • создание сервиса-конвертера из oracle базы данных в postgresql информации о клиентах из (xml => json с использованием protobuf, xpath, golang
  • разработка сервисов и консультация в переводе банковсковских процессов с siebel и oracle на postgres и микросервисы
  • множество правок в go-micro и go-plugins для уменьшения потребления памяти, увеличении скорости работы
  • создание plugin к go-micro для kafka брокера на основе segmentio/kafka-go
  • множество улучшений фреймворка (encoding/decoding, batch processing, metrics, performance)
  • создание сервиса кардпроцессинга (tieto is8583)
  • обучение программистов банка написанию микросервисов на базе micro, помощь в решении проблем с производительностью

unistack.org

г. Санкт-Петербург Владелец, системный администратор, главный разработчик

  • сделал форк go-micro (micro) и начал его активное развитие и поддержку
  • написал генератор для dbus библиотеки libvirt (golang)
  • исправил и улучшил библиотеку для управления Open vSwitch OVN (Open Virtual Network) go-ovn (golang)
  • стал официальный мейнтейнером go-ovn репозитория вместе с разработчиками из Ebay
  • написал библиотеку для чтения Ceph Crushmap файлов json/text/binary (golang)
  • пишу систему управления серверами с использованием микросервисов (golang)
  • возобновил поддержку go-rfb библиотеки для работы с vnc (golang)
  • исправление ошибок, улучшение go-micro
  • стал официальным мейнтейнером go-micro
  • улучшение различных подсистем go-micro (logger, api, grpc client/server, prometheus wrapper и др)

clodo.ru simplecloud.ru

г. Санкт-Петербург
Системный администратор, главный разработчик, главный специалист по программному обеспечению

  • развернул сегмент openstack swift в Санкт-Петербурге для организации гео распределенного хранения объектов
  • в одиночку администрировал более 420 серверов различной направленности (базы данных, виртуализации, приложений Php, бекап, сетевые, CI/CD) в 4 различных дата центрах в двух городах России
  • проводил проверку и тестирование рецептов opscode chef, проверял исправления, исправлял сам (ruby)
  • переносил текущие работающие сервисы на новое аппаратное и программное обеспечение без перерывов в обслуживании
  • переписал всю систему настройки серверов в opscode chef на saltstack с постепенным внедрением saltstack на текущих работающих серверах, которые обслуживались до этого opscode chef (python, ruby)
  • спланировал и разработал инфраструктуру хостинга виртуальных машин для массового использования (проекты clodo.ru/simplecloud.ru)
  • разработал и протестировал возможность переезда пользовательских виртуальных машин между двумя дата центрами (переезд между oversun mercury в ixcellerate) посредством gre туннелей и nbd без перерыва в обслуживании
  • занимался массовой сменой гипервизора на серверах виртуализации (с xen на kvm) и конвертацией виртуальных машин в автоматическом режиме (bash)
  • разработал возможность монтирования http/https адреса в режиме только чтения в локальный путь для rclone (fuse, поддерживается apache/nginx структура листинга файлов, golang)
  • написал поддержку Tight Png кодировки для node-rfb2 (nodejs)
  • написал поддержу dhcp пакетов для ogo openflow контроллера, исправил разбор openflow 1.0 пакетов для ogo openflow контроллера (golang)
  • написал поддержку dhcp пакетов для gopacket, написал начальную поддержку openflow (golang)
  • написал автоматический установщик операционных систем для клиентский виртуальных машин, который на-лету разжимал образ и пропускал в нем нули, для уменьшения времени установки виртуальной машины (использовался до того, как qemu научили не писать нули на диск, а игнорировать или посылать unmap) (golang)
  • написал множество исправлений packer для qemu сборщика, а также написал несколько пост-процессоров, которые в дальнейшем вошли в основной код packer (golang)
  • интегрировал packer в систему сборки образов виртуальных машин для клиентов, а также для внутренних серверов компании (базы данных, виртуализации, веб приложений и т.д.)
  • написал модуль ядра Linux для динамического управления памятью в виртуальных машинах (максимальная память виртуальной машины менялась в зависимости от использования памяти) (C)
  • написал систему динамического изменения размера диска виртуальной машины в большую и меньшую сторону при ее загрузке (bash, initramfs)
  • написал vnc proxy с возможность авторизации клиентов по http/https за год до того, как аналогичную возможность объявил digitalocean, сделал поддержку supermicro aten кодировки с автоматической конвертацией в raw кодировку для обычных vnc клиентов (golang)
  • написал ipv4 dhcp и ipv6 RA сервер, который интегрировался с libvirt посредством метаданных домена (golang)
  • портировал coreos-cloudinit для FreeBSD, добавил возможность сборки без CGO, добавил возможность изменения размеров FreeBSD слайсов (golang)
  • начал интеграцию системы развертывания готовых приложений JUJU для предоставления пользователям готовых настроенных приложений с возможностью их расширения
  • занимался исправлениями software defined storage Sheepdog (С)
  • разрабатывал Raft драйвер кластера Sheepdog вместо corosync (C)
  • работал с openvswitch, участвовал в обсуждениях в рассылке, помогал исправлять и тестировать чужие исправления
  • написал множество скриптов сборки для Exherbo Linux
  • написал поддержку создания tap устройств в Libvirt, добавил возможность указания айпи-адресов, роутов посредством Libvirt (C)
  • написал модуль dracut для загрузки через pxe+squashfs с поддержкой overlayfs (bash)
  • написал ftp сервер с бекендом в openstack swift с возможностью авторизации через http/https api (golang)
  • написал множество рецептов opscode chef для настройки серверов (ruby)
  • написал и добился включения нескольких патчей в opscode chef (ruby)
  • написал и добился включения нескольких патчей в saltstack (python)
  • разработал и внедрил систему зашифрованных виртуальных машин для клиентов для соответствия №152-ФЗ "О персональных данных" (altlinux, bash, C)
  • управлял отделом технической поддержки, занимался поиском сотрудников, в кризисных ситуациях общался с "проблемными" клиентами
  • провел множество собеседований на должности сотрудника технической поддержки и системного администратора
  • имею опыт увольнения проблемных сотрудников даже в критической ситуации для фирмы и работы вместо сотрудников более низшего звена (уволил всю техническую поддержку за саботаж рабочего дня в офисе - просто несколько сотрудников прогуляло рабочий день без уведомления), работал месяц совмещая работу системного администратора, начальника технической поддержки и сотрудника технической поддержки, чем заслужил благодарные отзывы клиентов

timeweb.ru

г. Санкт-Петербург
Системный администратор

  • ускорил работу почтовой системы, использовав nginx как фронтенд перед почтовой системой, снизил использование ресурсов, авторизация клиентов по http/https
  • начал внедрение bogofilter в качестве защиты от спама, вместо spamassasin
  • написал патч для отображения текущего обрабатываемого запроса в списке процессов для веб сервера apache (setproctitle) (C)
  • написал патч для Php, который переопределял встроенную функцию mail и вместо нее выполнял собственную функцию, которая позволяла записать в syslog полный бектрейс перед вызовом оригинальной функции (C)

vk.com

г. Санкт-Петербург
Системный администратор

  • помогал администрировать более 2500 серверов в различных дата центрах
  • реплицировал базы данных (master-slave), восстанавливал из бекапов
  • пытался переписать систему перекодирования фильмов для проекта vkadre.ru (Php)

peterhost.ru

г. Санкт-Петербург
Системный администратор, начальник отдела виртуального хостинга

  • занимался мониторингом сервисов виртуального хостинга (mysql, nginx, apache, exim), писал плагины для nagios
  • занимался отслеживанием ошибок в различных opensource продуктах, используемых в компании, накладывал исправления, общался с разработчиками
  • исправлял пользователям виртуального хостинга скрипты, отвечал на вопросы
  • написал систему переноса пользовательских файлов между серверами, аналог живой миграции до появления контейнеров и виртуализации
  • занимался переводом системы виртуального хостинга с FreeBSD на Gentoo Linux
  • занимался обучением новых сотрудников технической поддержки
  • тестировал кластерные файловые системы для нужд виртуального хостинга (gfs2, openafs)

Образование

  • Высшее, Университет ИТМО, окончил в 2009 году, по профессии инженер-программист
  • Повышение квалификации: Вдохновляющий менеджмент, 2008 год

Ключевые навыки

  • Знание языков:
    • Русский - родной
    • Английский - intermediate разговорный, читаю профессиональную литературу, переписываюсь в технических списках рассылок
  • Хороший технический кругозор в области виртуализации, систем хранения, виртуальных сетей
  • Умею ставить задачи и следить за их выполнением, проводить code-review

Обо мне

Предпочитаю удаленную работу, не люблю тратить время на дорогу до работы.
Интересуюсь техническими новинками в области систем хранения данных, виртуальных сетей, виртуализации.
Работал с различными версиями OS Linux: Gentoo, Fedora, Centos, Debian, Ubuntu, Exherbo, Slackware, ArchLinux. А также с FreeBSD.
Предпочитаю программировать на go, могу на ruby, python, c, php. Но предпочитаю на go.
Github профиль с частью моих разработок: https://github.com/vtolstov