Position: Java Developer
Category: Java
English level: upper
Years of experience: 8

I have performed a complex but seamless to app users data transformation, which helped the project to become more scalable and reduced the load on servers. From business perspective, that reduced our cloud infrastructure costs by approximately 40%.

As an engineer I always look for an opportunity to simplify complex systems as much as possible and standardize them.

And there was a case, when I simplified communication of client applications (Web, iOS, Android apps) with server by adding a strong validation rules to the data they can receive and send to the server. That helped us to get rid of inconsistency in user experience between Android, iOS, Web users, which we experienced before on early development stages.
monolithic app was originally implemented on Ruby and the customer decided to move all the logic to java microservices in a step-by-step manner. I was working on some of those services, 2 of which I made from scratch. My responsibilities were:
- creation of technical design and its presentation to the team;
- research on all the possible dependencies of the new project;
- communication with the devops team to provide all the required infrastructure and access to dependent services;
- implementation according to approved tech design;
- coverage of created service with tests;
- delivery of those services to production.

--

Since December 2019 till November 2021 I've participated in the implementation of several microservices based on Bootique, Apache Cayenne and LinkMove frameworks, maintained by ObjectStyle LLC.

I was responsible for backend implementation of independent microservices according to the specifications, provided by customer and our subsequent discussions. One of those services I've started from scratch. In addition to main responsibilities, I've been taken part in a process of configuring basic CI/CD in atlassian infrastructure within provided bamboo-specs tool. For local development we have used Docker containers.

-----

Before that I worked for another project. With my colleague we both modified application which is based on GCP stack and uses Google AppEngine, Datastore, TaskQueue, Firebase and cloud-hosted Elasticsearch. As a result of our about half a year collaboration, our refactoring resulted in up to 66% less expensive monthly bills. That became possible due to lacks in architecture of design of application at early development stages. Nevertheless, I was very satisfied with the result of my work then. We both made great efforts for that and got the result we expected.

Later on that project I've spent half a year as Team Lead in a group of three backend developers (including me). As a Lead, I was responsible for communication with our BA for resolving business issues related to the project and 3 other teams of iOS, Android and Web engineers.
I used to work as a backend Java dev, and it would be more convenient to me to continue to gain experience and knowledge in that role.