Ruslan Zaharov, Developer in London, United Kingdom
Ruslan is available for hire
Hire Ruslan

Ruslan Zaharov

Verified Expert  in Engineering

Full-stack Developer

Location
London, United Kingdom
Toptal Member Since
January 30, 2019

Ruslan is a polyglot result-oriented developer focusing on the JVM stack with an emphasis on back-end services and Android apps using Kotlin and Java, as well as data processing, engineering solutions, and automatic quality control. He primarily focuses on business needs and using the best tools for the given task. Ruslan has worked on all product development steps in his professional career, from MVP to monetization.

Portfolio

Satoshi Parlour
Solidity, Hardhat, Web3j, Kotlin, Java, Algorithms, Python, TypeScript, Web3.js...
Metarux Solutions
Amazon Web Services (AWS), Spring Boot, MongoDB, Ktor, DevOps, APIs, Kotlin...
Holland And Barrett
Kotlin, Android, Spring Boot, Java, Apache Kafka, PostgreSQL, GitLab CI/CD...

Experience

Availability

Part-time

Preferred Environment

Linux, Ubuntu, IntelliJ IDEA

The most amazing...

...thing for me is to see that your product is capturing and creating value for others.

Work Experience

MEV Researcher

2022 - PRESENT
Satoshi Parlour
  • Researched arbitrage opportunities across different EVM-compatible blockchains: Gnosis, Polygon, Moonbeam, and Avalanche.
  • Implemented the arbitrage math that evaluates over 10 million paths concurrently using Kotlin and Web3j and is very algorithm and data structures heavy.
  • Tested and implemented opportunity extraction gas efficient bots in Solidity on the chain.
Technologies: Solidity, Hardhat, Web3j, Kotlin, Java, Algorithms, Python, TypeScript, Web3.js, MongoDB, Maximal extractable value (MEV), Polygon, Earned Value Management (EVM)

Developer

2019 - PRESENT
Metarux Solutions
  • Created "Guess City 360" Android game. Used technologies include Google Maps API, HERE Maps API, Retrofit, MVVM, and RxJava.
  • Recorded an online course called "Kotlin for Java Developers."
  • Created a database and generated a website allowing visitors to make educated nutrient decisions. This required data mining, processing, and API mashups. Technologies used include Kotlin, a popular blog engine, and XML-RPC.
  • Published an Android math puzzle game. Technologies used include MVC, GMS, and Game APIs.
  • Built a POC of a real-time picture analysis system using Kotlin, TornadoFX, http4k, and Amazon Rekognition.
  • Worked on a wealth management arbitrage system consisting of six services that collect asset rates from different exchanges, perform computation, and redistribute assets as per market state.
  • Used technologies such as Kotlin, MySQL, Prometheus, Grafana, and Docker Compose.
  • Delivered a music festival application showcasing new mobile phones using AR technologies.
Technologies: Amazon Web Services (AWS), Spring Boot, MongoDB, Ktor, DevOps, APIs, Kotlin, Data Mining, Model View ViewModel (MVVM), Android, Blockchain, Cryptocurrency

Lead Android and Kotlin Developer

2021 - 2022
Holland And Barrett
  • Worked on multiple projects that enabled in-store colleagues to work efficiently on routine tasks, massively cutting costs for the business.
  • Collected requirements, designed, and implemented an end-to-end discount markdown system that controls expiration dates of the products in the stock and counts them while applying complex price reduction logic to it.
  • Implemented multiple complete iterations of the Android applications and delivered the back end.
  • Provided active post-release support, monitoring users' feedback and analytics to enable colleagues on the shop floor to perform their work efficiently.
  • Implemented and exposed various data points that helped the business cut expenses, reduce waste, and comply with local laws.
Technologies: Kotlin, Android, Spring Boot, Java, Apache Kafka, PostgreSQL, GitLab CI/CD, Spring Data, Zebra Programming Language (ZPL), Android Jetpack, Coroutines, Amazon, Amazon S3 (AWS S3)

Freelance Technical Writer

