Dmitry Petrov

Dmitry Petrov

Senior iOS Developer
Tbilisi, Georgia

Senior iOS Developer with 8 years of experience building high-load, business-critical apps — from a banking app that reached #6 in the App Store Finance category to an IPTV platform with 2M+ active users, which I rebuilt from the ground up in SwiftUI + Combine. Four years with SwiftUI, Combine and Swift Concurrency; I own features end to end — from architecture to App Review and business metrics. Built an internal SDK and mentored 3 junior developers.

Experience

2022 – 2026
Senior iOS Developer
ER-Telecom

IPTV app for a major telecom operator — 2M+ active users.

Rebuilt the app from the ground up in SwiftUI + Combine, replacing an 8-year-old Objective-C / RxSwift / Storyboards codebase: full feature parity plus new features and a new design in ~80% less code, while maintaining the old app in parallel.
Defined the new app's architecture: Swift Concurrency (async/await) for networking and business logic, Combine for UI state.
Owned the card payment integration via a bank API end to end — timeout and error handling, idempotent retries, 3-D Secure, payment status tracking, monitoring and payment-flow tests — and got it through App Review, which had blocked the release over third-party payments; in-app sales in the new app doubled compared to the old one.
Introduced unit and UI testing into the team workflow — XCTest for business logic and view models, UI tests for the EPG (TV guide) and authentication flows.
Led end-to-end Siri integration from scratch, owning the complete user flow and feature delivery.
Contributed to two custom streaming players with PiP and DRM content protection.
Made the EPG faster and more informative, built on UIKit and WebSockets.
Integrated 3 analytics systems — Firebase, Yandex Metrica and in-house solutions.
Developed an MVP application for tvOS.
Rapidly shipped new features to meet telecom regulatory requirements.
2020 – 2022
iOS Developer
Mad Brains

8 client projects across industries as an external contractor — MVVM + Coordinators, UIKit, RxSwift, Alamofire.

Built InfinBank, a business banking app, from scratch in a 2-person team; it reached #6 in the App Store Finance category and held that position for 2 months.
Designed and built an SDK with a demo app for a telecom company's internal use, mentoring 3 junior developers throughout the project.
Implemented 10+ features for a joint-budget app, including biometric authentication (Face ID / Touch ID), user profile, guest mode, chat, piggy banks, groups, and archive.
Led the app redesign for an auto repair chain's rebrand, implementing a discount system, push notifications, Facebook integration, and online booking.
2018 – 2019
Junior iOS Developer
Blogman
As part of the product team, implemented 50+ features for WebSocket messaging, calls, and notifications using VIPER, UIKit, Realm, and Alamofire.

Education

2016 – 2018
Master's degree
Aerospace Institute, Orenburg State University (OSU)
Management and IT in Technical Systems
2012 – 2016
Bachelor's degree
Institute of Risk Management and Integrated Security, Orenburg State Agrarian University
Informatics and Computer Engineering
2001 – 2012
Physics and Mathematics Lyceum
Specialized Mathematics Class

Tools of the trade

Core
Swift
SwiftUI
UIKit
Foundation
Swift Concurrency (async/await)
Reactive
Combine
RxSwift
Architecture
MVVM + Coordinators
VIPER
MV*
SOLID
Protocol-oriented design
Networking & Data
Alamofire / Moya
REST
WebSockets
GraphQL
Realm
Testing
XCTest (unit)
XCUITest (UI)
Security & Payments
Biometric auth (Face ID / Touch ID)
3-D Secure
DRM content protection
Bank payment API integration
Analytics
Firebase
Yandex Metrica
Custom analytics
Platforms
iOS
tvOS
Frameworks & Libraries
SiriKit
LocalAuthentication
MapKit
CoreLocation
Google Maps
Yandex Maps
SnapKit
CI/CD
GitLab CI
Fastlane
Hardware & Embedded
MCU firmware (STM32, AVR, PIC)
FPV drone builds
Tools
Charles
Proxyman
Postman
Figma
Languages
Russian — native
English — B1
Chinese — A2

Get in touch

By email
Drop me a line
mail@petrov.software
Elsewhere
Same handle across socials & messengers
@kenzot_fpv