Self-employed2019 - PRESENTMetarux Solutions
Technologies: Amazon Web Services (AWS), Spring Boot, MongoDB, Ktor, AWS, DevOps, APIs, Kotlin, Data Mining, Model View Viewmodel (MVVM), Android
- 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.
Back-end Architect2019 - 2020Vissy, Ltd. (via TopTal)
Technologies: Amazon Web Services (AWS), Swagger, Continuous Integration (CI), APIs, Docker Compose, AWS, Docker, MongoDB, Spring Boot, Kotlin
- 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.
Kotlin Contractor2018 - 2019Bo Bank (RBS)
Technologies: Microservices, Ktor, Coroutines, Kotlin
- 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.
Senior Kotlin Android Developer2018 - 2018SamKnows
Technologies: Model View Presenter (MVP), Realm, NDK, C++, WebSockets, RxJava, Kotlin, Android
- 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.
Java (Android and Back-end) Developer2017 - 2018Nexmo, The Vonage API Platform
Technologies: AWS S3, Google Cloud Datastore, AWS DynamoDB, Microservices, Apache Kafka, Couchbase, Dropwizard, Java 8, Picasso, OkHttp, Android
- 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.
Software Consultant2016 - 2016Self-employed
Technologies: Amazon Alexa, Python, JavaFX, J2SE, Android, Kotlin
- 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.
CTO and Developer Lead2014 - 2016PenceMe
Technologies: DevOps, Microservices, RPC, AngularJS, MongoDB, Node.js, ReactiveX, Angular Material, Kotlin, Spring Boot, Android
- 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.
Self-employed Developer and Marketer2011 - 2014ruXLab
Technologies: Linux, Python, Groovy, Java, Android
- 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.
Freelance Developer2007 - 2014Self-employed
Technologies: Redis, SOAP, REST, Text Processing, J2SE, Android, J2ME, Spring MVC, Drupal, WordPress, HTML, CSS3, OpenVPN, Groovy, Java, Neo4j, Apache, MongoDB, MySQL, Linux
- 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.
CTO and Co-founder2012 - 2013eZWay
Technologies: Visualization, Data Processing, ELM327, MySQL, MongoDB, Bluetooth, GPS, Android, Play Framework
- 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.
Linux and BSD System Administrator2010 - 2011TriNet
Technologies: Bash Scripting, MySQL, Apache, FreeBSD, Linux
- 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.
Java Developer Intern2010 - 2010Gemini Systems
Technologies: Jakarta EE, JSP, Java
- Developed a project using enterprise.
- Worked with the Java stack for web applications and WSDL services.
- Modeled data architecture.
Full-stack Developer2009 - 2010WebDiscovery
- Developed a multimedia stream processing tool and video housing service.
Owner2006 - 2009Local ISP
Technologies: MySQL, Iptables, Linux, WiFi
- 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.
Web Technologies Tutor2007 - 2007GTPP Gatchina
Technologies: HTML, CSS, Linux, PHP
- Demonstrated the basics of networking and the deployment process.