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

Software development from for telecommunications, wireless, industrial installations scientific application till rest web services and different other applications. Hardware development for nuclear gamma resonance spectroscopy (Mössbauer effect), image processing, precision measurements systems and so on. I am a PhD in physics and mathematics. Have a  samples of my code on github (see projects in my organizations and my personal repos). Also I have 10 articles on physics in international magazines (Hyperfine Interactions, JMMM, Journal of Physics, Material Chemistry and Physics), 14 articles on programming and administarting Linux servers (local Russian magazine — System Administrator) and 8 Russian patents.

Спмсок статей по программированию и администрированию:

1. Ушаков М.В. Соберем Wi-Fi-точку доступа с WPA2-шифрованием на базе Wi-Fi-карты, hostapd и Linux. // Системный администратор. 2013. № 3. С. 88-91.

2. Ушаков М.В. Continious Integration системы Hudson. // Системный администратор. 2013. № 4. С. 87-91.

3. Ушаков М.В. GitLab локальный хостинг в стиле GitHub // Системный администратор. 2013. № 5. С. 88-91.

4. Ушаков М.В. Сервер приложений JBoss. Java-язык, платформа. // Системный администратор. 2013. № 5. С. 82-85.

5. Ушаков М.В. SpiderMonkey: Расширяем возможности приложений // Системный администратор. 2013. № 9. С. 88-91.

6. Ушаков М.В. Инструментарий разработчика C#. // Системный администратор. 2013. № 10. С. 85-91.

7. Ушаков М.В. Защита приложений. // Системный администратор. 2013. № 12. С. 85-91.

8. Ушаков М.В. Тестирование приложений при разработке. Функциональное и модульное тестирование. // Системный администратор. 2014. № 1-2. С. 89-93.

9. Ушаков М.В. Меньше кода больше дохода. Часть 1 создание проекта и конфигурирование // Системный администратор. 2014. № 1-2. С. 98-101.

10. Ушаков М.В. Меньше кода больше дохода. Часть 2 Разработка backend-слоя. // Системный администратор. 2014. № 3. С. 50-55.

11. Ушаков М.В. Меньше кода, больше дохода. Часть 3. Tapestry для создания Java EE-приложений. // Системный администратор. 2014. № 5. С. 56-61.

12. Ушаков М.В. ASP NET MVC. Веб приложения самостоятельного размещения. // Системный администратор. 2014. № 10. С. 63-67.

13. Ушаков М.В. Одноплатный компьютер Cubieboard2. Часть 1. Первое знакомство// Системный администратор. 2014. № 112. С. 36-38.

14. Ушаков М.В. Одноплатный компьютер CubieBoard2. Часть 2. Использование в качестве сетевого хранилища// Системный администратор. 2016. № 1-2. С. 34-38.

Участие в профессиональных сообществах
Опыт работы
ABC Solution
Екатеринбург
Старший разработчик, тимлид C#, Java, JavaScript
Декабрь 2017 — По настоящее время (2 года и 2 месяца)

Project Rostelecom Goals Lib, Rostelecom BonusCalc

Responsibilities

Developing C# (ASP NET Core) microservices for Fees Calculations and Goals Management (part of WFM proccess) for Rostelecom

Achievements:

Successfully released composite Web applications (1 micro service and 1 Application with GUI integrated with other services via ESB) in regular Rostelecom business processes including integration with SuccessFactors cloud service and Oracle R12 service.

