Lead software developer / “C.T.Co” Latvia (ctco.lv)
Dec 2021 - Current
The main focus of the project I'm working on is to split a monolithic application into microservices and deploy them into the Microsoft Azure cloud. My responsibility on the team is to present a Spring Boot application and transfer existing REST endpoints to the new implementation. The main challenge is to ensure that we do not lose any functionality during the transfer. Our stack includes Spring, Hibernate, Postgres, and the Azure infrastructure.
Backend developer / "Orbita"
Aug 2020 - Sep 2021
I have been involved in Rest API development for online banking since the project's inception. Our team of three was responsible for processing deals for international business. Throughout this project, I created a temporary storage system using MongoDB and the Spring Reactive plugin, integrated our module with various bank APIs via REST and Kafka, and designed numerous new entities and their validation.
In the first 3 months, a currency control team, of which I was a part, presented the MVP. In the following year, we released our project to production
Aug 2019 - May 2020
FreeConferenceCall.com is a conference-call service that offers hardware and software solutions for a large number of attendees. The Java team have been creating an interlayer between web clients and the hardware. My responsibilities included:
- Transfer from soap to rest interface
- Mail service and template editing (velocity)
- Teamcity configuration
Software developer-architect / Intech (intech-global.com)
Jul 2016 - Jun 2019
I have been involved in developing the backend for a music portal, handling logic and command processing using Spring, Hibernate, and PostgreSQL. The project is a system of microservices that includes web, mobile, and USSD components with a unified backend. Interaction between services is based on the REST architecture. Maven is used as the build tool, and Git for version control. I participated in designing the API architecture for Intech's main solution, Ring Back Tone.
In that project, I implemented a subscription-based model instead of a purchase-per-item sales model. As a result, it increased the application's income by up to 5 times.
Software developer / NetCracker (netcracker.com)
Aug 2015 - Jun 2016
As part of a Scrum team, I was responsible for a geographical view project. We used Google Maps API, Leaflet API, GWT, JSP, and Guice for injections to implement a map with highly customized and dynamically changeable telecom infrastructure. I made some extensions to the model to satisfy customer needs and wrote loading procedures to display new entities on the map. Additionally, one of my responsibilities was creating test policies. Our team developed models and wrote controllers to extend the map's functionality. I specifically worked on a model and controller to show labels, such as marker labels and polygon labels. For the frontend, we utilized GWT and JSP. Our team wrote JUnit tests using Mockito, and we used Maven to build projects and Jenkins as our CI (Continuous Integration) tool. SVN was our version control system. In general, the application consists of components like microservices that are deployed to WebLogic. We used Oracle as the database without any ORM since the database structure was not common.
Software developer / "MERA NN"
Nov 2013 - Jul 2015
As part of an international team, I was responsible for developing a Java enterprise application called TeamTracker, as well as bug fixing for call center software for Avaya. We utilized Vaadin, Spring, Hibernate, and JUnit. TeamTracker is highly customized and allows tracking of every employee's tasks. I developed report functionality and features to optimize routine business processes.