Lead Software Engineer
CurrentStarting as a Senior Developer, was promoted to a Team Leader within 1.5 years. Latest responsibilities included improvement and maintenance of 5 microservices owned by the team.. As a whole was a part of design, implementation and improvement of 19 different microservices of the system. Developed a library to speed up testing and also developed a standard set of tests for REST CRUD services. These testing tools were later used all around the project. Thanks to them, the run time of tests was greatly reduced. For some services from more than 40 to less than 12 minutes.Tasks included but were not limited to: - implementation of REST API- communication between microservices via REST & Kafka- implementation of Transactional Outbox pattern for Kafka and DB consistency- implementation of Saga pattern for communication with multiple microservices- Spring Batch job implementation and optimization for clustered microservice architecture- file generation and parsing (CSV)- file exchange with 3rd party SFTP services with S3 as a middle layer- microservice monitoring with a help of micrometer- testing with TestNG, Test Containers- improving SQL queries performance- task estimation, planning, communication with customers, code reviewing and mentoring