A detail oriented and dedicated software developer, specializing in developing backend applications having previous experience in systems administration. Has worked extensively with JVM based languages and is currently pushing limits of CAP theorem in a hardcore distributed cache project. Possesses a sound knowledge of Java and Linux system. Takes interest in web programming when time permits. Has worked a lot with e-commerce systems. Prefers working on data backend: data manipulation. Can produce Java based applications not only based on the popular frameworks such as Spring but on a lower level too. Is also interested in working with Kotlin, Clojure or Go. Likes working on projects with clear aims and objectives. Enjoys testing paths and defining acceptance procedures.
Consistently ran high load, JVM profiling and optimizations on the distributed cache; working on both codebase and platform issues.
Regularly fixed bugs in a huge codebase with over 2 million LOC on the basis of customer feedback.
Profiled cluster holding tx/s to solve memory leaks and race condition problems, make flaky tests work and liaise with core developers on issues found.
Designed and developed Microservices on AWS for an e-commerce platform, and performed all the component testing to verify the functionality of the platform.
Undertook a fully automated CI using Teamcity with custom scripts.
Worked on different data deduplication tasks on the platform: db transition (warehouse), analysis, and also developed a db locking service in addition.