Мегапосты:
Обо мне

Чем занимаюсь 

Сейчас разрабатываю микросервисы на python и golang. Использую асинхронный python. Проектирую схемы БД. Пишу код на raw sql. Провожу нагрузочное тестирование сервисов.

Чем занимался

Работал над развитием backend части сайтов компании LARIXON CLASSIFIEDS (Unegui.mn, Unaa.mn, Somon.tj, Fara.tj, Bazaraki.com, BestCyprusCar.com​, Pin.tt, JaCars.net​​).

Достаточно продолжительный период работал системным администратором linux. При этом приходилось внедрять "с нуля" сервисы "высокой готовности" (услуги связи: телефония, билинг, crm), после чего их благополучно обслуживать.

Не понаслышке знаю, что такое аварии. И как их увлекательно локализовывать и устранять по ночам и в выходные дни. Потому ярый сторонник тестирования, бекапов и горячих резервов.

За 8 лет работы воспитал несколько инженеров. А сейчас между делом воспитываю дочку и сына :)

В ходе работы периодически приходилось писать код на Python (в основном скрипты автоматизации), что мне доставляло большое удовольствие.

Почему поменял род деятельности

Программирование меня привлекает давно. И чем чаще сталкивался в работе с написанием какого-то кода, тем сильнее меня к этому занятию тянуло.

Мне оно просто нравится! Нравится программировать и учиться чему-то новому.

Одной из может не последней, но весомой каплей, послужила разработка морды на django для отображения статистики из crm и биллинговой системы. Сейчас пришло понимание, насколько криво я её написал (и это мой технический долг)... После этого решил потихоньку усилить скилы программиста и прошёл обучение на OTUS. Стал больше времени уделять профессиональной литературе.

В итоге поменял свой технический стек, чему очень рад. Админство правда из моей жизни так и не ушло, приходится плотно работать с инженерами из группы devops.

Что мне интересно

Интересен следующий стек технологий

  • python
  • golang
  • asyncio
  • django
  • flask
  • aiohttp
  • sql

Так же, в связи с тем что лет 10 назад плотно занимался теорией нейронных сетей и генетических алгоритмов (специализация в ВУЗе), привлекают темы машинного обучения.

Интересна художественная литература. Любимые авторы Достоевский, Прилепин и Водолазкин. С удовольствием читаю Толстого. Последняя из понравившихся книг: Гюго "Человек, который смеётся".

Об учёбе

  • Проходил обучение (по выходным, вечерам, а иногда и по ночам) в otus.ru на курсe WEB-разработчик на Python (https://otus.ru/certificate/201bb0e97f7d45ea866b713bb4e5b172/).  Особенно зашли темы о чистых функциях и декомпозиции программ, домашние задания по разработке своей пусть детской, но ORM (cuttlefish-orm https://github.com/ds-vologdin/cuttlefish-orm), и web-framework`а (cuttlefish-web-framework https://github.com/ds-vologdin/cuttlefish-web-framework). Так же для меня оказалось неожиданностью, что мне понравится писать css (после освоения препроцессоров и webpack) и код на js (ES6 + React). Ну и много всего интересного про django узнал.
  • Читаю профессиональную литературу.
    Понравилась книга Лутца "Изучаем Python". Многие вещи объясняются очень подробно, что радует.
    Очень понравился "Совершенный код" Макконела.
    Так же на видном месте книжной полки стоит "Совершенная архитектура" Дядюшки Боба.
    Когда-то был впечатлён книгой "UNIX. Разработка сетевых приложений" Стивенсона и соавторов.
    Понравился и "Мифический человеко-месяц" Брукса.
    Сильно помогли книги Гольштейна (это про телефонию, тут было мне особенно тяжело поскольку по образованию не связист, а работал я связистом), Олифера "Компьютерные сети".
    Между делом читаю книги о БД из рекомендаций https://postgrespro.ru/education/books .
    Впереди большой список на прочтение (стараюсь прислушиваться к рекомендациям).
  • Слежу за митапами moscow python.
  • Читаю рассылки Pycoders Weekly и Changelog Weekly.
  • Лет 10 назад интересовала тема HPC (high performance computing). Проходил обучение по параллельному программированию от Intel на базе ННГУ. Правда по серьёзному знания применить так нигде и не удалось.
  • Закончил ВУЗ по специальности "Вычислительные машины, комплексы, системы и сети".  В дипломном проекте реализовывал радиальную релаксационную нейронную сеть для распознавания образов (задачка правда была детская, надо было показать, что этот тип НС применим для этого класса задач)

В планах взяться плотнее за английский язык, очень хочется читать книги в оригинале без гугл транслита. Пока при чтении документации на английском временами приходится обращаться к переводчику.

Профессиональные навыки
DjangoFlaskPostgreSQLMySQLPythonLinuxGitBashasyncio
Участие в профессиональных сообществах
Опыт работы
Cyberstar, Inc.
Москва
программист python
Июль 2019 — По настоящее время (7 месяцев)

http://www.cyberstar.us/
Занимался разработкой микросервисов на asyncio python и golang. Взаимодействия между сервисами организованы на grpc, rabbitmq, kafka. Frontend общается с backend по grpc и websockets. Запросы к базе (mysql) осуществляются напрямую с raw sql.
Разрабатывал систему нагрузочных тестов, healthcheckers, систему сбора бизнес-метрик с сервисов (проверяет доступность и отправляет результаты в prometheus).
По итогу проведения нагрузочных тестов часть функционала была вынесена в отдельный микросервис на golang.
Переносил функционал websockets (json-rpc) на grpc.
Занимался поддержкой сервиса на aiohttp.

Используемые технологии:
python3.7, golang,  asyncio,  aiohttp,  grpc,  websockets,  mysql,  rabbitmq,  kafka, redis, s3

PythonasyncioDockerMySQLSQLRedisRabbitmqGolangLinuxKafka
Доска объявлений №1 на Кипре, Ямайке, Тринидад и Тобаго, Монголии и Таджикистане
Екатеринбург
бекенд-программист на python
Март 2019 — Июль 2019 (5 месяцев)

Занимался развитием и поддержкой бэкенда сайтов-объявлений https://www.unegui.mn/http://www.unaa.mn/,https://somon.tj/https://somon.tj/https://fara.tj/http://www.bazaraki.com/https://www.bestcypruscar.com/http://pin.tt/http://jacars.net/.

Подключил поисковый движок algolia. Изменил логику "сохранённых поисковых запросов".

Стек технологий: python3, django, drf, celery, algolia, postgres, git.

PythonDjangoLinuxDockerPostgreSQLGitCelery
ООО ГТС
Киров
Заместитель директора по услугам связи
Сентябрь 2012 — Февраль 2019 (6 лет и 6 месяцев)

Внедрение поддержка и развитие CRM системы (SugarCRM):

  • скрипты автоматизации (python): автозаполнение полей бд, автоматическое создание связей между данными разных модулей, формирование сводной информации по контрагентам, уведомления при неверном ведении записей в crm и т.д.
  • синхронизация с билинговой системой
  • workflow (хуки на python)
  • отчёты (jasperreport и django)

Администрирование серверов в своей зоне ответственности:

  • linux
  • lxc, docker
  • raid
  • postgresql/mysql
  • iptables, fail2ban

До 2016 года администрирование сети voip:

  • софтсвичи asterisk, rtu (МФИ Софт)
  • разработка и внедрение логики виртуальной АТС на asterisk (dialplan, sql - odbc)
  • интеграция asterisk с биллинговой системой (radius акаунтинг и аутентификация - со стороны asterisk agi скрипты на python, со стороны биллинга скрипты предобработки радиус запросов на java)
  • интеграция asterisk  с sugacrm (agi скрипты на python)
  • внедрение и администрирование биллинга (bgbilling): разработка скриптов автоматизации (такие как формирование и загрузка тарифных планов, сверки с вышестоящими операторами связи) на python, разработка отчётов python и jasperreport
  • системы высокой готовности: heartbeat, репликации mysql
  • мониторинг серверов и оконечных устройств (порядка 600 голосовых шлюзов) zabbix.

Взаимодействие с контролирующими органами.

В закончил обучение на otus.ru по направлению "WEB-разработчик на Python"

LinuxDockerGitPythonDjangoSQLMySQLPostgreSQL
инженер группы голосовой связи
Декабрь 2009 — Сентябрь 2012 (2 года и 10 месяцев)

Разработка и внедрение новых услуг связи: местная телефонная связь и передача данных для целей передачи голосовой информации:

  • развёртывание и администрирование rtu (МФИ Софт), asterisk, bgbilling
  • обслуживание серверов linux: кластер высокой готовности(heartbeat, репликации бд), статическая маршрутизация, iptables, fail2ban, бекапы
  • разработка скриптов автоматизации на python (прасеры логов, мониторинг качественных показателей сети ПД, отчёты и т.д.)
Вятский государственный университет
инженер-программист
Январь 2007 — Декабрь 2009 (3 года)

Разработка на C под linux vpn сервиса для нужд учреждения.

Высшее образование
Вятский государственный университет
Киров
Факультет: ФАВТ
Январь 2001—Январь 2007 (6 лет)

Специальность: вычислительные машины, системы и сети.

Основные интересы: генетические алгоритмы и нейронные сети.