Post Job Free
Sign in

Senior IOS Developer

Location:
Deerfield, IL, 60015
Posted:
May 06, 2024

Contact this candidate

Resume:

Tony Thong

Senior / Lead iOS Developer

Phone: +1-224-***-****

Email: ad1xlw@r.postjobfree.com

Profile Summary

Driven by a passion for crafting exceptional mobile experiences, I bring over 10+ years of expertise in building iOS applications across diverse industries and 12+ years in software/IT development. I have successfully published 6 apps on the Apple app store, showcasing a comprehensive skill set. I possess the following skills:

Programming:

•Proficient in Swift, Objective-C, C, and C++, and adept in protocol oriented programming (POP), Object-Oriented Programming techniques, Shell scripting.

•Applied Cocoa touch frameworks like UIKIT, SwiftUI, Combine, CoreData, CoreLocation, MapKit, WidgetKit, Widget Extension, Dynamic Island, CoreMotion, RealityKit, ARKit, CoreBluetooth for efficient app development.

Design Patterns and Architecture:

•Hands on exp with Architecture design patterns like Clean Architecture, MVC, MVVM, MVVM-C, VIPER,

•Hands on exp with design patterns like Pub Sub, KVO, KVC, Singleton, Delegate, Observer/Notification, Adapter, Factory, and Façade, SOLID, dependency injections among others.

UI Development:

•Expertise in designing and developing frontend UI/UX through SwiftUI, UIKIT Storyboards, XIBs, and programmatic means, leveraging Size Classes and Auto Layout Constraints.

•Highly experienced with SwiftUI concepts like ViewsModifiers, ViewBuilders, Previews, NavigationStack, Lists and ScrollViews, PropertyWrappers.

•Interoperability with UIKit and SwiftUI using UIViewControllerRepresentable and HostingViewControllers.