2020 - 2021
Okta
  • Wrote four blog posts involving Okta products and example usage as an occasional guest writer. The primary audience were Kotlin and JVM developers looking to supercharge their user management in their services.
  • Published the posts on the Toptal blog and other blog platforms to increase visibility. Here are some of the blog posts: https://developer.okta.com/blog/authors/ruslan-zaharov/.
  • Worked on every step of the article on the given topic: find product and the best showcase for it, come up with toy project, step by step implementation, and the composition itself. Ran multiple iterations to ensure the article was easy to digest.
Technologies: Kotlin, Java, Authorization, OpenID, Technical Writing, Markdown, Storytelling

Kotlin/Java Back-end and Android developer

2020 - 2021
eBay
  • Worked on the various bits related to shipping quotes and prices on the backed and occasionally on frontend.
  • Provided support for the legacy shipping module in the eBay Android app while continuously working on the new generation of the shipping seller experience.
  • Contributed to the number of microservices and their migration from the legacy infrastructure.
Technologies: Java, Kotlin, JVM, Android, Spring Boot, MongoDB

Back-end Architect

2019 - 2020
Vissy, Ltd. (via TopTal)
  • Designed scalable architecture of the back end for a VR application using Spring Boot and Kotlin/Java with storage in S3 and MongoDB.
  • Configured the CI/CD pipeline as well as a staging environment in AWS/Fargate with Docker Compose, client API swagger documentation using Bitbucket Pipelines.
  • Participated actively in product requirements gathering and was responsible for the technical decisions made for the back end and infrastructure.
  • Came up and implemented an effective universal synchronization mechanism for offline work.
  • Developed a rich permission system reflecting very subtle customer requirements.
  • Introduced OpenAPI client code generator as a part of build pipeline reducing workload and chances of mistakes on the front end.
  • Developed a system that can be running on both the AWS cloud and on-premises using the right abstractions and Docker orchestration by employing ECS CLI and Docker Compose.
Technologies: Amazon Web Services (AWS), Swagger, Continuous Integration (CI), APIs, Docker Compose, Docker, MongoDB, Spring Boot, Kotlin

Kotlin Contractor

2018 - 2019
Bo Bank (RBS)
  • Contributed to the development of the brand new digital/mobile bank in a scrum environment.
  • Developed services for test automation for the QA department available for the manual testers via REST interface allowing them to script state of the bank accounts.
  • Developed a framework for developers for performance testing using Kotlin Ktor client based on coroutines.
  • Developed a simple front end for the testing tool using React.
Technologies: Microservices, Ktor, Coroutines, Kotlin

Senior Kotlin Android Developer

2018 - 2018
SamKnows
  • Implemented a reactive WAMP API client for Android for the remote test start and real time retrieval of the data.
  • Redesigned an SDK into separated modules working with NDK c++ bindings.
  • Performed project “kotlinization” - refactor code to be more ideomatic and typesafe by employing kotlin-specific features.
  • Significantly increased test coverage.
  • Improved the portability of the NDK parts of the framework by reducing dependency of the modules on each other.
Technologies: Model View Presenter (MVP), Realm, NDK, C++, WebSockets, RxJava, Kotlin, Android

Java (Android and Back-end) Developer

2017 - 2018
Nexmo, The Vonage API Platform
  • Developed core infrastructure microservices used by the whole company.
  • Worked on WebSockets streaming SDK for Android with real-time chat capabilities.
  • Created a reactiveX wrapper over the existing SDK.
  • Broke down parts of the server-side monolith into microservices.
  • Created a number of internal frameworks.
  • Processed data to comply with GDPR.
  • Created microservices to be compliant with GDPR.
Technologies: Amazon S3 (AWS S3), Google Cloud Datastore, Amazon DynamoDB, Microservices, Apache Kafka, Couchbase, Dropwizard, Java 8, Picasso, OkHttp, Android

Software Consultant

2016 - 2016
Self-employed
  • Developed a desktop suite using JavaFx for ship’s engine monitoring.
  • Redesigned architecture of the Android application, which interacts with a remote sensor via Bluetooth protocol.
  • Optimized the Android application to work with low-end devices.
  • Customized the application to work with the customer Android OS.
  • Organized the development pipeline with version control, modules, and dependencies.
  • Tuned battery usage.
  • Developed Alexa skill using the Python framework Flask-Ask.
  • Designed and developed a machine learning-based system which scans the internet for jobs posted by UK companies who have a license to hire tier 2 holders. Developed the open data scanner which discovers companies websites and finds available careers using a trained text classifier.
