Senior Product Engineer2021 - PRESENTBunch
Technologies: Swift, RxSwift, VIPER Architecture, Git, SnapKit, CocoaPods, Xcode, CircleCI, Sentry, Fastlane, UIKit, Amplitude, Segment, Braze, Firebase, Airtable, Unit Testing
- Successfully delivered rewrite of the app using RxSwift and VIPER architecture. That feat greatly contributed to closing the $1.5M fundraising round.
- Maintained and fixed bugs in legacy apps written in SwiftUI and Combine.
- Integrated Fastlane with CircleCI to achieve continuous integration.
- Integrated Sentry and Crashlytics for error and crash logging.
- Used Amplitude and Segment to investigate user journeys and monitor important KPIs.
- Wrote hundreds of unit and snapshot tests in order to increase stability and confidence when releasing.
CEO | Founder | iOS Development Consultant2020 - PRESENTUnderflow
Technologies: Viper, Model View Viewmodel (MVVM), RxSwift, Objective-C, Swift, iOS, Mobile Development
- Consulted several companies regarding iOS development.
- Set up architecture and processes for iOS development. Adapted a React Native app for iOS.
- Helped integrate a low-level GPU library into an Xcode project.
Senior Software Engineer2020 - 2021Sportening
Technologies: Swift, iOS, RxSwift, Clean Architecture, Protobuf, UIKit, Unit Testing, Bash Script, Jira, Confluence, Carthage
- Created a rich UI with smooth animations and interactive custom components.
- Built a robust and responsive app using RxSwift and clean architecture.
- Wrote hundreds of unit tests using snapshot testing, RxBlocking, and RxTest.
- Wrote several bash scripts to record network traffic smartly. Also wrote scripts to automate tedious tasks like updating proto models, downloading and formatting localization files, and more.
- Moved the codebase from Carthage to Swift Package Manager.
iOS Development Consultant2020 - 2020Farm Credit DRP
Technologies: Model View Viewmodel (MVVM), RxSwift, Swift, iOS, Mobile Development
- Boosted the development of an iPhone app for insurance.
- Delivered on all requirements within a tight schedule.
- Built a reactive application using RxSwift and MVVM.
Senior iOS Developer2019 - 2020Nomadic Tribe (via Toptal Projects)
Technologies: Jira, Git, SnapKit, PromiseKit, Stripe, Core Data, Swift, iOS, Mobile Development
- Built a booking system and integrated it with Stripe payments.
- Added support for push notifications and created a push notification extension. Integrated Swift Package Manager support.
- Built social media features with rich posts, comments, people, location tagging, sharing, and other feed actions. Provided smooth scroll performance, an intuitive UI, and efficient data load and persistence.
- Tweaked misbehaving custom fonts. Used instruments to find performance bottlenecks. Built a custom scroll-based fading navigation bar.
- Extracted custom build settings to Xcode configuration files and schemes, making them easy to switch based on the environment—debug, QA, staging, and release.
iOS Development Consultant2019 - 2019WeSports
Technologies: Amazon Cognito, Carthage, RxSwift, Swift, iOS, Mobile Development, SDKs
- Created a library for a lightweight Amazon Cognito sign-up process for Carthage.
- Created a test app to demonstrate usage of the library.
- Handled asynchronous tasks primarily using RxSwift.
Lead iOS Developer2014 - 2019Sofascore
Technologies: BuddyBuild, Sirikit, StoreKit, SnapKit, PromiseKit, Git, CocoaPods, Objective-C, Swift, WatchOS, iOS, Mobile Development
- Split a legacy Objective-C codebase into several frameworks and integrated Swift support.
- Wrote hundreds of unit and snapshot tests making sure things don't break. It sped up development, making team members more confident when releasing updates.
- Implemented a non-consumable in-app purchase and an auto-renewable subscription with local validation using OpenSSL.
- Created a library to facilitate the use of table views with mixed table view cells and made seamless animated transitions between states.
- Implemented a watchOS app as well as Today and Intents app extensions.
- Refactored the core app using Promises to make data load and persistence seamless, fast, and efficient.
- Developed a multiplayer penalty shoot-out game from scratch using Swift and reusing existing underlying frameworks.
Software Engineering Intern2015 - 2015
Technologies: GraphQL, ComponentKit, Mercurial, Objective-C++, Mobile Development
- Created a pixel perfect UI and animations to enhance user engagement.
- Fetched necessary data from a database using GraphQL.
- Deployed code to a codebase shared with hundreds of developers.
- Improved accessibility for visually impaired people.
- Wrote unit, snapshot, and end-to-end tests for the technology.
Software Developer2013 - 2014aiKATE
Technologies: Microsoft SQL Server, ASP.NET, C#
- Developed an application to track students' progress in the early stages of education and for direct parent-teacher communication.
- Worked on processing input data and creating backup Excel files.
- Developed forms using ASP.NET to collect user input.