•SwiftUI Declarative Syntax, Layout System (using HStack, VStack, ZStack, Grids, Spacer, and Divider), State Management (using State, Binding, ObservedObject, StateObject), Canvas and Shapes (using Path, Shape and Canvas API.

•Expert in creating custom UIView components using UIKit and using UICollectionView flow layout, UITableViews.

•Expert in Creating universal app UI using UIKit and SwiftUI which works on all orientations in iPhone and iPad.

Unit and UI Testing:

•Used XCTest framework to write Unit and Integration UI tests using TDD.

•Applied Mocking and Stubbing technique to and Expectation wait and full fill approach to test async code.

CI/CD:

•Experience in creating jobs and tasks using Azure pipeline using yml file.

•Skilled in integrating Sonar Qube for test cases reports and code consistency.

•Used other Ci/CD tools like Jenkins, Fastlane, GitHub actions, Bitrise. CircleCI.

Cloud Integration:

•Expert in integrating Azure cloud (Mongo DB using Realm), AWS and Firebase.

•Integrated GC services like Crashlytics, Analytics, Remote Config (Feature flags).

Device Communication:

•Experience in iOS Network framework to do peer to peer communication b/w iOS devices.

•Expertise in Core Bluetooth BLE framework to connect with other hardware peripheral devices.

AR/ML:

•Expert in identifying 2D objects using ARKit and RealityKit using ARAnchors, and USBZ 3d model rendering.

•Created ML models for supervised learning using linear regression.

Network Communication:

•Worked with RESTful API and web services utilizing URLSession and parsing responses using Codable/NSJSONSerialization/JsonDecoder for JSON data.

•Worked on real time communication using web sockets and pub sub patterns.

•Implemented apple push notifications (APNS) and Rich and silent notifications.

Miscellaneous:

•Skilled in troubleshooting and testing using LLDB, NSLog & print statements, breakpoints, and Instruments

•Proficient in source control with Git and SVN, utilizing third-party GUI clients like SourceTree, Tower, and GitHub

•Experience with SPM, CocoaPods and Cocoa Touch frameworks for iPhone and iPad applications, utilizing Xcode IDE, iOS Simulator, and Interface Builder

•Expertise in integrating payment frameworks like Stripe, Apple Pay, and PayPal Pay.

•Contributed problem-solving analysis and recommended solutions within project guidelines, emphasizing best practices in iOS app development, including scalability, reusable code, and consistency

•Excellent communication, organizational skills, attention to detail, and a proven ability to meet tight deadlines.

•Expert in end-to-end development from requirement gathering to development to testing to releasing to app store.

•Must do attitude with skill to work in small or large team pods and resolving technical conflicts.

•Expert in doing code reviews, mentoring developers, upskilling and self-motivating to solve problems.

Core Competencies

•iOS Development

•Software Development Lifecycle

•Project Management

Requirement Gathering

•Database Management

•SwiftUI/UIKit

•Mobile App Development

•iOS Framework

•Team Building & Leadership

•CI/CD Pipeline

•Resource Management

Technical Skills

Programming Languages – Swift, Objective-C

iOS Technologies – UIKit, SwiftUI, Combine, Foundation, GCD, Operations, Async Await, PLists, UserDefaults, Keychain, Categories, Interface Builder, CoreData, XCTest, Instruments, PDFKit, MapKit, CoreLocation

Databases – CoreData, Realm, UserDefaults, KeyChain, SQLite, NSCoding, NSKeyed Archiver, FileManager

Frameworks – AVFoundation, AVKit, AFNetworking, AlamoFire, CloudKit, CoreBluetooth, MapKit, LocationKit, Common Crypto, AWS, Firebase, MessageKit, UIKit, Passkit, Realm, Combine, SwiftUI, ActivityKit, WidgetKit. RxSwift, Crashlytics, ARKit, VisionKit, MLKit, RealityKit

Web Technologies – RESTful Web Services, SOAP Web Services, JSON, XML, GraphQL

Version Control - SVN, GIT, SourceTree, Tower, Command Line / Terminal, GitHub, Bitbucket

Testing – Unit Testing, XCTest, Automated Testing, XCUITest, Quick, Nimble, Cucumber, TDD, BDD

Algorithms - Insertion Sort, Merge Sort, Quick Sort, Shell Sort, Tim Sort, Backtracking, Beam Search, Beam Stack Search, Bellman-Ford, Dijkstra's, Best-First Search, Floyd–Warshall, Johnson's, Flood Fill, Prüfer Coding, Lee, Prim's, Borůvka's, Johnson's, Secant Method, False Position Method, Davis–Putnam–Logemann–Loveland, CNF-SAT, Cross-Entropy Method, Regression Supervised models.

Data Structures - HashTable, Stacks, Heaps, Graphs, Queues, Trees, Loops, Backwards-Lookup, LRU Cache, Dictionaries, Maps, Arrays, Strings, Pointer-Sharing, Segmented Buckets, Spaghetti Stacks, B+ Tree, B Tree, BS Tree, AVL Tree, Splay Tree

Architecture Patterns - MVVM, MVP, MVC, VIPER, Coordinator, Redux Based Architecture

CI/CD – FastLane, Jenkins, Bitrise, Azure, and GitLab CI/CD, CircleCI, GitHubActions

Dev Tools - Instruments, Analyzer, Accessibility Inspector, Charles Proxy, Postman, Memory Graph, LLDB, Time Profiler, Network Sanitizer, Zombies, Allocations

Professional Experience

Sr. iOS Application Developer

Discover Financial Services, Riverwoods, IL Sep’22 -Present

https://apps.apple.com/us/app/discover-mobile/id338010821

This app helps to manage their Discover credit card and bank accounts conveniently and securely from anywhere, using Discover’s Mobile App. Users can check their account balance, view their account info, make, and edit payments, add their card to Apple Pay, manage their rewards, and more - all from their mobile device.

•Used XCode 15.3 with Swift 5.6 for development with SwiftUI and UIKit for UI development.

•Created custom view Modifiers and view builders to create custom UI components in SwiftUI.

•In UIKIT manged navigation b/w different views using custom Navigation Controller.

•Followed MVVM C architecture design patterns for a modular and testable code structure.

•Manged swiftUI State using different property wrappers like Observed Object, Stated Object, Environment Object, State, Binding and started looking Macros like Observable Bindable.

•Applied TDD approach to write unit tests using XCTest framework and dependency inversion to mock dependencies.

•Used Combine for data binding with custom Current value subject and pass through subject.

•Incorporated Charts SDK to visually represent and track product popularity over time within the details page

•Collaborated with UX-Designers to architect onboarding processes, ensuring an optimal user experience, and utilized Figma for design collaboration

•Implemented Auto Layout constraints for seamless orientation handling and adaptability to various screen sizes, including devices with hardware-covered screens

•Developed multiple view controllers programmatically using Auto Layout for flexibility across different screen sizes

•Established a robust continuous integration system on GitHub with Jenkins, emphasizing a quality code base and issue reduction

•Leveraged SPM (Swift Package Manager) for effective management of third-party dependencies like Firebase Crashlytics, Analytics.

•Integrated the Stripe SDK for secure credit card transactions during the checkout process

•Created multiple screens using SwiftUI, meticulously aligning them with Figma designs in collaboration with UI/UX designers

•Utilized Codable for model decoding and encoding, and JsonDecoder for efficient conversion to and from JSON files

•Modified Jenkins' configuration to automate builds upon Pull Requests to run tests and automatically upload app to TestFlight

•Managed issue tracking, tasks, and backlog using Jira employed Confluence for documentation, and maintained source control through GitHub

•Implemented Size Classes and programmatic adaptations to ensure graceful orientation handling

Sr. iOS Developer

Baxter Healthcare Corporation, Deerfield, IL Dec’20-Sep’22

https://apps.apple.com/us/app/baxter-in-service-us/id1520548957

This app allows the users to find videos, quick reference guides, and instructions for use for our portfolio of products: Active Hemostastic & Sealant Products -FLOSEAL [Hemostatic Matrix] -TISSEEL [Fibrin Sealant] -COSEAL[Surgical Sealant] -PREVELEAK [Surgical Sealant] -ARTISS [Fibrin Sealant] OSTENE [Bone Hemostat] Adhesion Prevention Products -SEPRAFILM [Adhesion Barrier] -ADEPT [Adhesion Reduction Solution] Tissue Technologies -PERI-STRIPS DRY Staple Line Reinforcement with VERITAS Collagen Matrix -TISSUE-GUARD Portfolio Bone Repair Technology -ALTAPORE [Bioactive Bone Graft Substitute] -ACTIFUSE [Bone Graft Substitute]. It is useful for patients and caregivers as they rely on Baxter's leading portfolio of critical nutritional, renal, hospital, and surgical care products and services.

•Migrated code from XCODE 9, iOS 11 to XCode12 and iOS 14.0 support.

•Established, configured, and took ownership of the build release processes for a comprehensive iOS app project

•Completed the project using a well-organized VIPER architecture to ensure scalability and maintainability.

•Re developed app from scratch with VPER architecture and combine for data binding.

•Utilized a combination of Storyboard and Programmatic UI components for an efficient and flexible user interface

•Configured and implemented Deep Linking, incorporating Push Notifications to enhance user engagement

•Applied Flow Coordinators to efficiently handle backend responses and screen routing at the app launch, ensuring a seamless user experience

•Employed protocol-oriented programming principles to enhance code maintainability and readability

•Collaborated closely with the UI/UX team to bring the app to specifications, utilizing UI screens and assets from Invision

•Led the development in an Agile environment, following Scrum processes and taking on the role of Scrum Master as the team lead

•Managed the team, assigned tasks, and conducted Sprint planning for optimal project management

•Created multiple custom UI components to align with designs, maximizing UI/ for an enhanced user experience

•Implemented GitFlow for version control, following a branching model development workflow

•Developed the project with Swift 4.1, leveraging the Equitable protocol and synthesizing support for the Hashable protocol.

•Integrated Crash Reporting using Crashlytics/HockeyApp to identify and resolve issues efficiently

•Utilized URLSession to handle all service calls, incorporating caching strategies for improved performance

•Employed Keychain to secure sensitive data, such as tokens received during the backend login process

•Successfully led a team of 3 iOS developers to deliver on time in a fast-paced project, ensuring milestones and release deadlines were met while maintaining high-quality deliverables

•Managed media elements effectively with AVFoundation for an app that provides users with access to videos, quick reference guides, and instructions for a diverse portfolio of critical healthcare products catering to patients and caregivers who rely on Baxter’s leading portfolio of nutritional, renal, hospital, and surgical care products and services

Lead iOS Developer

CarMax, Deerfield, IL Apr’19-Dec’20

https://apps.apple.com/us/app/carmax-used-cars-for-sale/id571044395

The CarMax app. is designed to make their next car journey more convenient, whether they are buying, scheduling a test drive, or paying off the loan. It has features that save time searching with a nationwide inventory of 40,000+ used cars, SUVs, and trucks. Users can see car details and interior and exterior photos, Ship vehicles to their closest store and schedule a test drive at their convenience, customize their search with favorite cars, and save searches. Users get alerts for changes to their saved cars and favorites.

•Played a pivotal role in the redesign of the app, managing vast amounts of data daily

•Contributed to the deployment of the redesigned app for enhanced functionality

•Spearheaded Swift development initiatives, serving as the primary language for the iOS app

•Implemented cutting-edge Swift features and leveraged language advancements to enhance app performance

•Utilized Firebase Analytics and Fabric for in-depth app usage monitoring

•Leveraged insights for informed business decision-making and efficient crash resolution

•Implemented OC Scanner framework for scan and save feature

•Built custom progress views and progress bars for clear upload/download progress visualization

•Utilized Core Data for robust data persistence

•Debugged accessibility compliance using Accessibility Inspector

•Applied the MVVM (Model-View-ViewModel) architecture pattern to enhance code maintainability and separation of concerns

•Integrated reactive programming with MVVM for a responsive and intuitive user interface

•Collaborated with multiple product/business managers for new feature development aligned with the product roadmap

•Worked in a team of 7 iOS developers, contributing to a collaborative and productive environment

•Managed and implemented push notifications to APNS

•Worked in an Agile environment, contributing to project and team management

•Led refactoring initiatives to accommodate the growing scale of the CarMax iOS app

•Applied architecture-driven refactoring strategies to enhance system scalability and maintainability

•Participated in Daily Scrums, Sprint Grooming, and Sprint Retrospective

•Maintained sprint-level and project-level developments using Jira

•Implemented login features with Keychain for secure data storage

•Ensured user data safety with encrypted sessions

•Developed custom multithreaded approaches for seamless integration with cloud services

•Utilized Jenkins for the CI/CD pipeline and deployment to TestFlight for application deployment

•Worked in an Agile environment following Test-Driven Development (TDD) methodology

•Collaborated with project managers to ensure all project milestones were met

Lead iOS App Developer

The Sherwin Williams Company, Cleveland, Ohio Sep’17- Apr’19

https://apps.apple.com/us/app/sherwin-williams-pro/id1189158431

This app is designed to Order paint and supplies anytime, anywhere., Check inventory at a local store, or reorder items from the user’s purchase history. Save money from day one with preferred pricing and exclusive coupons. This app helps to manage their account easily view the pricing and purchase history, and pay bills directly from the app. It has a feature to find your closest store or search by location.

•Designed and implemented the application architecture following the MVVM pattern, ensuring scalability and maintainability

•Led the development and enhancement of the Deals Section, improving the overall user experience

•Engineered custom alert settings for notifications, including price drops, offers, and auctions

•Implemented a robust product search feature supporting barcode scanning and voice commands using AVCaptureSession and AVFoundation

•Leveraged Firebase AB testing through config files to refine features for specific geographical regions

•Followed a Test-Driven Development (TDD) approach to ensure the reliability and correctness of application features

•Integrated Core Data for efficient offline storage and executed lightweight migrations for enhanced data management

•Ensured the secure storage of user login information using Keychain

•Implemented multithreading and managed concurrency issues using Grand Central Dispatch (GCD) and Operation Queue

•Maintained overall app performance by regularly using Instruments and Profiler tools to identify and address potential bottlenecks

•Managed code versioning with Git via GitHub, ensuring a collaborative and organized development process

•Integrated Jenkins into the development workflow for continuous integration, aligned with Test-Driven Development methodologies

•Used AVFoundation to handle audio playback and video streaming seamlessly

•Employed UIKit for new screen designs, ensuring a modern and responsive user interface

•Utilized Storyboards with Auto Layout and Interface Builder for efficient and adaptable UI design

•Implemented Unit Tests to cover core logic and utilized Coco Pods to manage third-party dependencies effectively

•Transitioned from Fabric to Crashlytics for runtime crash logging, resolving production crashes, and ensuring app stability

iOS App Developer

Guardian Life Ins. Co. of America, New York, NY Aug’15-Sep’17

https://apps.apple.com/us/app/guardian-accounts-policies/id1215328004

This app is designed for users to access their Individual Market Guardian accounts and policies. It helps to view all policy or account details: coverage, people, riders/benefits, make secure payments and pay off loans, Set up and manage automatic payments, Change their billing schedule, View payment history for up to the last 3 years, view beneficiaries and riders, change profile information, Opt-in to receive statements & documents electronically, sign in with Touch ID or Face ID and chat with our Service Representatives

•Implemented Touch ID and utilized the Local Authentication framework for seamless and secure biometric authentication

•Employed the Keychain services to securely store user passwords, ensuring a robust security protocol

•Led the development of critical features, including the setup, editing, and deletion of payees, enhancing user convenience

•Contributed to the feature development for rewards and offers, enriching the app's value proposition

•Acted as a Lead Developer for the MyAccount Section, orchestrating the development of various screens

•Utilized Swift and Objective-C with UIKit for building the UI, seamlessly integrating both via UIView representable

•Developed UI using Storyboards and AutoLayout, aligning with design specifications and ensuring a responsive user interface

•Programmed the app using Swift combined with an MVVM architecture and various design patterns for maintainability and scalability

•Refactored the app's design to use colors in an asset catalog, ensuring a cohesive and universal design palette

•Used CocoaPods to load third-party frameworks and manage dependencies efficiently

•Integrated Google Analytics and custom analytics solutions to monitor and measure app usage, enabling data-driven decision-making

•Employed Jenkins for continuous integration, managing commits to a private Git server via SourceTree

•Ensured code quality through peer code reviews and followed a test-driven development approach for robust and reliable features

•Addressed and resolved various performance-related issues, enhancing app animations for a smoother user experience

•Fixed numerous bugs related to session logic, OAuth 2.0, and session management, contributing to the overall stability of the app

•Utilized Apple Push Notifications for effective user communication

•Implemented secure data transmission practices over the network without specifying AES encryption, considering the sensitivity of user data

•Programmed the app using Xcode (version based on the time frame) and Swift (version based on the time frame), ensuring compatibility with a minimum iOS version specified for that period.

•Migrated code from Objective-C to Swift.

iOS Developer

Groupon Inc., Chicago, IL Jun’13 - Aug’15

https://apps.apple.com/us/app/groupon-local-deals-near-me/id352683833

This app is an e-commerce app to save up to 70% on the things that are required for every day. This app offers great deals on all the best stuff to eat, see, and do near you and around the world.

To try a new restaurant downtown, in need of a relaxing massage, looking for a new gym, or daydreaming about a hotel for a tropical getaway, Groupon has you covered with all the unique local experiences and discounts anyone could ever wish for.

•Proficiently utilized Objective-C throughout the Groupon app project.

•Proficient in managing memory in Objective-C and migrated Non ARC to ARC.

•Manged Objective- C categories, atomic and non-atomic properties, and blocks.

•Leveraged various UI elements, including Image Views, customized Buttons, Text Views, segment controllers, UIPickerView, and UITextField delegates

•Employed AVFoundation for seamless audio and video playback, enhancing multimedia features

•Implemented a dynamic UI programmatically, setting constraints with NSLayoutConstraint and NSLayoutAnchor for precise and readable code

•Introduced smooth transitioning animations between UIViews to elevate the overall user experience

•Utilized the UIKit Framework to display PDFs and medication information through UIWebView and UIScrollView

•Developed essential project tools like customized TabBar, Navigation Bar, Page Controller, and scroll view for a tailored and cohesive user interface

•Contributed to REST API development, managing requests to the database, and tracking different phases of the application

•Optimized user experience by implementing Grand Central Dispatch (GCD) to offload tasks from the main thread, enhancing responsiveness

•Implemented notifications to detect autorotation in customized SubViews, ensuring a seamless transition between device orientations

•Utilized NSOperationQueue and NSURLSession for efficient integration with backend web services, contributing to overall application reliability

•Demonstrated expertise in Apple technologies by successfully implementing Apple Push Notification Service (APNS) and Apple Pay within the Groupon app

IT Infrastructure Administrator

Parker Hannifin., Cleveland, Ohio Sep’11- Jun’13

•Network Administrator responsible for users, security, hardware infrastructure, and ordering equipment.

•Responsible for implementation and testing of new technologies (software and hardware), and for recommending solutions for best performance and customer success.

•Architected, planned, and managed Implementation of LAN and WLAN network migrations and deployments.

•Managed Novell Netware 5,1 to Windows 2000 Advanced Server networks

•Responsible for data loss prevention planning and implementation, and managed backup/restore administration.

•Assisted in the production of systems manuals and diagrams.

•Responsible for project management, cost reviews, time, and materials, as well as workflow planning and oversight to ensure successful implementations on deadline and budget.

•Made recommendations and advised clients on solutions, equipment, and use cases.

•Supervised network technicians, and managed tasks and assignments to make the best use of various technician skills and capabilities.

Education

•Bachelor of Computer Science and Programming from Georgia Southern University, Statesboro, GA



Contact this candidate