Position: Senior Software Engineer
Category: Java
English level: upper
Years of experience: 6


EPAM Systems
    Company Name EPAM Systems
    Total Duration 3 yrs 7 mos
        Java Senior Developer
        Full-time
        Dates Employed Sep 2019 – Present
        Employment Duration 1 yr 8 mos

        The requirement was to split existing monolithic project into microservices and also developing new features. Streaming data is constantly pushed/polled from multiple providers, and then normalization process fires up to cast the data to a single view and pass it to the underlying customer systems. The Normalization process was not straightforward and required multiple machines and human steps in exceptional cases. My job responsibilities were: feature development and creation of docker containers for further deployment by dedicated DevOps team, active participation in Scrum ceremonies and architecture discussions.

        Project stack:
        Languages: Java
        Core: EC2, ECS.
        Persistence: S3, RDS (Postgres), Hibernate, HBase
        Messaging: SQS, SNS, ActiveMQ, Protobuf
        Search: Elasticsearch*
        Cache: Redis
        CI/CD: GitLab, Jenkins, Docker
        Spring family frameworks: Cloud, Data, JPA, AOP, MVC, JMS
        Monitoring: Spring actuator, Kibana, Prometheus … 

Java Senior Developer (Risk Analytics API for Thomson Reuters)
Full-time
Dates Employed Oct 2017 – Sep 2019
Employment Duration 2 yrs
Location Kiev Region, Ukraine

It was a green field project, started from scratch. I was working on all parts of the application, starting from the CI/CD pipelines till the production. In the end we had a multi-regional API gateway with a bunch of lambda microservices under the hood. Performance and cost optimization were the crucial parts of the application, due to the high request rate. So each microservice deployment pipeline had a built-in automation and performance tests and even small parts of the code were optimized, like in some cases we needed to use For loop instead of Java Stream API.