Technologies: Amazon Alexa, Python, JavaFX, J2SE, Android, Kotlin

CTO and Developer Lead

2014 - 2016
PenceMe
  • Developed an Android gift card application for a fashion brand in native Android using Android Annotations.
  • Developed a stateful back end for a gift card product serving both an Android and iOS client in Node.js and MongoDB.
  • Performed small development team management including feature planning.
  • Developed a mobile chat/geo-based people discovery Android application using Kotlin, Kotan, SQLite, Picasso, RecycleView, and Material Design with a rich embedded analytics system.
  • Developed a back end for the people discovery platform Excuses To Meet based on Spring Boot and MongoDB with most services written in Kotlin and some with Node.js. The back end was able to ingest 5 million on $10 DigitalOcean server.
  • Microservices were communicating via REST RPC and deployed via Ansible.
  • Implemented real-time chat facilities and people management for the customer using AngularJS.
  • Developed a very customized report/admin system allowing one to view the most important KPI of the business.
  • Participated in marketing the research and advertisement campaign creation.
  • Performed optimization of geo-based requests to MongoDB and it's caching layer.
  • Analysed and implemented various aggressive battery saving strategies since the application was accessing location and interacting with the network very frequently.
Technologies: DevOps, Microservices, RPC, AngularJS, MongoDB, Node.js, ReactiveX, Angular Material, Kotlin, Spring Boot, Android

Self-employed Developer and Marketer

2011 - 2014
ruXLab
  • Developed over 40 of my own mobile apps for the Android platform, with 2 million downloads in total. Performed marketing and monetization for all apps, some of which have been sold.
  • Developed a text matching service for SEO purposes to explore chains of related search requests using Groovy and Neo4j.
  • Worked on MySQL servers to analyze and perform optimizations, this helped reduce infrastructure costs.
  • Provided services for VPN access.
  • Performed a number of preventative measures in response to continuous attacks on the client who was using the WordPress stack.
  • Moved a number of customers from bare metal servers into the Cloud, allowing them to scale faster with fewer expenses.
  • Performed data mining and parallel processing.
Technologies: Linux, Python, Groovy, Java, Android

Freelance Developer

2007 - 2014
Self-employed
  • Developed many Android apps; content-based, games, analytics, and OEM Android.
  • Developed web applications using Java Spring, РНР, and Node.js-based stacks.
  • Configured, optimized, and migrated web servers.
  • Mined data and processed projects.
Technologies: Redis, SOAP, REST, Text Processing, J2SE, Android, J2ME, Spring MVC, Drupal, WordPress, HTML, CSS3, OpenVPN, Groovy, Java, Neo4j, Apache, MongoDB, MySQL, Linux

CTO and Co-founder

2012 - 2013
eZWay
  • Led a team, designed and implemented an Android app, website, and analytics services using Java.
  • Led a team of developers. Together, we produced a recognizable product for car geeks.
  • Developed an Android application that connects to ELM327 devices plugged into the car and streams many vehicle metrics.
  • Researched and implemented ways to save battery life in an Android application. Due to the nature of the service, the application had to connect to the car in a very fast manner while ensuring it was not draining the user's battery.
  • Developed the website and REST web services in Play Framework with Java 6 with the proper End-to-end testing to ensure a smooth onboarding experience for customers.
  • Mined the dataset of thousands of car makes with all possible configurations and details needed to provide accurate information for our users.
Technologies: Visualization, Data Processing, ELM327, MySQL, MongoDB, Bluetooth, GPS, Android, Play Framework

Linux and BSD System Administrator

2010 - 2011
TriNet
  • Provided infrastructure support for one of the biggest web studios in Russia.
  • Produced a number of automation scripts for developers and SEO teams.
  • Provided databases management and optimization in our cluster for customers.
  • Provided support for VIP customers being on-call.
  • Performed deployment on behalf of developers.
  • Migrated servers from FreeBSD to Linux.
