Nikolay Derkach, Software Developer in Montreal, QC, Canada
Nikolay Derkach

Software Developer in Montreal, QC, Canada

Member since December 16, 2013
Nikolay is a product-focused iOS expert with a background in security. He has worked extensively on building iOS apps, helping clients with product strategy, and advising on UX design. His passion is to work with startups to help them bring the first iteration of their product to market.
Nikolay is now available for hire

Portfolio

Experience

Location

Montreal, QC, Canada

Availability

Part-time

Preferred Environment

Git, Xcode, OS X

The most amazing...

...thing I've done is reverse-engineer major ticketing websites and the Apple App Store.

Employment

  • Senior iOS Developer

    2017 - 2018
    OnyxCorp (via Toptal)
    • Worked on MVP for an enterprise end-to-end communication software leading product development and engineering for iOS.
    • Developed a product management process in collaboration with designers and developers.
    • Deployed a CI pipeline using Xcode Server.
    • Consulted designers on UX and Apple HIG best practices.
    • Implemented encrypted chat protocols using a modified Signal protocol (Double Ratchet Algorithm and Diffie-Hellman key exchange with post-quantum cyphers).
    • Developed an extensive test coverage for the encryption library using XCTest.
    Technologies: Xcode Server, POSIX, Xcode, Swift, Realm, Signal Protocols, Encryption, C++, Qt, Cocoa Touch, Objective-C
  • Technical Screener

    2017 - 2017
    Toptal
    • Made key decisions in screening hundreds of highly-skilled software developers from all over the world through a three-step screening process (online timed algorithmic test, live coding interview, and test project review).
    • Helped develop algorithmic challenges used to test potential candidates.
    Technologies: Python
  • Full-stack Developer

    2016 - 2017
    BlipMe (via Toptal)
    • Worked on the project as a solo full-stack engineer.
    • Took over the existing legacy codebase and almost completely revamped the front-end as well as added new features to the back-end.
    Technologies: KeystoneJS, PubNub, MongoDB, MapKit, Objective-C, Swift, iOS, Node.js
  • Developer

    2015 - 2016
    SeatCrawler (via Toptal)
    • After reverse-engineering Couchsurfing mobile app as a personal project, I published a blog article about reverse-engineering private APIs which quickly gained popularity and started a discussion on this topic in the industry.
    • Reverse-engineered and found ways to programmatically solve most common Captchas.
    • Built proof-of-concept full-stack web apps to consume private APIs directly or through a proxy back-end.
    • Built a cluster of jailbroken iPhone device to automatically intercept and decrypt APNS messages and serve security tokens via an API.
    Technologies: iOS, Reverse Engineering, React, Flask, Python
  • Developer

    2015 - 2016
    TurnTalk
    • Developed an MVP for the product, helped define the features required, and contributed to the design of the app.
    • Designed and implemented a custom protocol for end-to-end chat message encryption.
    • Designed and implemented custom UI animations.
    Technologies: Encryption, iOS, Parse, Objective-C
  • CEO

    2014 - 2015
    Traffle
    • Designed and built and MVP for a location-based social travel iOS app.
    • Worked on this startup in a team with a designer while also handling engineering, marketing, and business development.
    • Featured on Producthunt, Betalist, PSFK, Skift.com, and other industry-related sites.
    Technologies: UI Animation, Facebook API, Flickr API, Parse, Objective-C
  • Software Engineer

    2012 - 2013
    Amadeus
    • Worked on data management infrastructure, in particular on a data management tool able to provide real-time data mining features with predictable throughput despite unpredictable workload.
    • Developed new database engine features such as SQL-like predicate matching, new data storage representation, and additional tools and scripts for maintaining infrastructure.
    Technologies: Mercurial, Kanban, Scrum, Jenkins, Shell Scripting, Python, Boost, Standard Template Library (STL), C++
  • Software Engineer

    2010 - 2011
    MegaFon
    • Developed various software in Python/PyQt used for automation of remote mass-integration of new GSM and UMTS sites into the radio network as well as for changing parameters of existing sites.
    Technologies: Qt, PyQt, Python
  • Software Engineering Intern

    2007 - 2009
    RET Research Institute (Moscow State Technical University)
    • Developed software infrastructure for a radio telescope system on the Linux platform.
    • Designed a C/POSIX API and client-server system for inter-communication between modules through a MySQL database.
    • Developed GUI applications used for monitoring and controlling of system parameters (using C++/Qt)
    • Extended and managed internal software development processes. Provided consulting services.
    Technologies: OpenGL, Qt, C++, MySQL, Network Programming, POSIX, C
  • Software Engineering Intern for openSUSE

    2008 - 2008
    Google
    • Ported and further developed automatic application crash reporting software for Linux (written in Python).
    Technologies: Qt, Shell Scripting, GTK+, RPM, Python

