Place of residence: Amsterdam, The Netherlands
Citizenship: Netherlands, Russia
Obtain a position as a senior developer or a tech lead in an IT department. Improve professionally and utilize my current experience of mobile application development and iOS/Mac OS X/Linux/Unix platform knowledge.
● 5 years experience Swift iOS developer
● 9 years experience Objective-C iOS/Mac OS developer
● 2 years experience as JavaScript (JSVM, HTML + AJAX, DOM) developer
● 1.5 years experience as a Java developer
● 1 year experience as C++ developer (Windows Mobile, Symbian)
● 2 years experience as a PHP Web developer
● Extensive knowledge of Unix/Linux platform
● Languages: Swift, Objective-C (Mac OS X, iOS), JavaScript, node.js, Java, C/C++, C#, PHP, HTML, XML, XPath, CSS, Perl
● Databases: SQLite, PostgreSQL, MySQL, mongoDB
● Operating Systems: Mac OS X, General Linux and Windows
● Utilities: Ant, Git, Subversion, CVS, SSH, FTP
● Software: Xcode, Apache, Tomcat, MS Office, MS Visual Studio .NET, JetBrains IntelliJ IDEA, Eclipse, Zend Studio Developer
June 2019 - present
Work on simplifying API of Uber’s payment framework. Previously, integration of the framework and launching a payment feature would take a few engineering weeks of work and several thousands of lines of code. The goal of the project is to reduce these numbers to half of a day and ~20 lines of code.
Worked on the MVP, which turned into a real project and later a dedicated platform team of 4 engineers. I was mainly focussing of delivering the MVP and high-level vision of the effort.
September 2018
Gave a presentation about RIBs on NSSpain 2018. The talk received a lot of positive feedback, and was #3 talk by the amount of viewers on the conference.
December 2017 - June 2019
Led a project that allowed to collect service fees from Uber’s driver-partners in cash-heavy markets.
Led a team of 6 engineers to deliver the project. Led the tech scoping, successfully estimated and delivered an 8-month long project.
December 2016 - December 2017
Implemented a react-native-like framework for internal Uber usage. This project addresses a lot of pain points of mobile development: duplication of effort between iOS and Android, slow release cycles, versioning and many more.
I lead a team of 6 engineers, which delivered the framework MVP and integrated this framework in the Uber app for drivers. I defined and scoped work for the engineers, provided regular status updates for stakeholders, coordinated the rollout.
June 2016 – December 2016
Participated in re-writing of the old Uber app. This was a company-wide initiative, which involved 300+ mobile engineers.
The Payments Framework powers some of the fundamental Mobile flows in Uber, allowing Riders and Drivers to onboard and manage their payment instruments.
I was part of the team that delivered the new Payments Framework Architecture. I focused on the networking and localization part of the framework.
During this time I was leading multiple sub-projects of payments experience: adding and using bank cards, cash, AmEx rewards.
Technologies used: Swift, RIBs, RxSwift
March 2013 – May 2016
Implemented new generation of the TomTom navigation app for iOS as a part of a 7 developers team.
The application was architected and written from scratch. My main contributions included creation a UI library with a set of components on top of UIKit and implementation of the application itself. The application used TomTom’s proprietary navigation framework.
The application was extensively covered with unit tests.
Technologies used: Objective-C, StoreKit, Core Audio, Masonry, OCMock
July 2011 – March 2013
Participated in releases of TomTom application for iOS as a part of a 5 developers team.
Major contribution in porting existing iPhone application to iPad. Existed code base didn’t support tablet logic (for instance, it was not possible to show two maps at a time), so I had to fix that.
Developed social media integration (Facebook, Foursquare, Twitter).
The most challenging part for me was a huge existing code base in C++, which I had to maintain.
Technologies used: Objective-C
March 2011 – May 2011
Developed Телеканал ТНТ v1.0 for iPhone and iPad – 2 developers.
ТНТ (TNT) is a Russian entertainment TV network, which mainly broadcasts TV series. Developed an app which allowed users to buy and watch episodes of TV series.
In this project the most challenging part was to create a cowerflow-like control for iPhone version.
Technologies used: Objective-C, Store Kit
May 2011 – June 2011
Participated in development of goInvest for iPad – 3 developers.
Technologies used: Objective-C
March 2010 – March 2011
Developed Money iQ for iPhone – 2 developers.
Money iQ is a personal finance software for iPhone that allows to generate nice-looking reports based on users day-to-day expenses/incomes input. It also has budgeting functionality, which helps user to plan how much money he would like to spend on a certain period for some category or account.
I worked as a lead developer on this project. Started it from scratch. Designed application architecture and database.
Technologies used: Objective-C, SQLite
February 2007 – August 2010
Worked as a team leader in the hiplogic’s Spark project – 7 developers from a SperaSoft side.
Spark is an open source framework that allows user to run javascript applications on different mobile platforms (Symbian, WindowsMobile, Android). Ideology is quite close to J2ME, but language for applications developers is javascript.
Developed various javascript applications, based on Spark technology. All communications with server were handled asynchronously, using AJAX technology.
Took part in Symbian port development. Ported it to UIQ.
Developed from scratch WindowsMobile port of Spark.
Helped with Android port set up and development.
Developed from scratch Javadoc-like documentation generation tool for javascript code, based on regular expressions.
Developed Java-based simulator frontend (for C++-based backend - it was written by a member of my team).
Technologies used: Java (J2SE), Regular Expressions, C++, JavaScript, AJAX, Ant.
February – September 2008
Created Java testing framework based on a Selenium testing library for a billing portal. Developed tests utilizing created framework.
Technologies used: Java, Selenium, Ant, Maven
September 2006 – March 2007
Developed Objective-C dynamic library that provides interface for communication between two applications through Skype protocol. While Skype is running, it allows applications to send data by its protocol.
Technologies used: Objective-C
March – September 2006
Developed Objective-C daemon (Mac OS). This application provides access to AddressBook application via HTTP protocol. Daemon allows user to get a list of contacts, add/delete/update contacts to user’s AddressBook.
September 2005 – March 2006
Expertise Linux platform and created various Shell/Perl scripts.
Designed PostgreSQL databases with PL/SQL scripts to manage provided data.
Worked with JUnit, Log4J libraries/tools.
January 2012 – March 2013
Developed Smart Coin – currency converter for iPhone/iPad.
The main goal of this project was to understand all processes of application development, including iTunesConnect, localization and many other aspects. I tried to use as much unknown (for me) technologies as possible.
Even though this app looks quite simple, there were a lot of challenges. For instance, Smart Coin supports 19 languages, allows to change them “on the fly”, without restart of the application.
In order to support historical currency rates for different sources, I had to write a bot, which collected and stored currency rates in a database, and server API for application to get these rates in JSON format.
Technologies used: Objective-C, Store Kit, Push Notifications, Core Graphics, AFNetworking
Server: node.js, mongoDB, MySQL, nginx
December 2012
Developed itc.cli – open source command line interface for iTunesConnect.
It allows a developer to automate application metadata update for different localizations. I.e. uploading screenshots, changing description, keywords, etc.
During development of Smart Coin I realized that it takes an enormous amount of time to upload localized screenshots to iTunesConnect (5 screenshots for iPhone, iPad and iPhone 5, 19 languages = 285 screenshots). I always wanted to write something useful in python, so that's how this project was born.
Technologies used: Python, HTTP proxy
July 2012
Developed PMCalendar – open source iOS calendar component.
Technologies used: Objective-C, Core Graphics, Core Text.
August 2010 – December 2010
Developed a dual-stick shooter game for iPhone.
This project was never released and is currently frozen.
Technologies used: Unity iPhone.
October – December 2008
Developed Divine Office application for iPhone.
Divine Office is an application that allows user to download and play daily prayers.
Technologies used: Objective-C, Core Audio.
2002 – 2006, ITMO
Saint-Petersburg University of Information Technologies, Mechanics and Optics
Computer Technologies Department
1998 – 2002, PML 239
Physical and Mathematics Lycée №239
1992 – 1998, State Secondary School №10
LANGUAGE
English, Russian (native)