Сейчас основной стек - это php с приоритетом на Symfony. Не против переключиться на Golang, но практического опыта меньше полугода.

Разработчик с разнообразным опытом: создание web-сайтов, серверных скриптов, разработка с нуля, работа в легаси-проектах, патчи к сторонним системам.

Работал и как бекенд-программист в паре с фронтенд-программистом. И как единственный фуллстек-программист плюс менеджер-сисадмин. И как один из разработчиков в проекте, где 100 человек. И как программист-тexлид команды из трёх программистов плюс удалённые менеджер-тимлид, тестировщик и сисадмин.

photo Yury Oblovatski
Location: Belarus, Gomel
E-mail: jury@observat.by
Phone: +375-29-9487321 a1 telegram
+375-33-6834075 mts whatsapp
Github: Observat

Work experience

Librarian in Children Recreation Camp "Forest Fairy Tale"
June 2006 - August 2006, June 2007 - August 2007, June 2008 - August 2008

Software Engineer in P.O.Sukhoi State Technical University of Gomel
August 2009 - May 2018

Develop of Unified System of User Authorization: registration, personal account of the user, admin panel, curricula, management of hosts, logs, etc. Getting data from 1C using SOAP. Patches for some of the system used.

Projects:
GUI-client to configure dhcp, September 2009 - November 2009
Registration in the Unified System of User Authorization, November 2009 - November 2012
Personal account of the user by Unified System of User Authorization, November 2009 - November 2012
Administrator module from Unified System of User Authorization, November 2009 - July 2013
Различные небольшие скрипты и патчи, January 2010 - May 2018
Payment and statistics of students, July 2010 - November 2012
Managing DHCP configuration via web-interface, June 2011 - November 2012
Personal account of the user by Unified System of User Authorization. Version 2, December 2012 - March 2015
Administrator module from Unified System of User Authorization. Version 2, April 2013 - May 2018
Electronic deanery, May 2014 - June 2014
Statistics of Internet use, July 2014 - August 2014
Common SOAP-server for interactions with 1C, October 2014 - May 2018
Reading rfid-tags student card in Linux, February 2015 - February 2015
Personal account of the user by Unified System of User Authorization. Version 3, March 2015 - May 2018
CAS-авторизация для DSpace6, November 2017 - December 2017
GUI-client to configure dhcp

Developer, September 2009 - November 2009

For changing of DHCP configuration, which is stored in LDAP, use your GUI-client with predefined rules and restrictions. The project was rejected.

Responsibilities:
Design and creation of GUI, communication via C-library libldap.
Technology:
C/C++, Qt3, libldap
Registration in the Unified System of User Authorization

Developer, November 2009 - November 2012

Registration in the ESAP, which automatically creates accounts of students and staff for all services: educational and administrative sites, mail, access to Internet, file storage.

Responsibilities:
Designing database, creating interface, checking of entered data on databases deans and department personnel.
Technology:
Perl, Catalyst, MySQL, HTML/CSS
Personal account of the user by Unified System of User Authorization

Developer, November 2009 - November 2012

Information for user about available services and quotas. Changing the password.

Responsibilities:
Designing and implement web-interface.
Technology:
Perl, Catalyst, MySQL, HTML/CSS
Administrator module from Unified System of User Authorization

Developer, November 2009 - July 2013

Viewing and editing of the settings of access to resources for students and staff. Viewing the distribution statistics of students and staff on educational groups and departments. Changing and checking official mail aliases. Managing advanced settings of access to resources by using groups in ldap. View logs of all modules and notify the administrator about critical errors. Management of operators of Unified System of User Authorization.

Responsibilities:
Development of web-interface, which interacted with MySQL and LDAP. Software maintenance.
Technology:
Perl, MySQL, LDAP, Catalyst, HTML/CSS
Различные небольшие скрипты и патчи

Developer, January 2010 - May 2018

Из change-файла со вставками sql-кода получить готовый к выполнению sql-файл. Оптимизация сравнения двух больших perl-хешей. Найти все процессы-воркеры, и kill те, которые ещё не зомби, но потребляют много процессора. Php-cкрипт, делавший optimize table в MySQL, переписать на консольный perl-скрипт с поддержкой параметров. Для случайно изменённого поля mysql-таблицы восстановить предыдущие значения из бекапа, при этом не обновляя другие поля или таблицы. Поиск бага в локальной версии intuit. Поиск причины зависания видео на новом ноутбуке. Собрать драйвер для нового сканера, а то некорректно работает на последней версии OC. Для плагина camm приложения cacti добавить оповещение через jabber. Преобразовать данные из xml в csv. Сравнение двух схем БД: одна в формате sql, вторая в json-формате.

