Software engineer experienced in designing, developing and delivering high-quality code in multiple languages. Passionate and focused on scalable, highly available and fault-tolerant solutions. Eager to learn new technologies and improve products and systems.
Software Engineer, Sep 2017 - Apr 2020
Developed Java back-end services for Beru e-commerce marketplace that provided core functionality such as user carts, order checkouts, payments, customer notifications, APIs for internal components, and public APIs for shops.
- Led various projects focused on improving reliability and customer experience.
- Analyzed business requirements, provided solutions and time estimations.
- Designed and developed new features, fixed bugs, refactored, tested, and reviewed code.
- Provided mentorship to new team members.
- Led, designed, and developed cross-component features built with various technologies, meeting strict deadlines while maintaining code and architecture quality.
- Organized team workflow to tackle technical debt by negotiating importance and priorities with managers, revisiting current and introducing new practices.
- Improved integration between multiple components that decreased service resource consumption by up to 70% and response time by up to 40%.
- Significantly decreased service downtimes and response error percent during releases by improving database management and database refactoring process.
- Improved and optimized release lifecycle that decreased release and hotfix time by up to 75%.
- Improved continuous integration process and automated multiple development workflow steps that decreased development cycle time by up to 50%.
- Migrated multiple back-end services to Java 11, improved dependency management that significantly decreased artifacts size and dependency conflicts.
- Automated backward compatibility checking for cross-component APIs, integrated it to the development workflow.
- Numerous code maintainability and service reliability improvements.
Technologies: Java 8, Java 11, Spring Framework, JDBC, jOOQ, PostgreSQL, Zookeeper, SQL, Gradle, JUnit, Clickhouse, Distributed Systems, Continuous Integration, Continuous Delivery, TeamCity, IntelliJ IDEA, Microservices, Concurrency, Git, Linux.
Senior Full Stack Developer, Mar 2017 - Aug 2017
Developed a budget planning system for the Ministry of Finance of one of the Russian Federation regions. The system was an SPA with ExtJS front-end, C# and ASP.NET MVC back-end.
- Provided leadership and mentorship to the engineering team, coordinated workflow.
- Analyzed business requirements and provided solutions to resolve system and user issues. Estimated task time, planned releases.
- Designed and developed new features, fixed bugs and performance issues on both front- and back-end sides of the application, reviewed code.
- Fixed performance issues, decreased processing time of some operations by up to 90%.
- Improved performance of SQL queries by adding indexes and redesigning parts of the database schema.
- Successfully met deadlines of releases both as a coordinator and a part of a team.
Full Stack Developer, Dec 2015 - Mar 2017
- Developed new features and fixed bugs on both front- and back-end sides of the application, reviewed code.
- Designed and implemented MS Excel report system based on Syncfusion XlsIO that decreased development time of reports by up to 75%.
- Designed and implemented an aspect-oriented authorization system for various modules.
- Redesigned and refactored document management subsystem that improved document flow performance.
Java Developer, Jun 2015 - Dec 2015
Developed back-end services and refactored monolithic application into Java microservices.
- Developed new features and fixed bugs.
- Analyzed business requirements, took part in the elaboration of system design.
- Conducted research on message brokers (ActiveMQ and RabbitMQ), performance and persistence comparison.
- Deployed and configured ESB (Mule ESB), adapted system components to use ESB and message queues.
- Conducted performance testing of newly developed services, fixed performance issues.
Technologies: Java, Spring Framework, JDBC, MySQL, Maven, JUnit, IntelliJ IDEA, NetBeans, ActiveMQ, RabbitMQ, MongoDB, Mule ESB, Microservices, JMeter, Scrum, Linux.
Novosibirsk State Technical University
Software Engineer, Sep 2013 - Jun 2015
- Developed and implemented geophysical numerical modeling software modules based on the finite element method in C/C++ and boost.
- Accelerated numerical modeling on CPU (OpenMP) and GPU (CUDA).
- Decreased large sparse linear system solving time by up to 75%.
- Developed and implemented a distributed system for numerical modeling.
Technologies: C/C++, CUDA, OpenMP, Intel MKL, Git, Visual Studio, Windows 10.
M.Sc. in Applied mathematics and computer science
Novosibirsk State Technical University, 2008 - 2014
Graduated with Honours. Gained knowledge and experience in C/C++, concurrent programming on CPU (OpenMP, pthreads, Intel MKL) and GPU (CUDA), algorithms and data structures. Thesis on solving complex numerical modelling problems of physical processes with acceleration on CPU and GPU.
Python Test Explorer for Visual Studio Code
Visual Studio Code extension with more than 175K unique installs. It allows users to discover and run Python Unittest or Pytest tests with the Test Explorer tree view.
Fake name generation extension for Chrome
Fake name generation extension generates random profiles using different external sources. You can also save generated data for later use.
- Neural Networks and Deep Learning, Coursera, July 2019
- Introduction to Machine Learning, Coursera, December 2018
- Data Structures and Algorithms Specialization, Coursera, May 2020
- DEVOPS200.9x: Architecting Distributed Cloud Applications, edX, June 2018
- Using HYB Sparse Matrix Storage Format for Solving Linear Systems Obtained by FEM Discretization on GPU, Actual Problems of Electronics Instrument Engineering (APEIE), IEEE, Oct 2018
- Finite Element Code for Multidimensional Numerical Analysis of Squirrel-Cage Induction Motor, Actual Issues of Mechanical Engineering, Jul 2017
- Approach to distributed computing system development for three-dimensional geoelectromagnetic problem solving, Actual Problems of Electronics Instrument Engineering (APEIE), IEEE, Oct 2016
- GPU implementation of iterative solver for linear systems obtained by FEM discretization, Actual Problems of Electronics Instrument Engineering (APEIE), IEEE, Oct 2016