
Roman Temchenko
Multithreading Developer
Location
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 hire
Hire RomanPortfolio
DarkMatter, LLC
SQL, SourceTree, UIKit, Object-oriented Design (OOD), Multithreading...
Lixar I.T.
SourceTree, REST, Core Data, UIKit, Object-oriented Design (OOD)...
Ciklum
Core Data, SourceTree, REST, Core Location, UIKit, Object-oriented Design (OOD)...
Experience
Objective-C - 9 yearsC - 9 yearsMultithreading - 9 yearsObject-oriented Design (OOD) - 9 yearsTest-driven Development (TDD) - 9 yearsiOS - 9 yearsSwift - 5 yearsC++ - 3 yearsAvailability
Part-time
Preferred Environment
Git, SourceTree, Xcode
The most amazing...
...things I've done are recreations of many amazing pieces of software.
Work Experience
2016 - 2019
iOS Team Lead
DarkMatter, LLC
- 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
Lixar I.T.
- 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
iOS Engineer
Ciklum
- 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
iOS Engineer
Cogniance
- 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
iOS Developer
DIMALEX
- 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
KTTSoft
- 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
Experience
Mediafly
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.
Shiftme.to
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.
Alcohoot
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.
Finance Control
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.
Skills
Languages
Objective-C, Swift, C, SQL, C++
Frameworks
Cocoa, Core Location, Cocoa Touch, MapKit, UIKit, Core Data
Tools
Xcode, Git, SourceTree, Subversion (SVN), Mercurial
Paradigms
XP, Object-oriented Design (OOD), Scrum, REST, Test-driven Development (TDD)
Platforms
iOS
Storage
SQLite
Other
Multithreading, AVFoundation
Libraries/APIs
Core Animation, Google Calendar API, Google Maps
Education
2006 - 2011
Master's Degree in Computer Engineering
Dnipropetrovsk National University Oles Honchar - Dnipropetrovsk