Technologies: Bash Script, MySQL, Apache, FreeBSD, Linux

Java Developer Intern

2010 - 2010
Gemini Systems
  • Developed a project using enterprise.
  • Worked with the Java stack for web applications and WSDL services.
  • Modeled data architecture.
Technologies: Jakarta EE, Jakarta Server Pages (JSP), Java

Full-stack Developer

2009 - 2010
WebDiscovery
  • Developed a multimedia stream processing tool and video housing service.
  • Built a financial analytical system for electronic money from scratch using PHP, JavaScript, jQuery, and MySQL.
Technologies: Proxies, TOR, JavaScript, MySQL, PHP

Owner

2006 - 2009
Local ISP
  • Built a LAN network connecting ten houses to the internet.
  • Set up gateway servers, created network iptables rules for routing, and used the transparent proxy, Squid.
  • Created billing software in Bash, PHP, and MySQL.
  • Deployed and supported LAN entertainment services such as local chat, game servers, and a forum.
Technologies: MySQL, Iptables, Linux, WiFi

Web Technologies Tutor

2007 - 2007
GTPP Gatchina
  • Taught students the basics of CSS, HTML, and JavaScript.
  • Demonstrated the basics of networking and the deployment process.
Technologies: HTML, CSS, Linux, PHP

Android Apps (2+ Million Downloads)

https://play.google.com/store/apps/developer?id=ruX
I have a number of mobile applications I've developed for commercial purposes. Across all accounts I've published 40 applications, some of which have been sold.

Open Source Alexa Skill - London Bus Stops

https://github.com/ruXlab/alexa-london-bus-stops
This Alexa skill helps people schedule their time before leaving home. It remembers the bus stop you use and gives you updates every time you say, "Alexa ask bus stop for update."

Can be added on Amazon: https://www.amazon.co.uk/ruX-lab-London-bus-stops/dp/B01N4DKTNY

Excuses To Meet

This service allows people to get together and find new friends in lonely megalopolises. It connects like-minded individuals based on common interests and, most importantly, proximity enabling immediate connections in the real world. The service allows institutions to build more connections between members of their communities.

Service is built using Kotlin with Android, Node.js, Angular, and RPC.

UK Visa Sponsors AI Search Engine

People seeking a job in the UK have the same problem; companies aren't ready to go through the process of hiring foreign employees since it implies cost and paperwork. On the other hand, some companies already have experience hiring foreigners, and that means most likely they'll be able to sponsor a job.

The Visa Sponsors search engine is a service that makes the automatic discovery of jobs posted by companies who most likely can afford to hire a non-EU person for work easy.

It resolves company information such as the address from open data sources using only the name of the company provided by the government, using search engine APIs to find the company website, a machine learning-trained model classifies what pages are being looked at, which uses job posting and fetch content from there.

It was build using Spring Boot, Kotlin, and Groovy for the web service and data scraper, and TensorFlow for text classification

Public Talk: Safe and Sound With Kotlin

