About Me
Hi, I am professional software developer with experience in commercial development in Java more than 5 years. I am currently working for Alfa Bank as a Senior Java Developer on a commercial B2B banking platform.
I enjoy making clean testable code and scalable applications. I have worked with a range of different languages and frameworks and I am always looking for opportunities to work with something new. The things that I currently have the most experience working with are: Java, Spring, Spring Boot, Spring Security, Spring MVC, Spring Cloud, Spring OAuth2, Spring Data & Hibernate, JEE, REST & SOAP, Tomcat, Docker, Maven, Spring, Postgres, Oracle, OeBS & ADF, JSF & IceFaces, Angular.
Experience
Alfa Bank JSC
Lead Java Developer
November 2018 - Present
We create digital bank for B2B sector, migrate our business customers from offline to online.
- Migrate from old-legacy monolith system to micro-services architecture, now we have NodeJs, Go and Java services, managing them using Docker and Kubernetes.
- Created new user authorization and authentication service, to provide flexible token-based service, for our web, mobile and Open API platforms.
- Create new application system for our managers, to give them ability smoothly and conveniently serve our business customers, like register account, open/close the bill accounts, share their accounts with other, and link e-digital token signatures.
- Java, JavaScript, Go, Spring Boot, Spring Security, Spring Data, Hibernate, REST, OAuth2, SSO, Junit, Spring Test, React, Redux, React Forms, Docker, Jenkins, Spring Cloud Config, Eureka Service Registry, Consul, Zuul API Gateway.
Large telecommunication company, using existing telecommunication platforms, we create digital products for front offices, customers, and business partners.
- Created backend using micro-services architecture for web and mobile API.
- Implemented Service Gateway to proxy, log, and secure all requests to micro-services.
- Integrated with third party API using SOAP and REST.
- Implemented system architecture and developed CI/CD pipeline for micro-services.
- Developed MVP of the Admin and Dashboard pages using Angular for Dart.
- Java, Spring boot, Spring Security, Spring Data, Hibernate, OAuth2, REST, SOAP, Junit, Spring Test, Angular, Docker, Jenkins.
E-Commerce Center JSC
Senior Java Developer
Java Developer
September 2014 - August 2016
Senior Java Developer
August 2016 - September 2017
Projects for E-Governance.
- Improved Governance BI platform for Ministry of the Finance, Department of the Treasure. Transformed old reports to the new one, added new type of report, participated in creating data collecting store using Pentaho, created new stored procedures and business logic in Java for Oracle BI Publisher.
- Developed ERP system for the Department of the Treasure using Oracle E-Business Suite. Created new business workflows, updated legacy parts, integrated with other governance systems, improved user management platform, injected role based action control paradigm.
- Developed and maintained ERP system for the Ministry of the Finance, Department of the Audit. Used SAP as core platform, business logic has developed using Java tech stack. Created Risk Management System, where we implemented scoring system of organizations, to predict, which pool of organization to take for auditing.
- Java, Tomcat, Weblogic, JSF, IceFaces, Oracle 10/11g, PL/SQL, OeBS, BI Publisher, FICO Blaze Advisor, Oracle Application Forms, JBoss Seam, TestNG, Hibernate.
Kazkom Bank JSC
Java Developer
February 2014 - September 2014
Created large banking platform for corporate clients.
- Produced new components for the front-end using Apache Wicket, like account statement, account reports, account statement exports in various formats for tax service or local CRM systems.
- Produced Amex (American Express) as new payment type for our customers End-to-End, from extending Oracle’s Stored Procedures to Java Services.
- Migrated from old version of Java and core libraries to newest one, implemented using TDD technique.
- Java, Spring MVC, JUnit, Apache Wicket, Bootstrap, Hibernate, Oracle 11g, PL/SQL.
Education
International Information Technology University
BSc Computer Science
2010-2014
During my degree I was member and team-leader of ACM team.
In the 3rd years at University, we opened organization, where we helped freshmen students with challengeable courses like Algorithms & Data Structures, C++ and Java.
Theme of my diploma work was about classification and detection biologica cells, to predict diabet using human saliva. To solve that problem we had a group of specialists from two universities. My job was to make research ability to use fuzzy logic algorithms on cell images and create desktop Java application for doctors.
A Little More About Me
When I am not programming, I prefer to jogging, read science fiction books (my favourite is Dune), climb to mountain, cycle bike and Jiu Jitsu.
In the last few years, I use a lot of microservcies arhitecture, creating new one and migrating from old legacy codebase. But, microservices architecture is not aim, I always try to choose the right tool for the project depending on the business needs. Also prefer Amazon’s slogan - if you build it, you run it. Always try to create CI/CD pipeline for my services.
For my pet projects I would like to use PHP and Python programming languages, for scripting and making prototypes.
Before starting coding, I prefer to draw system design using UML. It is cheaper to make changes in diagrams, rather than in code base.
And I believe that, simplicity is a key. Because it is easy to make complicated systems, but it is hard to make straightforward systems.