Experience

  • Blipme

    BlipMe is a community of students who work together to share what’s happening on campus in real-time in order to make college life better for everyone.

  • Traffle
    https://betalist.com/startups/traffle

    Traffle helps you to skip tedious trip planning phase to provide you with a pristine experience of spontaneous travelling. We believe in eliminating travel planning by providing our users not only with suggestions for destinations where to travel based on the time and money budget, but also with recommendations for interesting people they could meet there.

    I built an MVP of the app in collaboration with a designer, and pursued this project as a startup, doing business development and marketing.

  • TurnTalk

    TurnTalk is all about local and secure communication app which strives to make it easy and comfortable to learn about and get in touch with the people around us.

    I developed an MVP for the product, helped to define the features required, and contributed to the design of the app. As a part of the project, I built a custom encryption protocol for end-­to-­end message encryption.

  • Reverse-engineered Amazon App Store API
    https://github.com/nderkach/amazon-app-store-api

    Reverse-engineered Amazon App Store API (test project) using Flask and HTML5/jQuery front-end.

  • A Tutorial for Reverse Engineering Your Software's Private API: Hacking Your Couch (Publication)
    Reverse engineering and hacking are usually related to malicious activities that result in sleepless nights of engineers responsible for system maintenance. Reverse engineering is a tool that we can utilize to find the flaws and improve our software in many aspects. This article shows us how to use these techniques to learn more about different implementations of web API.

Skills

  • Languages

    Python, Objective-C, Swift, C++, Bash, C, HTML, JavaScript, GraphQL, CSS
  • Frameworks

    iOS SDK, UIKit, Cocoa, Core Location, MapKit, iOS Frameworks, Address Book, Flask, Cocoa Touch, Core ML, Qt, Core Data, Jinja, Boost
  • Libraries/APIs

    Mapbox iOS SDK, CocoaPods, Xcode Server, Facebook Pop, Core Animation, Facebook SDK, PubNub, Node.js, Parse SDK, Facebook API, Flickr API, Standard Template Library (STL), PyQt, POSIX, OpenGL, React, Sockets, Flask-RESTful
  • Tools

    Interface Builder, Sublime Text, Git, Xcode, Fastlane, Mongoose, Mercurial, Vim Text Editor, RPM, GTK+, Webpack, MATLAB, Travis CI, Jenkins
  • Paradigms

    App Development, REST, Mobile Development, Kanban, Agile Software Development, Continuous Integration (CI), Test-driven Development (TDD), Scrum
  • Platforms

    Parse, Heroku, iOS, Mapbox, Mobile, MacOS, Linux, Firebase, Amazon EC2, OS X, KeystoneJS, Amazon Alexa, Docker
  • Storage

    MongoDB, PostgreSQL, MySQL, Realm, SQLite
  • Other

    Signal Protocols, Applied Cryptography, iOS Cryptographic Services, Cryptographic Protocols, Cryptography, Reverse Engineering, Apps, Real-time Locating Systems (RTLS), Maps, Software Development, Back-end Development, iBeacon, Mobile UX, Shell Scripting, UI Animation, Encryption, Deep Learning, Artificial Intelligence (AI), Machine Learning, Network Programming, ML Kit, Music
  • Industry Expertise

    Security, Project Management

Education

  • Master of Science Degree in Electronic Engineering
    2005 - 2011
    Bauman Moscow State Technical University - Moscow
  • Bachelor of Mathematics Degree in Applied Mathematics
    2007 - 2010
    Bauman Moscow State Technical University - Moscow

To view more profiles

Join Toptal
Share it with others