Responsibilities:
Разработка скриптов и патчей.
Technology:
Perl, MySQL, С, Php, Python
Payment and statistics of students

Developer, July 2010 - November 2012

Data about payments and debts of students from 1C unloaded in MySQL via SOAP. Then the web-server shows it to students.

Responsibilities:
Development of webserver and soap-server. Forming wsdl, xsd, skeleton of function for 1C-programmers.
Technology:
SOAP/WSDL, Perl, MySQL, 1C
Managing DHCP configuration via web-interface

Architect, developer, June 2011 - November 2012

Storage DHCP configuration in the database makes it possible to change not only by system administrator. Also allows you to make backup copies and to link with other information about the host.

Responsibilities:
Development of database, scripts for transferring DHCP configuration from LDAP to database. Creating of web-interface for editing data, checking constraints, scripting database synchronization with LDAP.
Technology:
Perl, Mojolicious, LDAP, MySQL, HTML/CSS, DocBook
Personal account of the user by Unified System of User Authorization. Version 2

Lead developer, December 2012 - March 2015

Combining projects "Registration in the Unified System of User Authorization", "Personal account of the user" and "Payment and statistics of students" with design change and migration to platform Mojolicious+Bootstrap3. Add information about the educational process: curricula of correspondence faculty, academic performance and certification. Restoring password and username.

Responsibilities:
Everything except updates on production-server. Issuing tasks for designer. Software maintenance.
Technology:
Perl, Mojolicious, HTML/CSS/JavaScript, MySQL
Administrator module from Unified System of User Authorization. Version 2

Lead developer, April 2013 - May 2018

Association with the project "Managing DHCP configuration via web-interface" and migration to platform Mojolicious+Bootstrap3. Adding mail server logs, dhcp logs and dhcp statistics. Binding hosts with staff. Assigning responsibility for information security in the units and rooms. General UI improvements. Inventory number of the computer. Displaying data on the computers of the OCS Inventory NG. Use the JS framework Dojo to display statistics ( filtering and graphics ). There was an attempt to redesign the site as a web application on REST-architecture with the client part on Dojo, but eventually it was decided to use the gradual refactoring taking into account the gained experience. Purpose responsible for maintenance and installation. Logging maintenance hosts.

Responsibilities:
All development. Software maintenance.
Technology:
Perl, Mojolicious, HTML/CSS/JavaScript, Dojo, MariaDB, LDAP, SOAP, XPath
Electronic deanery

Developer, May 2014 - June 2014

Filling by staff data about educational process. But Terms of Reference is missing. After a year decided to purchase a ready-madе standart 1C-configuration.

Responsibilities:
Is not defined. Transferred to other project.
Technology:
Python, OpenERP
Statistics of Internet use

Developer, July 2014 - August 2014

Replacement LightSquid on Free-SA. Statistics considered by IP, but due to a VPN it is dynamic. Required replacing IP to username using database billing system ~AsmodeuS~. As well as optimization of this change, because the analyzer due to frequent calls to the database sometimes can not be completed until the morning.

Responsibilities:
Analysis and modification of free-sa project. Optimization (caching last data from billing system).
Technology:
С, libmysqlclient
Common SOAP-server for interactions with 1C

Lead developer, October 2014 - May 2018

There is a replacement of some systems ( evolution: MS Access => MS SQL Server => MySQL => 1C ) at 1C-configuration "Management of budgetary institution 8". But some of the data that will be stored in the 1C, need for Unified System of User Authorization. After analysis of the options ( SOAP, OData, direct access to PostgreSQL ) chose to run unloading via SOAP on schedule. In the process of implementation the project has evolved into a platform where you can create an unlimited number of additional SOAP servers. In July 2017 downloading of data about payment students moved here from the personal account of the user.

Responsibilities:
Creating of wsdl-links, nginx-configurations, soap-scripts ( used fcgi ), functions for unloading data from 1C, scheduled tasks in 1C.
Technology:
Perl, 1C, SOAP/WSDL, MariaDB
Reading rfid-tags student card in Linux

Lead developer, February 2015 - February 2015

Library switched to OS Linux. Program from the vendor for reading rfid-tags were not working correctly in Wine.

Responsibilities:
Analysis of the similar program for OS Windows. Created a daemon process for reading rfid-tags.
Technology:
Perl, Linux ( bash, xvkbd, udev )
Personal account of the user by Unified System of User Authorization. Version 3

