Victor Ekimov, Software Developer in London, United Kingdom
Victor Ekimov

Software Developer in London, United Kingdom

Member since September 17, 2019
Victor is an experienced software engineer specializing in back-end development using Java, Kotlin, and Scala. His expertise includes AWS, Spring Framework, Hibernate, and Play Framework. In his spare time, Victor enjoys sharpening his algorithmic skills on coding platforms and playing Chess 960.
Victor is now available for hire

Portfolio

Experience

Location

London, United Kingdom

Availability

Part-time

Preferred Environment

Git, Maven, IntelliJ IDEA, AWS

The most amazing...

...project I've worked on is a Habbo hotel game developed with Unity.

Employment

  • Software Development Engineer

    2021 - PRESENT
    Amazon
    • Developed a new feature for deploying new applications to Alexa devices.
    • Created a page to manage security settings for Alexa.
    • Delivered a new functionality to support Alexa device adoption.
    Technologies: AWS
  • Software Developer

    2018 - 2020
    Booking
    • Incorporated a new self-billing feature into the existing billing engine.
    • Integrated external services to support invoice generation flow.
    • Redesigned the billing system to generate 1 million invoices per month.
    • Revamped the invoice generation logic to accommodate the product-agnostic features.
    Technologies: Java
  • Software Developer

    2017 - 2018
    Unity
    • Maintained and wrote bug fixes for the advertisement delivery platform using Node.js.
    • Participated in the legacy platform rewrite to a set of new microservices using Go.
    • Participated in fixing bugs in the server-side codebase.
    Technologies: Go, Node.js
  • Software Developer

    2016 - 2017
    Zalando
    • Enriched influencers' API with new endpoints using Play Framework and Akka.
    • Implemented a user-generated content feature with image upload and moderation.
    • Integrated fashion collection recommendations from an external microservice.
    • Enhanced the caching layer between two microservices with Redis.
    • Increased test coverage of the legacy code by 20%.
    Technologies: Scala
  • Software Developer

    2013 - 2014
    Sulake
    • Designed the dice battle, shop, chat and other social server-side components.
    • Enhanced client-server communication between Java and C#.
    • Implemented configurable NPCs for stress testing and alpha launch.
    • Integrated game metrics and statistics using JMX and Graphite.
    • Migrated the legacy unit tests from jMock to Mockito.
    • Configured a deployment pipeline using Jenkins, Git, and Maven.
    Technologies: Java
  • Software Develoepr

    2012 - 2013
    Observis
    • Designed an HTML-like language to be used in DOCX files.
    • Automated a GUI input form generation based on the user-provided templates.
    • Designed a persistence layer for a 52 degree North PostGIS database schema.
    • Developed a sensor management panel and observations administration tool.
    Technologies: Java

Experience

  • Distributed Hash Table
    https://github.com/NorthernDemon/Distributed-Hash-Table

    This is a distributed hash table (DHT) with data partitioning and concurrent replication inspired by Amazon Dynamo. The application is built on top of Java RMI, which is an object-oriented equivalent of remote procedure calls (RPC). Server nodes form a ring topology with items and nodes put in ascending order. Each node is responsible for items falling into the space between current node inclusively and predecessor node exclusively. Client can get or update item from any node in the ring, even if coordinator node does not have item itself.

  • Global Snapshot
    https://github.com/NorthernDemon/Cargo-Global-Snapshot

    The Cargo company operates by moving cargo between stations. The cargo represents a movable entity. The station represents permanent storage where cargo remains for some time until transferred to another station. The transfer only happens between two different stations. The stations and transitions form a directed graph with no self-loops, no parallel edges, and is referred to as a cargo map. The cargo map consists of four stations and six transitions. The stations are the Nordic capitals: Helsinki (H), Stockholm (S), Oslo (O) and Copenhagen (C). The transitions are unidirectional (->) paths from station to station: H -> O, H -> S, S -> O, O -> C, C -> S, C -> H. The Cargo map is outlined in the picture below. The orange circles with name tags represent the stations. The orange arrows represent the directed connection between the stations. The green rectangles represent the cargo.

Skills

  • Languages

    Java, Scala
  • Frameworks

    Spring, Hibernate, Play
  • Paradigms

    Functional Programming
  • Storage

    MySQL, Redis, Amazon DynamoDB
  • Other

    AWS, Software Development

Education

  • Master's Degree in Computer Science
    2014 - 2016
    University of Trento - Italy
  • Master's Degree in Computer Science
    2014 - 2016
    Eindhoven University of Technology - Netherlands
  • Bachelor's Degree in Computer Science
    2009 - 2012
    Mikkeli University of Applied Sciences - Finland
  • Erasmus Exchange in Computer Science
    2011 - 2011
    The University of Western Ontario - Canada

Certifications

  • Service Design and Engineering
    NOVEMBER 2016 - PRESENT
    EIT Digital

To view more profiles

Join Toptal
Share it with others