Kyrylo C., iOS Engineer with VPN experience
iOS (7.0 yr.), Mobile Apps (7.0 yr.), Back-End Web (1.0 yr.)
Summary
- Motivated software engineer with 7 years of iOS development experience (Swift, SwiftUI, and Objective-C).
- Over 30 App Store project launches for iOS/macOS, including VPN, OpenVPN protocols, and deploy VPN servers)
- Comfortable in both sole developer and team player roles, team-lead experience
- Back-end experience with GoLang (last two years)
- Upper-Intermediate English
- Available to start ASAP
Main Skills
Programming Languages
Scala Libraries and Tools
Akka Actors
UI Frameworks, Libraries, and Browsers
Auto Layouts (Figma)
Mobile Frameworks and Libraries
Crashlytics
KeychainSwift
Moya
.NET Platform
.NET
Databases & Management Systems / ORM
Cloud Platforms, Services & Computing
Oracle OCI
Amazon Web Services
AWS Cloudformation
AWS Cognito
iOS Libraries and Tools
APNS (Apple Push Notification Service)
AVFoundation
CocoaPods
Combine framework
Core Location
MapKit
SceneKit
SwiftPM
SwiftUI
Tuist
UIKit
URLSession
Platforms
AppLovin
Firebase
Deployment, CI/CD & Administration
CI/CD
OpenVPN
Methodologies, Paradigms and Patterns
DRY
MVC
MVVM
SOLID
UI/UX/Wireframing
Figma
Version Control
Git
SDK / API and Integrations
Third Party Tools / IDEs / SDK / Services
IMA DAI
XCode
Operating Systems
iOS
tvOS
QA, Test Automation, Security
mTLS
Postman
x509
Mail / Network Protocols / Data transfer
Network Extension
OpenVPN
WebSockets
Virtualization, Containers and Orchestration
OpenVPN
Other Technical Skills
AdMob
ARC
ChromeCast
CoreHaptics
Digital rights management (DRM)
DispatchSemaphore
GCD
GRDB.swift
Instruments
iPadOS
Lock
MPOS
Multithreading
MVVM+Rx
NeedleFoundation
NF525
Notification extension
OOP/MVC
RevenueCat
Semaphore
Sign in with Apple/Google
SPM
SpriteKit
SSOT
StoreKit2
Storyboard
Swift-Certificates
UDF
URSession
VisionKit
Widget extension
WidgetKit
Wireguard
Xcode Cloud
XcodeGen
XIBs
YAGNI
ID: 800-232-798
Last Updated: 2024-08-23
Work Experience
Senior iOS Developer, BANK/Clearing House
SEP 2023 - MAY 2024
- Worked on an iOS mobile bank application with a team of 9 people.
- Built the architecture of the application, made a local cache for quickly displaying data, and made each module a separate mini-application that can work independently.
- Improved the previous application by reducing the number of crashes, and increased user retention by improving performance
- Introduce Data Driven UI using SwiftUI.
- Set up CI/CD
Senior iOS Developer
Sep 2023 - Nov 2023
- Worked on 2 iOS POS applications with a team of 8 people.
- Integrate NeedleFoundation and separate each feature into individual components
- Introduce Xcode Cloud for delivering builds to QAs
- Implemented mTLS using URLSession
- Implemented X.509 certificate validation using the Swift-Certificates library
- Refactor SDK to modern Swift concurrency
Team Lead iOS Developer, Ruliad
Sep 2022 - Sep 2023
- Worked on an online encyclopedia of alcohol and cocktails with a team of 7.
- Implement DataDriven UI
- Optimized application performance, resulting in a 30% improvement. Implemented efficient algorithms, identified and resolved bottlenecks, and fine-tuned critical components to enhance overall responsiveness and user experience
- Established seamless communication between iOS and backend teams for efficient project coordination
Senior iOS Developer, GL
Aug 2020 - Aug 2022
- Worked on OTT platforms for famous broadcasting companies, with different team sizes from 20 to 8 developers.
- Enhanced app performance by 20% through the recreation of the shared Electronic Program Guide (EPG) across three applications
- Implemented a ChromeCast module enabling casting of both 'On Demand' (including DRM) and live content to devices with ChromeCast capability
- Integrate IMA DAI
- Worked closely with tvOS, iOS, and iPadOS. Organized shared code into Swift Package Manager, making it easy to reuse across all projects
- Customized specific logic within each project
Middle iOS Developer
Aug 2019 - June 2020
- Worked on an mPOS platform for famous clothing brands with a team size of 40 people.
- Implemented NF525 fiscalization with my colleague
- Resolved database synchronization issues, deadlocks, and race conditions, tracked memory leaks, and implemented fixes.
- Synchronized the main mPOS app with the Self Checkout app using Bonjour for seamless communication between the two applications.
Middle iOS Developer, Nebula labs Technologies
Aug 2018 - May 2019
- Developed sports, emoji, and corporate applications with team size of 3 people.
- Converted a Cordova application into a native iOS application, starting from scratch and delivering to the release candidate stage
- Worked with a team on a sports application
Junior iOS Developer
Feb 2018 - Aug 2018
- Worked on an astrology app.
- Implement Birth charts
Junior iOS Developer
Aug 2017 - Jan 2018
- Developed various projects as a solo developer, including readers, quizzes, time trackers, and forums.
- Developed apps from scratch to release candidates and successfully published them on the App Store.
Achievements
- VPN Application: Created applications from scratch for iOS/macOS, utilizing OpenVPN protocols, and deployed VPN servers
- JumpyGo: Created a game using SceneKit + SpriteKit, featuring various effects, background customization, texture modifications, and remote config for events
- KharkivBus: Real-time transportation tracking application for the city of Kharkiv
- Vibrogy: App that uses CoreHaptics for advanced vibration by template.
- OneTouchWellness: Health app with HealthKit, data exchange between Apple Watch and iPhone
- Roblox Editor: Project creation from scratch to completion, working solo – including UW mapping, texture creation based on applied templates, chosen colours, or stickers on various parts of the 3D mode
- QRCode: App for scanning and creating various types of QR codes with customization options
- NDA: NeedleFoundation, modularizing projects into components, and organizing them into separate packages using Swift Package Manager (SPM). Additionally, implemented mTLS using URLSession with x509 certificate validation and certificate pinning.
- Challenging UI task: Implemented an Electronic Program Guide (EPG) using UICollectionViewLayout, with custom cell dequeue from an inner cache for very wide cells (around 2000 pixels).
- Most challenging logic task: Identified and resolved a race condition in database reading and writing specifically during the receipt synchronization process. Introduced synchronization using Semaphore. To pinpoint the issue, created a payload for the database reading and writing processes, limiting calls to detect the specific place and scenario where the race condition occurred.
Education
Simon Kuznets Kharkiv National University of Economics
2018-2020
BA, Computer Science
Kharkiv Radio Engineering Vocational College
2014 - 2018
BA in Engineering, Computer Engineering