https://rux.vc/2017.06/safe-and-sound-code-with-kotlin-meetup-in-spb/
This is my second talk about writing safe code in Kotlin (the first one took place at the London Kotlin Meetup #2 and was organized by the Spb Google Developers Group. I demonstrated new safety features of the Kotlin language, which weren't available previously in Java.

Loocker

Loocker allows fashion people to find out what fits better right from their mobile phone while he/she is in the fitting room of a clothes shop. The user uploads a few looks and selfies and gets an instant opinion from the social network VK page. As part of the service, it is possible to tag clothes with a link to the brand, which is a very important function in helping to market the brands.

Due to some of the limitations of theAPI, we had to simulate the user's actions in the virtual instance of the browser. As CTO, I managed a team of three engineers and participated in all aspects of development using WebSockets, REST, Android, VK API, Groovy, Node.js, and Linux tools.

eZWay

eZWay is an automobile club for people who think about driver safety, environmental impact, and care about the money spent on fuel. eZWay allows one to collect information for any vehicle to a mobile phone for further analysis and provides actionable data. Using internal analytics allowing car drivers to save money on fuel, make roads safer, prevent potential error, and reduce the cost of diagnostics at MOTs.

Wealth Management System - demo code test

https://github.com/ruXlab/wmp
A Kotlin/Spring Boot code test showing my code style, testing approach, as well as application design.
The project demonstrates a good design approach for test-ability and scalability while performing operations for the wealth management system. README file in the project provides more information about the project.

Languages

Kotlin, Java 8, Java, JavaScript, Java 11, Groovy, SQL, TypeScript, HTML, Bash Script, CSS3, C++, Python, CSS, Bash, GraphQL, PHP, Assembler, Scala, XML, CoffeeScript, Markdown, Zebra Programming Language (ZPL), Solidity

Frameworks

Rx, Spring Boot, Dropwizard, JUnit, Ktor, Jakarta Server Pages (JSP), Spring MVC, Play Framework, Angular Material, AngularJS, Swagger, Bootstrap, Angular, ASM, Spring Core

Libraries/APIs

Amazon Rekognition, RxJava, Node.js, React, Ratpack, Google APIs, ReactiveX, Picasso, NDK, Android Architecture Components, Facebook API, Twitter API, RxKotlin, NumPy, VK API, Twitter SDK, Flurry, TensorFlow, Keras, Anko, OpenID, Web3.js

Tools

Docker Compose, Git, GitHub, AWS Fargate, Gradle, RxAndroid, OpenVPN, Android NDK, Grafana, Subversion (SVN), NGINX, Apache, Google Analytics, Appodeal, IntelliJ IDEA, CAD, GitLab CI/CD, Android Jetpack

Paradigms

MVVP, REST, Concurrent Programming, Functional Programming, Scrum, Testing, Unit Testing, Functional Reactive Programming, Agile, Kanban, Microservices, DevOps, Model View Presenter (MVP), Continuous Integration (CI), Model View ViewModel (MVVM), Rapid Application Development (RAD)

Platforms

Android, Linux, Ubuntu, Docker, Amazon Web Services (AWS), DigitalOcean, JVM, Amazon Alexa, Blockchain, TOR, Jakarta EE, FreeBSD, WordPress, Drupal, J2ME, J2SE, Azure, Apache Kafka, Apache2, ARM Linux, STM32, AVR, JavaFX, Amazon

Storage

Spring Data MongoDB, MySQL, NoSQL, Amazon S3 (AWS S3), MongoDB, Spring Data, Couchbase, Google Cloud Datastore, Realm, Data Pipelines, Neo4j, Redis, H2, PostgreSQL, Memcached, Amazon DynamoDB, SQLite, Spring Data REST

Other

Android Components, APIs, OkHttp, Team Leadership, Project Delivery, Prometheus, Room, Cryptocurrency, CTO, Cross-functional Team Leadership, WiFi, Iptables, Proxies, Text Processing, SOAP, ELM327, Visualization, WebSockets, Data Mining, Data Processing, Stream Processing, Coroutines, Ubuntu Server, DNS, Bluetooth, GPS, Integration Testing, RPC, Assembly Drawing, ARM, Authorization, Technical Writing, Storytelling, Hardware, Business, Marketing Mix, Lean Startups, Venture Capital, Machine Learning, Optimization, Hardhat, Web3j, Algorithms, Maximal extractable value (MEV), Polygon, Earned Value Management (EVM)

2013 - 2016

Progress towards a Ph.D. in Computer Systems and Networks

ITMO University - Saint Petersburg, Russia

2013 - 2014

Master's Degree in Technology Entrepreneurship

ITMO University - Saint Petersburg, Russia

2007 - 2013

Master's Degree in Computer Science (Hardware Engineering)

ITMO University - Saint Petersburg, Russia

JUNE 2017 - PRESENT

Team Kanban Practitioner

Actineo Consulting LLP, London

FEBRUARY 2016 - PRESENT

Learning How to Learn: Powerful mental tools to help you master tough subjects

Coursera

JUNE 2014 - PRESENT

Leadership in innovation entrepreneurship

Coach Institute, Saint-Petersburg

SEPTEMBER 2013 - PRESENT

Model Thinking

Coursera

NOVEMBER 2012 - PRESENT

TRIZ Level 1

International TRIZ Organization

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring