Skills and specialization

Software design and development more than 17 years, including 10 years as a Java developer. Experience in design and development customer data storage which includes issues of consistency and coherence of data. Creation cache system, design and development CMS. Using re-factoring, unit testing, design patterns and avoiding using anti-patterns.

Development for Java platform with using frameworks/technologies: Spring, Hibernate, Web services, Java Concurrency/Multithreading, NIO, EJB; application servers: GlassFish, JBoss AS; web servers: Tomcat, Jetty, Nginx; DBMS: Oracle, PostgreSQL, MySQL, Redis, Apache Derby; message brokers: Kafka; Clouds API: DigitalOcean, AWS S3, AWS CloudFront; testing frameworks: JUnit, Mockito.

Projects

Proof of skills

  • Design and implementation application/service "Data collector" - collector of user data from different sources, with filters, pre-processors, post-processors, flushers for manipulation and storing data. Handling history of employees' attributes, allowing retrospective changes.
  • Price Throttler Service for distributing currency updates to fast and slow listeners. Some currency changes 100 times per second and some changes only several times per day. Slow subscribers doesn’t impact fast subscribers and get updates only for the latest value.
  • Creating service for synchronization user data, receiving and accumulation user’s statistic, giving report about user’s activity. Using no-sql DBMS for storing statistic’s data and relational DBMS sharding for general data.
  • Glossary of trade assortment for large trading marketplace. Development objects to glossary binding algorithms, analysis of unstructured data. Binding algorithm throughput is 30 000 requests/sec.
  • Platform for real estate agencies with inter-company data exchange and demand-supply matching.
  • Intelligent replication system between unlimited number of distributed data center in order to ensure system resilience with increased reliability requirements — in project «Situation center 112».
  • Implementation of increased protection against employees fraud in contracts reference system for JSC «Kubanenergo».
  • «Navstat» — vehicle monitoring system.
  • Information portal «Otdih Na Kubani.ru» — speed data storage, core stabilization, two level cache system, load balancing, search system.
  • Information portal «Yuga.ru», the most famous sections are news, business, art event schedule, musical lounge, job applications, statistics, chat.

CV

Experienced Java Developer with a specialist's degree in computer science. I am interested in a career as a Software Engineer.

Work experience

✓Lead Software Engineer, EPAM Systems, since 2021 ✓Java developer, Self-employment, 2014 — 2021 ✓Senior developer Java at CJSC «Sirius», 2013 — 2014 ✓Senior Java developer in IT department at JSC «Kubanenergo», 2011 — 2013 ✓Senior software developer at LLC «Na Kubani.ru», 2008 — 2010 ✓Senior software developer at LLC «Yuga.ru», 2005 — 2008

Education and training

✓Certificate IELTS Band 6.0, «SI IELTS Test Centre — Rostov-on-Don», March 2015 ✓Course «ANSI PMI PMBoK Guide v.5 based Project Management», Computer Training Center «Specialist» at Bauman Moscow State Technical University (Bauman MSTU), June 2014 ✓State registration of the computer program #2013661926, «BST State and municipal payments», December 2013 ✓Course «Psychological aspect of successful production activities», ANO «ECC «Energopersonal», June 2012 ✓Certificate #00197794 «Java programming», Training Center «Intuit», May 2012 ✓Engineer's degree (5 years), Control and Computer Science in Engineering Systems, Faculty of Computer Technique and Automation Systems, Kuban State Technological University, 1996 — 2001 ... more details...

Open-source projects

Open-source projects and tools I am an author of or involved in

PerformanceMeasurer

Open source Java library for getting information about workflow of Java application        GitHub          logging   performance        1

Nuances of Java development

This blog is about Java development and describes in detail the most interesting topics

All you want to know about Singleton

The singleton design pattern is one of the most inappropriately used patterns. In this article we review several implementations of a singleton that work correctly in multithreaded environment, with serialization and cloning tasks and even with reflection attacks.          pattern   singleton   dependency injection        1

SynchronousQueue VS TransferQueue

One addition in Java 7 is an interface TransferQueue in addition already exists from Java 5 SynchronousQueue. What is the reason of new interface?          concurrency   multithreading   SynchronousQueue   TransferQueue       

How to use ConcurrentHashMap in Java

Before Java 1.5, if you need Map implementation, which can be safely used in multithreading Java-application, you have only Hashtable or synchronized Map, because HashMap is NOT safe.          concurrency   multithreading   ConcurrentHashMap       

Contact Me

I am interested in developing my business and professional relationships and always opened for offers. If you have something to discuss, please, contact me.