Senior Back-end Engineer2021 - PRESENTdott
Technologies: TypeScript, Cloud Firestore, Google Cloud, Go, Envoy Proxy
- Shipped in-house SMS verification solution with one-time passwords.
- Layed out messages deliverability metrics on a dashboard.
- Set up a proxy to translate JSON API requests to gRPC calls.
Back-end Developer2018 - PRESENTMealSnap
Technologies: GitLab, Load Balancers, Amazon S3 (AWS S3), Docker, MongoDB, Go
- Created a back-end for food diary iOS app, which supports REST operations for diary entries, user management, and photo uploads to S3.
- Wrapped everything to Docker containers with a meta-linter check for each build.
- Set up DigitalOcean infrastructure with droplets, spaces, and a load balancer.
- Configured cron jobs for hourly MongoDB dumps to attached block storage.
- Set up automated deployment from GitLab with several environments.
iOS Developer2018 - PRESENTMealSnap
Technologies: Transitions, Controls, Intercom, Sentry, SQLite, Metal, Swift 4
- Created a food diary app from scratch by using design sketches.
- Implemented authorization with iCloud Keychain, allowing to fully automate login processes with no need for any credentials from the user.
- Applied custom, easy to use, thread-safe, and high-speed document disk storage based on SQLite with JSON1 extension.
- Created a lot of custom controls like sliders and weight scale, which mimics real-world scale.
- Implemented a simple and easily embeddable photo picker from the gallery.
iOS Developer2018 - PRESENTGunpowderLabs (via Toptal)
Technologies: Intercom, PDF, MapKit, Eureka, iOS 11, Swift
- Developed an app for iOS 10-11 in Swift for residents of luxury apartments in NYC with lots of services like bike and car valet, deliveries notifications, shuttle live map, and support chat.
- Created a set of common styled components and a color palette to make changes to style easier.
- Implemented a fully custom navigation bar with a custom blur effect and show and hide logic for the table and scroll views.
Senior Back-end Developer2019 - 2021Verifone
Technologies: Apache JMeter, MongoDB, GoLand, Go, TypeScript, Node.js
- Developed a fraud detection service in Go using MongoDB, which is used to analyze and decide for every transaction coming through the payment gateway.
- Solved many performance issues in payment transaction APIs, leading to a 4–5x performance increase in some places.
- Optimized complex MongoDB aggregation queries and composed multiple queries in a single pipeline for better performance and less context switching.
Freelance iOS and Back-end Developer2016 - 2017Sysdyne (via Toptal)
Technologies: Amazon Web Services (AWS), MongoDB, Node.js, Swift
- Created a paperless ticketing system iOS app on iSTRADA.net platform for concrete truck drivers.
- Created and supported a REST API for the iOS app and web front-end using Node.js and MongoDB Atlas cloud with real-time updates via web sockets and MQTT protocol.
Co-owner and iOS Developer2014 - 2017MUST Lab
Technologies: Swift, Protobuf, VLCKit, Parse, AFNetworking, Media Player
- Developed a TV streaming app for iPhone and iPad from scratch for iOS 6-8 with in-app purchases, banner, and pre-roll video ads.
- Designed architecture and developed a smart home app for iPhones with iOS 7-8 (binary protocol using Google Protobuf, async sockets, OAuth, SSO Twitter+Facebook, lots of custom controls; all UI is done using storyboards with size classes).
- Developed an app for controlling smart air conditioners which can change temperature and modes as well as display current temp and humidity.
- Developed an app for communicating with a smart wall clock via BLE.
- Developed a simple food diary app which is helpful for logging meals and calories using Parse.com as a back-end.
- Created a reviews module for the very popular car selling app in Russia.
iOS Developer2013 - 2014Independent
Technologies: Parse, BrainTree, iOS
- Developed an eCommerce app for purchasing goods from nearby shops with 30-minute delivery.
- Integrated the delivery agent interface into the client app using Parse's Roles feature.
- Updated the eCommerce app to facilitate use as a template which can be branded for any eCommerce company.
- Supported a travel app to adapt it for iOS 7 and resolve UI/UX issues.
iOS Team Lead2011 - 2014LinguaLeo
Technologies: Objection.js, Core Graphics, StoreKit, Objective-C, GCD, Core Data, iOS
- Developed an app for learning English language in context of real-world content with UGC dictionary which is usually in the top 10 in Education for the App Store in Russia.
- Created pixel-perfect layouts for each screen with frequent design reviews.
- Learned a lot about Core Data and how to optimize it for the best performance and concurrency.
- Led a distributed Agile team (several Russian cities, Ukraine, Netherlands), using Scrum methodology with 1-week sprints and regular retrospectives for process tuning.
- Implemented in-app payments using Core Data storage for transactions with server-side receipt validation.
- Developed an all-new iPad app with UI, redesigned from scratch.
- Launched public beta-testing of the iPad app for 150 testers using TestFlight for distribution, remote logging, and crash reporting.
Senior Software Engineer (Symbian Qt, iOS)2010 - 2012XenZu Technologies
Technologies: Qt Quick, Qt, Symbian, C++
- Developed a Symbian complex location-aware search app using Nokia Qt SDK platform (Qt widgets + QtQuick technology, Maps and Navigation API, Bearer API, Location API, etc.).
- Developed an iPhone/iPad/iPod app, a client for a cloud-based file synchronization service (Objective-C + ANSI C mixed code, SQLite, networking, threading, assets library).
- Created an iOS client for a social media player with lyrics (extensive RestKit usage for communications with REST API on the server).
- Built an iOS cab hailing service client (like Uber). Used RestKit and MapKit extensively.
- Created an augmented reality prototype using OpenGL for showing nearby POIs using mobile device sensors for positioning.
Software Engineer (Symbian, Qt)2009 - 2010BellSoft
Technologies: Symbian, Subversion (SVN), C++, Qt
- Created a secure personal data storage application for Symbian S60 with backup/restore feature and Bluetooth synchronization with other phones.
- Ported secure personal data storage application for PC and Mac using Qt with skinnable interface and ability to sync with the mobile app.
- Developed the algorithm for protecting personal data with combination of AES, RSA, CRC.
- Developed a secure cross-platform backup file format for using in mobile and PC/Mac secure storage app.
- Implemented a JSON RPC API for the desktop secure storage app which was intended to be used by browser extensions.
Software Engineer (Symbian, Windows Mobile)2007 - 2009Symphony-Teleca
Technologies: Symbian, C++
- Developed Symbian mobile device firmware apps, including home screen, text input improvements, and new telephony features.
- Integrated the T9 text input engine into Windows Mobile 6 devices, settings applications, and finger-friendly UIs.
- Developed software documentation including HL/LL design, requirements, and UI specs.
- Created a wallpaper editing tool which allowed the user to pan, rotate, and crop an image for a Symbian UIQ mobile device.
- Implemented some Asian languages for the iTAP input system with auto-suggestions and auto-corrections.