⚠︎ Архивное резюме
Это резюме было перемещено в архив и исключено из общего списка. Оно не актуально на текущий момент

Senior Java / Scala Backend Software Engineer

Минск, Беларусь
Сеньор
Информационные технологии • Разработка • Java • Scala • Backend • Spring • SaaS/PaaS
Релокация • Удаленная работа • Работа в офисе
Опыт работы более 5 лет
3 800 $
О себе

На данный момент Senior Java / Scala Backend Software Engineer.

Мои компетенции и опыт

Senior Software Engineer at Adform  нужен доступ к резюме (July 2018 — till now)

SSP development ( нужен доступ к резюме ).

Technologies and tools used: Scala, Twitter Finagle, Kafka, Lua, Eclipse Memory Analyzer

On this position I mostly involved in new features development, finding and optimizing hot spots, performance optimization, incident investigation and stability improvement. Our team is in charge of a couple of microservises, most of them are highload, low-latency and require 24/7 access. I did a great work improving performance of the system, which includes digging into JVM, Linux, Scala libraries, algorithms and data structures, IO interactions etc. I designed and implemented platform for continuous performance testing, which is used in conjunction with CI/CD. A short list of used tools and technologies and why did I apply them:

  • GC. We had a couple of incidents with very long-running Full GCs, so further actions were done:
  • Log as much as possible: phases, objects classes histograms, GC reasons etc.;
  • Heap size tuning;
  • Choosing right GC;
  • Tuning specific parameters for chosen GC;
  • Profiling and investigating which code creates many garbage and then rewriting it if possible;
  • Using heap dump in particular cases, analyze it with different tools such as Eclipse Memory Analyzer etc.
  • JIT. By tuning JIT (just-in-time compiler) application got X% speedup. JIT logs, jitwatch and JVM arguments (-XX:) were used.
  • Linux. Using Huge Pages, NUMA affinity and performance profiles gave another X% speedup and latency improvement.
  • Misc:
  • Tuned Finagle and Netty, нужен доступ к резюме : timers count and configuration, connection pools, thread pools;
  • Used Lua, wrk2, Java NIO, off-heap memory and OpenHFT Chronicle for building performance testing platform. It also required to dig into wrk to make it work with a large volume of prepared data.

 

Senior Software Engineer at EPAM Systems Inc (Belarus)(December 2017 — July 2018)

Developed data ingestion flow for large retail company. Involved in processing up to 100GB daily data in Spark on Azure cluster. Part of the data was prepared and queried via Hive.
Technologies and tools used: Kafka, Spark (Scala), Hive, HDFS, Azure

Senior Java Developer at iFuture  нужен доступ к резюме (December 2016 — December 2017)

On this position I:

  • developed online casino;
  • integrated two online games providers;
  • created CMS for manage stuff like games, banners, promo etc;
  • developed system for managing transactions;
  • developed system for reports (profit and loss by users, product etc.)

The system itself consists from a bunch of microservices, which communicate with each other via REST or Kafka, and a couple of monolith services. I used docker for local development, Spring Boot framework as a DI, WEB, AOP framework, Spring Cloud (Feign and Hystrix clients), JPA (HIbernate as an implementation), PostgreSQL and Oracle as a database, EHCache for caching, Redis for caching and zero-downtime deployment.
Also, I was in charge of:

  • monitoring the system (NewRelic, Zabbix);
  • architecture improvement. Here I was mostly focused on following best practices for microservices development: 12-factor principle, config server, request tracing, choreography over orchestration if it makes sense;
  • performance improvement: caching slow queries and remote calls, resolving slow queries (Hibernate), codebase improvement: Lombok, monitoring aspects, unit testing

Senior Software Engineer at iTechArt Group нужен доступ к резюме (January 2016 — December 2016)

Project - online language courses. 
Goals and achievements:

  • Migration from monolith backend + GWT to RESTful ReactJS
  • Secured application using tokens authentication
  • Refactoring code to RESTful design
  • Performance monitoring and optimizing
  • optimizing SQL queries

Technologies and tools: Java 8, Spring: MVC, AOP, Data, Security, JPA/Hibernate, MySql

Middle Java Developer at Edifecs  нужен доступ к резюме (December 2014 — November 2015)

Scalable DaaS platform, that serve for storing very large volume of data, ETL, batch processing and live streaming data. Main goals:

  • implemented ETL of various transactions of clinical and financial documents
  • implemented publish-subscribe event system, that allows user to perform ad-hoc queries on live and historical data, stream this data to multiple different sources (JMS, RDBMS, FileSystem etc.)
  • Performance optimization
  • Created and maintained environment using docker
  • Worked on business requirements with Product Owner and Business Analysts
  • Daily scrum meetings with distributed team
     

Technologies: Java 8, Cassandra, OrientDB, Spring MVC, Spring AOP, Spring Integration, Linux, Docker, REST

Java developer at WaveAccess  нужен доступ к резюме (October 2014 — February 2015)

1) Unification of external API's for insurance app. Integration with REST, SOAP services. Project helps people to find and buy the most suitable insurance plan for traveling based on their needs.
Responsibilities:
- Unification of external API's for insurance app. 
- Integration with REST, SOAP services.

Technologies: Spring framework stack, Spring Boot, Thymeleaf


2) Application for storing and reporting information for Ministry of Emergency Situations. Project included a lot of integration points with external government systems and challenged tasks in SQL querying.
Responsibilities:

  • Writing complex SQL queries
  • Optimized full-text search to maintain low-latency queries using mix of MySql + Solr
  • Tuned garbage collector to optimize response time and application up-time
  • Worked with QA and Business Analysts on domain model for reports
  • Code testing
  • Daily meetings with remote team
  • Technologies: EJB, Hibernate, Solr, MySlq, Java XML.

Java developer at Epam Systems Ukraine (March 2014 —September 2014)

Project related to banking investments. Main goals and tasks:
- Implementation asynchronous XML API for exchanging financial documents between borrowers and lenders. 
- Maintenance and testing

Technologies: Quartz, Lombok, JMS, EJB,Oracle, Spring JDBC.

Junior Java developer at Epam Systems Ukraine(September 2013 — February 2014)

Internal Epam project for HR's and interviewers called "Interview portal". It was great project made from scratch by Agile methodology. I was involved in meetings with customers (HR's and Team Leads), tools and architecture discussions. The key goals that was achieved:

  • creating platform for HR's and interviewers to help them communicate and find each other
  • interview feedbacks, notifications, analytics
  • integration with Microsoft Outlook(Calendar and emails).
  • integration with SSO company server

 


Специализация
Информационные технологииРазработкаJavaScalaBackendSpring
Отрасль и сфера применения
SaaS/PaaS
Уровень
Сеньор

Интересные кандидаты