Designed backend layer (EF Core, IMemCache, background task processing with Quartz) as well as front-end (LESS, html5, jQuery).During the web application developing i designed opensource library that was used in upper mentioned Web Application with GUI for generating parametrized Excel reports from database data with dynamic parameters (https://github.com/EvilLord666/ReportGenerator and GUI (independent Web Application with ASP NET Core MVC) for it (ASP NET Core Web App): https://github.com/EvilLord666/ReportGeneratorWebGui

Project: Beeline  Biometry authentication of Employee via Hitachi H1 Vein Scanners on clustered Web Application itself and clustered Database with up to 5000 clients. Developed open source package for getting WCF clients logs from WCF server (https://github.com/EvilLord666/WcfDiagnostic)

Responsibilities:

Designing high-availability distributed achitecture, Distributed node intercoinnection with Akka.net and Rabbit Mq

Achievemnts: Successfully released apllication in production environment

Project: Integration for Shell company:  Integration 3rd party web api with Apache Druid OLAP service via Apache ServiceMix (Java)

Project: Identity for other services: Implemented authentication using OAuth2 and OpenId for microservices using OpenAm and KeyCloak identity servers (Spring Boot Java demo project: 
https://github.com/EvilLord666/TechDemo)

Project: MTS Gamification adapter: system for data acquisition from MTS databases (temporarily data) process them using historical data model prepare for gamification service and make notification about data readiness

Responsibilities: solution architecture and design web part - integration beetween small http web-service on ServiceMix and Gamififcation server.

Project: LukOil: A bunch of application include 2 microservices (tasks and orgstructure), identity server and ESB service for wiring about 6 different applications.

Responsibilies: Architecture general design and methodology of development for design two highly available Spring Boot 2 services for representing orgstructure and tasks (goals, personal achievements),  data import from ESB (Service Mix), integration of applications with Identity Server KeyCloak using OpenID OAuth 2.0 and LDAP + ActiveDirectory users.

Achievements: Successfully designed all required services.

Environment: Visual Studio 2017, Net Core 1.1-2.1, EF Core, MS SQL, WCF, SignalR, Akka.NET, RabbitMq ASP NET, MVC, Razor, Html5, CSS, LESS, JavaScript (jQuery),

Java 8, 13, Spring Boot 2, Apache ServiceMix (Camel, Karaf), ActiveMq, KeyCloak identity Server

Bespoken software development
Екатеринбург
Senior C# Developer
Октябрь 2017 — Ноябрь 2017 (2 месяца)
Project: Click Brain

Project for creating new advertisement (ad) based on ad template, grouping them into listings and views (for rotattions), collecting and display stats (impressions, clicks, earnings), e.t.c.

Responsibilities included:

Design and develop proxy API for getting data from external service and grouping for reducing number of HTTP requests from client

Design stub data provider to test Angular JS components and whole interface

Design angular layout based on Options Admin Template and angular components

Environment: Visual Studio 2017, Asp Net Core 2.0, Angular 4, Azure AppInsight

УрФУ + Дизайн Центр Система (ПНИЭР)
Екатеринбург
Ведущий разработчик
Октябрь 2016 — Август 2017 (11 месяцев)

Software development for Wireless Devices based on new proprietary standard 802.11 ah (top level software for manipulating data flows between Linux app and a wireless module via USB.

- created C++ utility to interact with wireless module via C++ app and measure wireless characteristics (Bit Error Ration and so on)

- written C++ opensource library for Easy working with command line and Nuget Package for MSVS:

https://github.com/IzyaSoft/EasyCli

- created C++ opensource library for easy working with any Usb device (except isochronous) via LibUsb library:

https://github.com/IzyaSoft/EasyUsb

- developed Makefile pattern for building shared libraries from console in Linux:

https://github.com/IzyaSoft/EasyMakeSharedLib

УрФУ + Оптические Измерительные Системы (приказ 218)
Екатеринбург
Ведущий разработчик
Сентябрь 2016 — Август 2017 (1 год)

Hardware development based on FPGA via coding on HDL (Verilog and VHDL) for real time image processing

from linescanner sensors with bare metall application (C++) on ARM9 CPU (part of Zynq-7000 SoC). My contribution:

- created algorimtm and implementation for mesure optical signal frequencies from linescanner sensors

- created a C++ bare metal application for getting frequencies from hardware via AXI interface and configure whole system

- developed handy spi module due to Dragster sensors have non standard synchronization for applying configuration.

These projects on github:

https://github.com/OpticalMeasurementsSystems/2DImageProcessing

https://github.com/OpticalMeasurementsSystems/QuickSPI

УЭТМ
Екатеринбург
Инженер-программист
Август 2016 — Декабрь 2016 (5 месяцев)

Developed system for high power comutation for electrical plants. My contribution:

- added to project HTTP Server on STM32F407 microcontroller with real time OS (FreeRTOS) and LwIp network stack that allows to perform commutations from web browser.

- implemented algoritm (C) of switching for switch at phase where voltage is zero with accounting for temperature, pressure in hydraulic drive and other factors.

- added mechanism of getting elecric plant switching logs and voltage measure for specifed time.

Разработка программного обеспечения
Екатеринбург
Ведущий разработчик
Август 2013 — Сентябрь 2016 (3 года и 2 месяца)

Developed REST Security Service (C#, Web API, Entity Framework), my contributions:

- created tree like rules similar to linux systems security eules for accessing resources

- created versioning system for this service and updater utility for updating service database from every intermediate version to actual, so therefore we could have on every server actual database for service.

- were written unit, functional, integrational and even tests on routes for this service.

Developed OLAP Service (For my region local goverment) and C# Windows Forms application (Dev Xpress) for working with multidimensional data and handling this data according to dynamically formed tasks:

- improved service performance for getting heavy calculations independently from getting some other info

- reduces service complexity, separated logic according to class meaning (replaceda lot of spagetthi like code)

- fixed a lot of major and minor bugs (in aggregation, calculation and data representation).

Инженер-программист
Май 2011 — Июль 2013 (2 года и 3 месяца)
Development different Legal Interception (LESS) protocols using C++ and Java

- implemented support legal interception standard for Ukraine in C++utility for phone station performance testing (up to overloading) using Spider Monkey JavaScript interpreter for specify test algorithm and station load level (with SIP call and number of interception), also works with ASN.1 as a format of station commands and answers getting audio via TCP and RTP using linux API (select, poll, epoll).

- developed Java Web Service for Kazakhstan Legal Interception using Tapestry EE Framework and Hibernate ORM and jQuery this servise allows to manage stations, create and cancell tasks for interception.

- optimized databased structure and service logic for fast work when stored big amount of data (about 20 millions of rows in some of tables and even more) in x86 system (hardware limitations).

Современная гуманитарная академия
Екатеринбург
Системный администратор
Март 2010 — Апрель 2011 (1 год и 2 месяца)

Supporting servers and network stability, running custom (made by programmers of Modern Univercity of Humanities) software:

- writing and executing t-sql scripts for fixing databes and software mismatches, patching database and so on

- creating custom windows server distributives with supporting of needed software and some drivers (like external RAID controllers and so on).

Высшее образование
Уральский Федеральный Университет имени первого президента России Б.Н. Ельцина
Екатеринбург
Факультет: Физико-технологический институт
Сентябрь 2003—Февраль 2009 (5 лет и 5 месяцев)
Инженер-физик по специальности Электроника и автоматика физических установок, в настоящее время кандидат физико-математических наук.