Lead developer, March 2015 - May 2018

Support multilingual interface. Adaptive design to support mobile phones. Issuance of all available information to students of correspondence courses. Authorization in Microsoft DreamSpark. Authorization via Jasig CAS.

Responsibilities:
Everything except first line of technical support and updates of production-DB.
Technology:
Perl, HTML/CSS/JavaScript, Mojolicious, MariaDB
CAS-авторизация для DSpace6

Developer, November 2017 - December 2017

Добавление CAS-авторизации для DSpace 6. На github нашёлся патч для DSpace 5, но для CAS он использовал внешнюю библиотеку старой версии. Эта старая версия библиотеки не собиралась, имела несовместимый с новой версией интерфейс и полтора года как полностью снята с поддержки. Переписал найденный патч на DSpace 6 и org.jasig.cas.client 3.4.1

Responsibilities:
Анализ похожего патча для старых версий, написание нового патча, тестирование.
Technology:
Java, Apache Cocoon, Jasig CAS Server, org.jasig.cas.client v3.4.1

Software Engineer in Private trade and production unitary enterprise "First dimension"
January 2012 - June 2012

Inspecting and editing website izmerenie.by. Patches for 1C:Accounting

Webmaster in Gometal.by
September 2015 - October 2017

Создание и поддержка сайта gometal.by. Сайт представлял собой интернет-витрину из готовых статических страниц, которые были сгенерированы с помощью perl и пакета ImageMagick на основе xml и шаблонов Mojo::Template.

Software Engineer in Стратегический консалтинг
February 2017 - May 2017

Backend и frontend без вёрстки и дизайна. Технологии: Python/Django, MySQL, HTML/JS

Software Engineer in ITDoc
November 2017 - January 2018

Сфера деятельности компании – разработка и поддержка программного обеспечения для крупнейшей в США сети производителей/дистрибьюторов медицинского оборудования и лекарственных препаратов. Использовал: PHP7/Symfony3, JavaScript

Software Engineer in BostilSupport
February 2018 - July 2019, November 2019 - April 2021

Projects:
Reverd phone scam stopper, February 2018 - June 2018, November 2019 - April 2020
SmartBuy, June 2018 - October 2018
Корзина для shop.by, November 2018 - December 2018
Mebeljurnal.ru, November 2018 - December 2018
Mir24.tv, December 2018 - July 2019, November 2019 - April 2021
Объявления на shop.by, January 2021 - March 2021
Reverd phone scam stopper

Разработчик, February 2018 - June 2018, November 2019 - April 2020

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

Responsibilities:
Переписывание админки с чистого PHP на Symfony(easyadmin), добавление в неё функционала. Создание API для интеграции с корпоративными клиентами
Technology:
PHP7, Symfony3, MySQL
SmartBuy

Ведущий разработчик, June 2018 - October 2018

Проект рекламы через кассовые чеки. Игрок сканирует чек или QR-код в магазине, регистрируется в системе и принимает участие либо во мгновенной лотерее, "стирая" билетик на смартфоне, либо в викторине. При выигрыше обращается к кассиру за призом. CMS для управления множеством компаний-клиентов и их кампаний с призами.

Responsibilities:
Анализ. Реализация всего backend. Deploy. Доработка под frontend
Technology:
PHP7, Symfony4, JSON API, MySQL
Корзина для shop.by

Разработчик, November 2018 - December 2018

Глобальная корзина - посредник между покупателями и магазинами-продавцами. Продавцы подключают корзину как сервис. Корзина сама определяет, какому конкретному магазину перенаправить заказ. Заморожено из-за долгого согласования с менеджментом

Responsibilities:
Анализ ТЗ. Изучение существующего кода. Оценка времени выполнения
Technology:
PHP, Go, Laravel, Yii2, MySQL, GraphQL
Mebeljurnal.ru

Разработчик, November 2018 - December 2018

Responsibilities:
Отвязка от старой БД, оставшейся от Joomla. Обновление PHP и Laravel до свежих версий
Technology:
PHP, Laravel, MySQL
Mir24.tv

Разработчик, техлид, December 2018 - July 2019, November 2019 - April 2021

Багофиксы и разнообразные дополнительные функции для mir24.tv и её админки. Реализация API для SmartTV. Переписывание API для мобильного приложения с Java на PHP. Сайт-кастинг для "Слабого звена".

Responsibilities:
Начинал как один из пяти программистов, а закончил как программист-техлид команды из трёх программистов плюс удалённые менеджер-тимлид, тестировщик и сисадмин.
Technology:
PHP7, Laravel, Lumen, ReactJS, Java, MySQL, Memcached, Sphinx
Объявления на shop.by

