Toronto, ON, Canada
Toptal Member Since
March 12, 2014
Roman is a top iOS engineer, familiar with all stages of software design and development. His true passion is finding fast, efficient, and ingenious solutions for complex problems. Roman is an efficient and capable developer and a great person to work with.
Roman is available for hireHire Roman
SQL, SourceTree, UIKit, Object-oriented Design (OOD), Multithreading...
SourceTree, REST, Core Data, UIKit, Object-oriented Design (OOD)...
Core Data, SourceTree, REST, Core Location, UIKit, Object-oriented Design (OOD)...
ExperienceObjective-C - 9 yearsC - 9 yearsMultithreading - 9 yearsObject-oriented Design (OOD) - 9 yearsTest-driven Development (TDD) - 9 yearsiOS - 9 yearsSwift - 5 yearsC++ - 3 years
Git, SourceTree, Xcode
The most amazing...
...things I've done are recreations of many amazing pieces of software.
2016 - 2019
iOS Team Lead
- Led a team to implement an iOS client of a communication application with advanced security.
- Managed and facilitated the work process of a distributed team of five developers with a 9-hour time zone difference.
- Designed a solution architecture and planned development activities in collaboration with other teams.
- Communicated with stakeholders to identify product requirements.
- Maintained and integrated multiple C/C++-based cross-platform libraries into the app.
- Reviewed code and implemented best development practices.
Technologies: SQL, SourceTree, UIKit, Object-oriented Design (OOD), Multithreading, Test-driven Development (TDD), SQLite, XP, Scrum, Git, Cocoa Touch, Cocoa, Xcode, C++, C, Objective-C, Swift, iOS
2014 - 2016
Senior iOS Developer
- Migrated an application from iOS 7 to iOS 8.
- Implemented different new features for a client-server enterprise application using Objective-C and Cocoa Touch.
- Implemented Core Data migrations in a fast-evolving application.
- Supported test coverage for business logic using Kiwi.
- Implemented receipt printing using StarMicronics printer SDK.
- Designed architecture in a CLEAN way.
Technologies: SourceTree, REST, Core Data, UIKit, Object-oriented Design (OOD), Multithreading, Test-driven Development (TDD), C, Swift, XP, Scrum, Git, Cocoa Touch, Cocoa, Xcode, Objective-C, iOS
2013 - 2014
- Coded portions of server interaction logic and the corresponding data models.
- Migrated the UI from iOS 6 to iOS 7.
- Optimized project architecture, making it more flexible.
- Created a custom image caching mechanism.
- Implemented part of the UI.
Technologies: Core Data, SourceTree, REST, Core Location, UIKit, Object-oriented Design (OOD), Multithreading, Google Maps, Test-driven Development (TDD), C, MapKit, XP, Scrum, iOS, Git, Cocoa Touch, Cocoa, Xcode, Objective-C
2012 - 2013
- Implemented an advanced video player supporting HLS downloaded to a device.
- Created a simple drawing system for annotating media items (PDF, images, and video snapshots).
- Implemented anti-piracy protection and jailbreak detection.
- Created and supported a custom URL protocol for interacting with HTML packages presented in an application and replacing the native UI.
- Created a custom map view controller capable of switching between native maps and Google Maps in one line of code.
Technologies: SourceTree, Google Calendar API, Mercurial, Core Animation, REST, AVFoundation, Core Location, UIKit, Object-oriented Design (OOD), Multithreading, SQL, Test-driven Development (TDD), C, SQLite, XP, Scrum, iOS, Git, Cocoa Touch, Cocoa, Xcode, Objective-C
2011 - 2012
- Implemented a user authentication and profile editing mechanism.
- Improved application performance dramatically by updating poor legacy code.
- Implemented xibless UI for a universal application.
- Implemented map UI and interaction logic.
- Learned design patterns.
Technologies: SQLite, SQL, SourceTree, Core Animation, REST, Core Location, UIKit, Object-oriented Design (OOD), Multithreading, Google Maps, Test-driven Development (TDD), C, MapKit, Scrum, iOS, Git, Cocoa Touch, Cocoa, Xcode, Objective-C
2011 - 2011
Junior iOS Developer
- Implemented a XMPP chat client.
- Learned manual memory management before ARC became mainstream.
- Learned Cocoa basics, UIKit, and NSFoundation.
- Worked with VCS and profiling tools.
- Created a handy application with video playback featuring use of a gyroscope for juggling.
Technologies: Core Animation, SourceTree, Subversion (SVN), REST, Core Location, UIKit, Object-oriented Design (OOD), Multithreading, Google Maps, SQL, Test-driven Development (TDD), C, SQLite, Scrum, Git, Cocoa Touch, Cocoa, Xcode, Objective-C, iOS
21 century iPad application for golf-course management.
I created the UI and internal logic for the video and audio playback, PDF documents, and image presentation. I developed a drawing instrument used for creating annotations, and implemented an algorithm for making the drawn line smoother. I also secured user data and downloaded content, anti-piracy protection. I also implemented interaction with a second screen, minor UI changes, and a custom URL protocol for interaction with stored HTML packages. This project allowed me to acquire experience working with RESTful services.
This is a universal application that did not use xibs. I optimized the data caching and retrieving, map view, map annotations, and overall UI interaction performance. I also handled authentication, registration, and the user info editing mechanism in the application, as well as the UI and server interaction.
I implemented part of the UI and interactions with Google Places API and Yelp API. Due to issues with places providers, I implemented custom map view controllers with the same interface so that native maps and Google Maps could be easily interchanged.
This was one of the first projects in which I participated. Many things have changed since then, but I learned a lot during its creation.
Objective-C, Swift, C, SQL, C++
Cocoa, Core Location, Cocoa Touch, MapKit, UIKit, Core Data
Xcode, Git, SourceTree, Subversion (SVN), Mercurial
XP, Object-oriented Design (OOD), Scrum, REST, Test-driven Development (TDD)
Core Animation, Google Calendar API, Google Maps
2006 - 2011
Master's Degree in Computer Engineering
Dnipropetrovsk National University Oles Honchar - Dnipropetrovsk