I am a master Java Software Engineer with 16+ years of technical expertise in the provision of high-end enterprise solutions using different variants of Java frameworks on projects. I have hands-on experience in team management - gathering technical requirements from 20+ analysis and design documents for integration tasks on different systems. I also use Python, JavaScript, Django and Node.js for the delivery of high-quality, cost-effective and efficient software solutions on projects for clients.
Worked on the development of a collaboration platform for manufacturing companies to digitize their inventories of spare parts.
Reduced the size of the used Docker images (Alpine). Optimized Gradle build (task configuration avoidance, build cache, forked integration tests, forked compilation, proper dependencies scope).
Fixed the GitHub actions not to do builds when it's not necessary and pass all the PR checks (frontend & backend). Introduced Kotlin linter, removed unused code, and fixed the code style.
Worked on implementing FIXatdl XML transformation into HTML forms using XSLT / HTML / JavaScript / Bootstrap / JQuery and embedded it into the existing Swing application using JxBrowser.
Implemented required new functionality for the application, using C++.
Automated unit testing processes to run tests in Gitlab pipeline and split tests into groups to run integration tests separately.
Prepared the full set of internal APIs for migration from Vaadin to React (23 Spring controllers) and used a Swagger file to coordinate changes with frontend developers.
Provided support on the project, removed deprecated code and reviewed 23 features and bug fixes performed by other developers.
Worked on the digital transformation of the bank’s business; developing all REST-services and a part of the GUI.
Developed a REST-service designed for loading about 2,000 requests per minute (getting data from clients), as well as working in parallel with a quartz-scheduler to handle data.
Built an application based on Hibernate, Spring MVC and jQuery for the editing of configuration properties in the database of a CRUD application.
Prepared several user's manuals and functional specifications for developers and developed a PoC solution for storing historical data in Hadoop using Hive for data selection.
Implemented a distributed database (a Greenplum analog) with a JDBC driver and expanded its functionality using ANTLR.
Evangelized the use of Mockito for unit tests and implemented automated integration testing using Cactus, and later Arquillian.
Actively participated in a 4-member developer team for the development of the product; working on the huge features backlog on the project by developing automated unit test tools to control the quality of tests run on the Gitlab pipeline to make feature development and delivery safe and fast and has 5 active users.
Worked on the implementation of a distributed database to cope with queries from an Oracle database with dozens of millions of records to select from. Built the JDBC driver for the database; found a way to extend SQL syntax using ANTLR, and implemented a part of the master server to manage queries to the slave nodes. Concepted a PoC with Hadoop and Hive to select archived data on the project. The product was successfully delivered in 6 months and is used on the backend of the Insights marketing platform acquired by IBM.
actiTIME is a solution that provides a convenient way for users to manage project scope, assign tasks, track time and analyze business performance based on collected data. Worked as part of a team of 5 developers for the implementation of features and fixing of bugs; implementing a lot of features, including reports generation, and export to CSV. The project is under constant development and is used by companies like Accenture, Intel, and The University of Texas at Austin.
Education
Specialist Degree in Informatics, Computer Techniques and Computer Technologies
ITMO University
2002 - 2007 (5 years)
Oracle Certified Professional, Java SE 8 Programmer