Ruslan Zaharov, APIs Developer in London, United Kingdom
Ruslan Zaharov

APIs Developer in London, United Kingdom

Member since November 3, 2018
Ruslan is a polyglot result-oriented developer focusing on 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. In his professional career, Ruslan has worked on all steps of product development from MVP to monetization.
Ruslan is now available for hire

Portfolio

Experience

Location

London, United Kingdom

Availability

Part-time

Preferred Environment

Linux, Ubuntu

The most amazing...

...app I've developed is Excuses to Meet. It connects like-minded individuals based on common interests and, most importantly, proximity.

Employment

  • Self-employed

    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 "Kotlin for Java Developers."
    • Created a database and generated a website allowing visitors to make educated nutrient decisions. This required data mining, processing, and APIs mashups. Technologies used include Kotlin, a popular blog engine, XML-RPC.
    • Published an Android math puzzle game. Technologies used include MVC, GMS, and Game APIs.
    • Built PoC of real-time picture analysis system using Kotlin, TornadoFX, http4k, and AWS recognition.
    • Worked on a wealth management arbitrage system consisting of six services that collect assets rates from different exchanges, perform computation, and redistribute assets as per market state.
    • Used technologies include Kotlin, MySQL, Prometheus, Grafana, and Docker Compose.
    Technologies: Amazon Web Services (AWS), Spring Boot, MongoDB, Ktor, AWS, DevOps, APIs, Kotlin, Data Mining, Model View Viewmodel (MVVM), Android
  • 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, AWS, 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: AWS S3, Google Cloud Datastore, AWS 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 Scripting, 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, 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

Experience

  • Android Apps (2+ Million Downloads) (Other amazing things)
    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 (Development)
    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 (Development)
    https://www.excusestomeet.com/

    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 (Development)

    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 (Other amazing things)
    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 (Development)

    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 (Development)
    http://en.ezway.pro/economy/

    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 (Development)
    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.

Skills

  • Languages

    Kotlin, Java 8, Java, JavaScript, Java 11, Groovy, SQL, TypeScript, HTML, CSS3, C++, Python, CSS, Bash, GraphQL, PHP, Assembler, Scala, XML, CoffeeScript
  • Frameworks

    Rx, Spring Boot, Dropwizard, JUnit, Ktor, JSP, Spring MVC, Play Framework, Angular Material, AngularJS, Swagger, Bootstrap, Angular, ASM, Spring Core
  • Libraries/APIs

    RxJava, Node.js, React, Ratpack, Google APIs, ReactiveX, Picasso, NDK, Kotlin.js, Android Architecture Components, Facebook API, Twitter API, RxKotlin, NumPy, VK API, Twitter SDK, Flurry, TensorFlow, Keras, Anko
  • Tools

    AWS Rekognition, Docker Compose, Git, GitHub, AWS Fargate, Gradle, RxAndroid, OpenVPN, Android NDK, Grafana, Subversion (SVN), Nginx, Apache, Google Analytics, Appodeal
  • 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)
  • Platforms

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

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

    Android Components, APIs, OkHttp, Team Leadership, Project Delivery, Prometheus, Room, CTO, Cross-functional Team Leadership, WiFi, Iptables, Proxies, Bash Scripting, Text Processing, SOAP, ELM327, Visualization, WebSockets, AWS, Data Mining, Data Processing, Data Stream Processing, Coroutines, Ubuntu Server, DNS, Bluetooth, GPS, Integration Testing, RPC, Assembly Drawing, ARM

Education

  • Progress towards a Ph.D. in Computer-Aided Design
    2013 - 2016
    ITMO University - Saint Petersburg, Russia
  • Master's degree in Technology Entrepreneurship
    2013 - 2014
    ITMO University - Saint Petersburg, Russia
  • Master's degree in Computer Science (Hardware Engineering)
    2007 - 2013
    ITMO University - Saint Petersburg, Russia

Certifications

  • Team Kanban Practitioner
    JUNE 2017 - PRESENT
    Actineo Consulting LLP, London
  • Learning How to Learn: Powerful mental tools to help you master tough subjects
    FEBRUARY 2016 - PRESENT
    Coursera
  • Leadership in innovation entrepreneurship
    JUNE 2014 - PRESENT
    Coach Institute, Saint-Petersburg
  • Model Thinking
    SEPTEMBER 2013 - PRESENT
    Coursera
  • TRIZ Level 1
    NOVEMBER 2012 - PRESENT
    International TRIZ Organization

To view more profiles

Join Toptal
Share it with others