Разработчик, January 2021 - March 2021

Для объявлений создаются 4 подпроекта, у которых общий API. К нему могут обращаться либо PHP, либо Vue.js. API написано на Golang, скрывает БД от всех остальных и его интерфейс - это GraphQL

Responsibilities:
Проектирование, реализация и тестирование БД и API
Technology:
Go, GraphQL, MySQL, ManticoreSearch, PHP, Laravel

Software Engineer in Z4.by
July 2019 - October 2019

Разработка CRM для Поступи.бел. Технологии: PHP7/Laravel5.8, JavaScript/Vue.js, MySQL, Redis, WebSocket.

Senior Software Engineer in VirtualHealth
April 2021 - Present

Projects:
Infrastructure team, April 2021 - April 2022
Workflows team, May 2022 - Present
Infrastructure team

Developer, April 2021 - April 2022

Основные домены: New instances, ElasticSearch, AWS S3, Airflow, Notifications, Twilio. Команду расформировали при обновлении процессов в компании.

Technology:
PHP7, Symfony, Yii, Python, Airflow, RabbitMQ, ElasticSearch, MySQL, AWS S3
Workflows team

Developer, May 2022 - Present

Основные домены: Care team, Maxwell, Interact, Twilio

Technology:
PHP7+, Symfony, Yii, RabbitMQ, ElasticSearch, MySQL, AWS

Education

Francisk Skorina Gomel State University

Software Information Technology

Belarus, Gomel, 2004-2009

Skills

Technology The level and last used
Programming Languages
PHP
2022
Python
2021
Go
2021
JavaScript
2021
Java
2019
Perl
2018
C
2015
C++
2009
Data stores
MySQL/MariaDB
2022
Elasticsearch
2022
Redis
2021
Sphinx/ManticoreSearch
2021
Memcached
2021
LDAP
2017
SQLite
2016
PostgreSQL
2016
MS SQL
2009
Software Platforms
HTML/CSS/JS
2021
SOAP/WSDL
2018
1C
2018
.Net
2009
Foreign Languages
English
2022
French
2004

About me

Если из треугольника "Дёшево. Быстро. Качественно." вычеркивается Качественно, то мне некомфортно. Предпочитаю вычеркивать или Быстро, или по чуть-чуть Быстро и Дёшево

Профиль по Белбину: специалист, аналитик, далее плотной группой идут финишёр, исполнитель, идеегенератор.

Хобби: исследовать и созидать. Коллекционирование впечатлений, идей, мыслей и сюжетов из книг и фильмов; велосипед, исследование местности пешком; мысленное построение математическо-аналитической модели чего-либо. Например, найду алгоритм или стратегию выигрыша в игре и после этого могу потерять к ней интерес, ведь осталось просто следовать найденному алгоритму.

Третья рабочая группа инвалидности: после 18 лет больше по близорукости, а до 18 по ДЦП.

Один глаз с рождения 0.03 и зрение монокулярное. На должностях, требующих работу на компьютере, медкомиссию сейчас прохожу, если в направлении на медосмотр будет формулировка "... на должность инженера-программиста без вредных условий труда". В Беларуси формулировка вредности: "Наблюдение за экранами видеодисплейных терминалов: при буквенно-цифровом типе отображения информации - более 3 часов в смену, при графическом типе отображения - более 5 часов в смену" ( пункт 5.6.3 Приложения 1 Постановления Министерства здравоохранения Республики Беларусь от 28.04.2010 N 47 ). Есть ИП, на них медкомиссия не распространяется. Другие маловероятные варианты: аренда/аутстаффинг; официально 3, а фактически 8; договор подряда. Возможно я чего-то не учёл либо законы уже поменялись.

Английский неразговорный. На слух иностранные языки воспринимаются плохо, т.к. из звукового потока я не всегда успеваю выделить слова до того как произнесётся следующая фраза. Это также осложняется тем, что написание и произношение слов в английском языке отличаются. Ещё для распознавания слов важен контекст. На матанализе была новая тема и новый термин, который я слышал то как "пояс", то как "полюс". После лекции я посмотрел в учебнике: полюс. Больше слова "пояс" я не слышал :) А вот русские "пятьдесять" и "шестьдесять" я нередко путаю, т.к. они звучат похоже и в любом контексте равнозначны.


If you are creating or refreshing the development team, please contact me. I will consider any proposal.

Last updated: 2022-06-06 18:38:26