Post Job Free
Sign in

Lead IOS Developer

Location:
United States
Posted:
June 24, 2024

Contact this candidate

Resume:

Profile Overview

**+ years of experience

* ********* **** ** *** App Store

Professional skilled in iOS mobile app developer with expertise in Swift development with versions Swift 1 – Swift 5.7, and with Objective-C and Cocoa frameworks using latest XCode 15.0 Version.

Experience with all aspects of the software development lifecycle (SDLC) and architected project from scratch.

Experience working with iOS frameworks such as CoreData, CoreAnimation, Core Graphics, and CoreText, CoreML, VisionKit, ARKit, CoreBluetooth, CoreNFC.

Familiarity with RESTful APIs and GraphQL to connect iOS applications to back-end service using URLSession and Apollo Client respectively.

utilized ARKit's scene understanding capabilities, allowing for the detection of surfaces, objects, and the integration of virtual

Implementing 3D object recognition using ARKit, enabling applications to identify and interact with specific objects in the user

Integrated ARKit with SceneKit

Worked with telematics data to provide features such as vehicle diagnostics, vehicle tracking

Strong Knowledge Flutter's widget-based architecture, enhancing the overall user experience.

integrating Flutter applications with RESTful APIs, ensuring seamless communication between the app and external data sources.

integrated video SDKs into iOS applications, leveraging their capabilities to enhance video playback, streaming, and recording functionalities. This includes SDKs such as Shaka.js, AVFoundation, and other third-party frameworks to deliver seamless multimedia experiences to end-users.

utilizing Shaka.js within iOS applications to implement adaptive streaming protocols like MPEG-DASH and HLS. My proficiency extends to configuring and customizing Shaka.js for dynamic bitrate adaptation, DRM integration, and advanced video playback features, ensuring optimal performance and compatibility across various devices and network conditions.

developing custom video players for iOS using Shaka.js and native iOS frameworks, allowing for tailored user experiences and seamless integration with other application functionalities

Worked with XAML for designing user interfaces in MAUI applications.

Understanding of performance optimization techniques for MAUI applications

Experience in video encoding and transcoding processes within iOS applications, utilizing Shaka.js and associated tools to optimize video content for different devices, resolutions, and bandwidths

handling and performance optimization techniques for video playback using Shaka.js on iOS

experience integrating ExoPlayer Core Library into iOS applications to provide seamless audio and video playback capabilities

customizing and configuring ExoPlayer to meet specific project requirements, including setting up playback controls, buffer management, and media formats.

using ExoPlayer Core Library, including adaptive streaming protocols such as HLS (HTTP Live Streaming) and DASH (Dynamic Adaptive Streaming over HTTP).

Integrating ExoPlayer with custom user interfaces to provide intuitive playback controls, such as play, pause, seek, and volume adjustment.

optimizing ExoPlayer configurations and fine-tuning playback parameters to enhance performance, minimize buffering, and reduce resource consumption on iOS devices.

using AV Foundation for media capture tasks such as capturing audio and video from device inputs, as well as recording and encoding media streams.

expertise in leveraging AV Foundation to perform various media processing tasks, such as editing, trimming, and applying filters or effects to audio and video content.

using AV Foundation, including accessing metadata, handling asset collections, and organizing media assets within iOS applications.

Developed user interfaces that were optimized for telematics devices with small screens and limited input options

Integrating Apple Wallet functionality into iOS applications, enhancing user experience by offering convenient access to passes, tickets, loyalty cards

Utilized PassKit framework to create, manage, and distribute passes compatible with Apple Wallet, ensuring seamless integration with iOS apps and adherence to Apple's standards and guidelines.

proficiency in ARKit, leveraging Apple's augmented reality framework to create immersive and interactive experiences within iOS applications.

testing and debugging Wallet passes across various iOS devices and versions using Xcode's simulator and physical devices

Integrating Passbook API for seamless communication between iOS applications and Apple Wallet

Experience with integrating third-party libraries and APIs in iOS mobile app development using Cocoa pods, Carthage and Swift Package Manager (SPM).

Experience in developing Native Enterprise iOS B2B, B2C apps and releasing them to AppStore or Enterprise App Store like (MDM Platforms) AirWatch, Cisco Meraki.

Experience with MVC, MVVM variants like MVVM with Repository and Coordinator, VIPER, and POP/OOPs patterns in iOS

Proficient in developing augmented reality (AR) applications using RealityKit.

Used RealityKit's scene understanding capabilities to integrate virtual content

worked with RealityKit's ECS architecture for creating modular and scalable AR applications.

Worked within an MVVM architecture utilizing Async Await as the communication flow throughout the app. Utilized property wrappers such as @State, @StateObject

Followed the MVVM-C architecture pattern for modularity and scalability

Applied the MVVM architecture, ensuring a modular and testable code structure that facilitated efficient maintenance and updates

Proficient in architectural patterns like MVC, MVP, MVVM, MVVMC, VIPER, and Clean Architecture for well-organized and maintainable codebases

Integrated advanced language processing libraries into IOS Chatbot

Used messaging features into iOS chatbot applications

have integrated iOS's notification system into chatbot applications

Implementation of feature flagging techniques in iOS development, allowing for

Conducted comprehensive testing on various iOS devices to ensure seamless HealthKit integration

Skilled in troubleshooting and testing using LLDB, NSLog & print statements, breakpoints, and Instruments for efficient debugging

Proficient in UI development using SwiftUI, Storyboards, XIBs, and programmatic approaches with Size Classes and Auto Layout Constraints

Utilized SwiftUI's data binding and observable object protocols for seamless data synchronization and updates

Built innovative features with SwiftUI and Swift 5.8 to enhance the user experience

Worked within an MVVM architecture utilizing Async Await as the communication flow throughout the app. Utilized property wrappers such as @State, @StateObject, @ObservedObject, @Binding, and @Published with Async Await and SwiftUI for data binding

Expertly debugged the application using the View Hierarchy for swift issue resolution

Enforced consistent programming styles throughout the project using SwiftLint

Possess expertise in the latest MacOS technologies, including SwiftUI, and combined reactive programming

Extensive knowledge of native frameworks like Core Foundation with Cocoa touch, UIKit, SwiftUI, Combine, Core Data, Core Animation, Core Location, Map Kit, AVKit, Core Bluetooth, WidgetKit, StoreKit, Apple Pay, Push notifications etc.

Skilled in integrating Bluetooth services using Core Bluetooth, allowing for the organized grouping of characteristics to efficiently manage Bluetooth interactions in iOS applications

My expertise includes implementing background Bluetooth operations, allowing for continuous communication with peripherals even when the app is in the background or the device is locked.

integrating and managing peripheral devices using Core Bluetooth, enabling iOS applications to interact with a variety of Bluetooth-enabled hardware.

Experience in implementing Bluetooth Low Energy (BLE) technology through Core Bluetooth, optimizing power consumption for extended device battery life.

implementing security measures within Core Bluetooth applications, ensuring secure and encrypted communication between iOS devices

In SwiftUi Expert in manging states of UI using different property wrappers like State, B

Experience with layouts that handle phone and tablet resolution using Size classes in UIKIT framework using Storyboards and programmatic layout.

Use of Apple Push Notification (APNS) in iOS mobile app development using Firebase with Rich/Silent Push Notifications and Universal/Deep linking.

Experience with continuous builds CI/CD using Circle CI, BitRise, GitHub actions, Jenkins and ADO (Azure Dev Ops) and Git and SVN source control using SourceTree, BitBucket, GitHub and GitLab.

Investigating and debugging issues on iOS mobile platforms using break points, view debugger and DYSM logs obtained from Firebase Crashylatics

Expert in using rich threading techniques like Async Await, Actors, OperationQueues, GCD and combine async publishers to improve app performance.

Used to working in an Agile/Kanban Test-Driven Development (TDD/BDD) environment using XCTest /XCUITest and Quick/Nimble frameworks and following strong quality processes.

Hands on experience in SwiftUI concepts like Navigation Stack, List, Grids, State management property wrappers like (State, Binding, StateObject, ObservedObject, EnvironmentObject), View Modifiers, View Builders.

Ability to make decisions on different architecture patterns (MVC, MVVM -C, VIPER, Clean) and design pattern depending upon project requirements and module complexity.

Expert in using Combine and RxSwift frameworks for data binding and with URL Session for REST Api calls.

Technologies

Languages – Swift, Objective-C, MacOS C Swift (Swift 1 – Swift 5. x),, Assembly, Unix, MatLab, Visual, Basic, Verilog

Databases – SQLServer, SQLite, MySQL, Mongo DB, CICD, DevOps

Web Services – REST, SOAP, (JSON/XML)

IDEs - XCode, Visual Studio, Android Studio

Architecture Patterns: MVVM, MVP, MVC, VIPER

Frameworks: CocoaPods, CocoaTouch, AFNetworking, AVFoundation, EventKit, CloudKit, MapKit, LocationKit, Reachability, Phrase

Project: JIRA, Confluence, KanBan, Redmine, Basecamp, Slack

Tools - Instruments, Analyzer

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

Operation Systems - iOS, Windows, OS X, Linux

Methodologies – PSP, SCRUM/AGILE, TDD

Testing: Unit Testing, XCTest, Automated Testing

Continuous Integration: Jenkins, Travis, Hudson

TestFlight

User Journey: AppCenter, Firebase, NewRelic

Persistence: Core Data, Keychain, NSCoding / NSKeyedArchiver, SQLite, PList, NSUserDefaults

Mobile Map Tools: Core Location, MapKit, Location Kit, Google Maps API

Testing: TestFlight, Jenkins, XCUITest, Test-Driven Development (TDD), Fastlane, Sonar Qube, CircleCI, Bitrise

Development Tools: Visual Studio, Xcode, Instruments, JIRA, Slack, Figma, InVision, Postman.

Professional Experience

Lead/ Senior iOS App Developer

Domino’s, Ann Arbor, Michigan September 2020 – Present

https://apps.apple.com/us/app/dominos-pizza-usa/id436491861

https://apps.apple.com/us/app/zero-click/id1093822449 (No longer available on Apple platforms but still downloadable on Android)

Joined Domino’s as an iOS accessibility subject matter expert shortly after the company had lost a lawsuit over the app and website being inaccessible while using screen readers. I worked on a team of about 6 people, including one developer for each platform (iOS, Android, and web), a project manager, and several QA personnel. As the accessibility team, our main task was to address an incredibly long list of accessibility issues that had been identified through a series of audits carried out by Deque, a company that specializes in accessibility auditing and development training. Our secondary task was to develop a list of easily understood and implementable standards and guidelines to be followed by all developers to create more reliably accessible features going forward. After two and a half years, we were ultimately successful in both of the goals. As the sole iOS developer on the accessibility team, fixed over 400 bugs in the app, and wrote the guidelines and best practices on accessible development practices for Domino's, which is being carried forward into the development of a completely new app that is presently being architected. After those two and a half years, the accessibility team was formally dissolved, and all members were moved onto the regular development teams in different parts of the company. I worked for a period of approximately half a year after the dissolution of the accessibility team on more typical feature work and non-accessibility-related bug fixes before eventually parting ways with Domino's.

Addressed VoiceOver-related bugs, ensuring accessibility by adding alt text to images and optimizing visible screen elements for screen reader focus and readability

Worked in an older MVC architecture in older module and new modules in MVVM C architecture with TDD approach.

New modules are developed in SwiftUI, legacy code is in UIKIT with Objective-C.

Utilized UIKIT with storyboards and programmatic constraints and SwiftUI with HostingViewController and UIViewRepresentable protocols.

working in Core Bluetooth, facilitating the exchange of data and control signals between iOS devices and connected peripherals.

Implemented the Project Tracking and Company Overview feature using SwiftUI

Employed mostly storyboards, supplemented by occasional programmatic UI

Followed TDD approach to write Unit, Integration and snapshot test cases.

Contributed to improving testing practices and maintaining test files

Utilized Singleton for managing feature flags, especially for features in beta testing using firebase remote config.

Integrating XCUITests into continuous integration pipelines, ensuring seamless and automated testing throughout the development process

Accessibility testing using XCUITest, ensuring that iOS applications are inclusive and comply with accessibility standards

integrating XCUITests with performance testing frameworks to assess the responsiveness and efficiency of iOS applications under various conditions

Designed and executing XCUITests that cover a broad range of iOS devices, ensuring consistent performance across different screen sizes and resolutions.

I implement data-driven testing strategies using XCUITest, allowing for efficient validation of iOS app

managing dependencies effectively in CICD pipelines, utilizing tools like CocoaPods or Swift Package Manager to handle third-party libraries and frameworks.

deployment processes through CICD pipelines, facilitating the seamless delivery of iOS apps to various distribution channel

integrating feature flags for AB testing purposes

using feature flags, ensuring a tailored and controlled user experience.

Implementation of feature flagging techniques in iOS development, allowing for dynamic control and toggling of features within applications.

Implemented the Facade pattern for menu items, navigating the complexity of some menu items with varying success

Created internal reusable dominos frameworks like DominosKit, and other relevant frameworks for development.

Collaborated with a diverse team to enhance accessibility across platforms

Utilized JIRA for day-to-day story management and tracking

Relied on Confluence for tracking, archival, information gathering, and notes on best practices

Managed branches and merges/Rebase using BitBucket/Stash

Communicated and held meetings using Microsoft Outlook and Teams

Shared design details through Figma

Executed actual coding in XCode 12 to XCode 15, migration from iOS 12 to iOS 14 and Swift 4.0 to Swift 5.0 version.

Managed monthly release cycles, with bug fixes not tied to specific release dates like feature releases

Managed currently selected store information using Singleton in various cases

Employed the Facade pattern for menu items, addressing complexities associated with diverse menu items

Contributed to improving testing practices and initiated efforts to maintain and update testing files

Collaborated with a diverse team to enhance accessibility across different platforms

Implemented the Project Tracking and Company Overview feature using SwiftUI

Successfully navigated and contributed to a codebase with a mixture of old Objective-C, recent Swift, and SwiftUI.

Able to implement rich user interfaces per UI/UX specifications using SwiftUI, Interface Builder, Storyboards, XIBs, and IBDesignables.

Participated in a structured release process, ensuring regular and predictable updates.

Migrated code to use Combine’s publisher pattern instead of delegation pattern to communicate b/w classes.

Integrated Firebase Crashylatics and two type of analytics Firebase and Adobe.

Improved app performance by migrating REST webservices to GraphQL using Apollo client with queries and mutex.

Integrated Sonar Qube with CircleCI pipeline to check code coverage and modified sonar-properties file to exclude legacy code from test coverage.

Senior iOS Developer

East West Bancorp, CA March 2019 – September 2020

Link: https://apps.apple.com/us/app/east-west-bank-mobile/id1517733259

With the East West Bank Mobile, you can manage your banking needs on the go. You can experience an enhanced mobile banking app, from managing your bank accounts to transferring funds between accounts to initiating wire transfers, and cheque deposits, checking your account balance & monitoring your transaction activities, and sending and receiving money from other US or International financial Institutions. So, apply for an account quickly from the comfort of your home.

Lead developer for security, data protection, keychain, SSL pinning, encryption, storage, and profile sync stories within the East West Bank Mobile app.

Used XCode 14.3 with Swift 5.5 and MVVM-C architecture and TDD using XCTest framework.

Developed custom button modifiers, view modifiers, property wrappers, view builders, and skins for the UI/UX within a Swift UI ecosystem.

Developed Plug ’N’ Play UI library on top of UIKIT and SwiftUI for custom UI components using Swift package manager (SPM).

Created a new module within the app to load features in a web view, which was re-used several times throughout the app after creation

Configured the app to work with many different new environments from which we consumed various APIs for loading both native-built and WebView features

Used proprietary bank frameworks and CocoaPods for consumption of RESTful web services

utilized PassKit framework to create, manage, and distribute passes compatible with Apple Wallet, ensuring seamless integration with iOS apps and adherence to Apple's standards and guidelines.

configuring various pass types such as boarding passes, event tickets, coupons, and membership cards using Pass Type Identification (PTI) certificates, enabling secure distribution and storage within Apple Wallet.

enable contactless interaction with passes stored in Apple Wallet, facilitating effortless check-ins, access control, and redemption processes at supported NFC terminals.

Used MVVM (Model-View-ViewModel) architecture for organizing code in MAUI projects

worked with MAUI's adaptive UI capabilities for creating responsive layouts

Integrating third-party libraries and components into MAUI applications

Implementing dynamic pass updates through web services or push notifications, enabling real-time updates and notifications for changes in pass information, expiration dates, or promotional offers directly within Apple Wallet.

testing and debugging Wallet passes across various iOS devices and versions using Xcode's simulator and physical devices

Ensured security of both transmitted and locally stored customer information by encoding customer information in service calls and utilizing Keychain for locally stored user data

Coordinated with the transmit security team on implementing two-factor authentication for first-time login on a device and when entering certain features

Maintained stylistic consistency within the app while working on new features, while also adding a few new styles of our own as UX requirements demanded

Navigated and added to a large existing codebase that was constantly being added to and changed by many other teams while utilizing 20+ CocoaPods

Led and coordinated a team of 2-4 offshore iOS and Android developers

Assisted .NET and Java API developers with debugging backend systems

Took a leading role in planning features, stories, and team capacity for each quarterly Program Increment

Implementing code quality checks within CICD workflows, utilizing tools to analyze code metrics and enforce coding standards

Integrating CICD pipelines with version control systems like Git, ensuring a synchronized and automated workflow for iOS app

Integrating performance monitoring tools into CICD pipelines, allowing for continuous assessment of iOS app performance throughout the development lifecycle.

Worked closely with on-team desktop web, mobile web, Android, .NET, Java, and iOS developers and testers to ensure cross-platform functionality of features

Refactored and reviewed code from other developers both on and off the team as required to ensure consistency, readability, and efficiency

Ensured that all new features were built with accessibility in mind and assisted with testing of VoiceOver and Text Resizing accessibility features

Added and maintained localization files in English and Spanish for all new native-built features and coordinated with external translation teams for Spanish content

Added unit tests for all non-private methods in the app as a facet of TDD

Maintained detailed documentation of new functionality through comments within the code, Confluence documents, SharePoint files, and commit descriptions

Manually migrated many files and verified codebase integrity when DevOps changed the codebase from GitHub Team to GitHub Enterprise

Performed manual ETM testing at a time when several members of our testing team became sick and injured at once

Managed merge requests from other team members and created merge requests to monthly release branches, while reviewing and refactoring code as needed

Created HockeyApp/AppCenter builds for the testing team and assisted with monthly release activities

Worked with Jenkins for automation testing of submitted code and debugged pipeline failures at times when the Jenkins pipeline was unstable due to bad merges or code migration activities

Found, escalated, and fixed minor and major defects discovered both during development and in production

Added 5+ entirely new features to the U.S. Bank mobile iOS app

Coordinated with an external team to integrate Adobe Analytics tracking of user interactions within the app to provide data on the frequency of use of new features

Worked under pressure, with strict legal deadlines, and changing business priorities to provide deliverable and well-built features for each quarterly release

Recognized and commended multiple times by co-workers on the team, project owners, and scrum master's for my dedication to my work and my knack for recognizing risks early and escalating them before they become major issues

Senior iOS Developer

Wellstar, Atlanta, GA June 2017 – March 2019

https://itunes.apple.com/us/app/wellstar/id1239465407

Wellstar users can use the iOS mobile app to find a doctor, practice, or other location near them (by GPS or address, schedule appointments, check in to urgent care and emergency room locations, access MyChart and patient records, get turn-by-turn directions, and connect to the customer care team.

Implemented development of the iOS application in Xcode primarily in Swift and transitioning and refactoring some Objective-C code

Implemented push notifications by creating APNS certificates and displayed all the notices in one location in the Notices Tab and handled push notifications effectively with the server for integration

Consumed RESTful web services using Alamofire to access the data from the backend

Worked with Storyboards to refactor several UI layouts based on wireframes to heighten the user experience

Worked with Storyboards, Size Classes, and AutoLayout constraints for graceful orientation handling and support for various iPhone and iPad devices

Worked with the team and individually to see projects through to completion using the Agile development process

Wrote web service wrapper to form the request and parse the response to send it to UI

XIBs for several views, while others are programmatically created

Worked with the Instruments tool extensively at the end of the development cycle to minimize memory leaks and assure overall application stability

Worked closely with team lead to mentor junior developers and assist with code reviews; to ensure best practices and quality coding

Refactored legacy code and transitioned some hybrid-based under-bridging headers to Swift 4. x

Worked with Objective C, and Cocoa Frameworks, which include UIKit, Foundation, UI Image Picker, and UI Date Picker

Worked with the QA team to find and resolve defects

Refactored some UI layouts using Storyboards following for better UI/Ex

Ensured effective screen orientation and rotation with Storyboards, Size Classes, and AutoLayout constraints, testing on both iPhone and iPad devices

Ensured iOS device backward compatibility

Make sure we maintained a high coverage ratio for testing and worked with QA to make sure all quality issues were resolved

Senior iOS Developer

Crate & Barrel, Northbrook, IL May 2016 – June 2017

https://itunes.apple.com/us/app/crate-barrel/id529356019

This iOS mobile app provides both shopping and a gift registry. Users can buy online or scan items in-store to check prices. Speed checkout with the app, save favorites, and even create custom upholstery selections and orders in the app.

Performed all roles from UI design to writing code

SDLC used for the implementation cycle was Agile based

Developed in Xcode iOS IDE using Swift coding

Invoked RESTful web services using Alamofire and parsed JSON responses using SwiftyJSON

Refactored RESTful requests from NSURLSession to AFNetworking and backward compatibility with iOS 5+

Adapted Core Animation and CALayer to crop and animate images over videos

Added a new 'Nearby' function to the app using Mapkit, which helped locate nearby locations

Worked with MVVM architecture; Delegation, Notifications, KVC, and Singleton design patterns

Analyzed business requirements and translated them into technical specifications

Analyzed and optimized the UI and the backend interface code for efficiency and performance.

Used Xcode, Interface Builder, and XIBs as well as AutoLayout Constraints in the UI implementation

Applied new layout, refactored source code, reduced app size, fixed memory leaks, reviewed source code, and optimized performance. Wrote unit test

Managed project configuration

Collaborated with the design team, QAs, scrum master, and product owner to implement enhancements or new applications during daily standups, sprint planning, and sprint retrospectives

Worked with Jenkins CI server for builds and Git code repository using Test-Driven Development (TDD)

JIRA is used for user stories, epics, and tasks, and we pulled items from JIRA to work on issues or backlogs when not working on features

Senior iOS Developer

Harry Norman Realty, Atlanta, GA March 2015 – May 2016

https://itunes.apple.com/us/app/harry-norman-home-search/id725684147

The Harry Norman Realty iOS app features a powerful search filter that lets users search for houses by address, city, zip, MLS#, bedrooms, baths, and more. The iOS mobile app features a favorites listing linked to the user's Harry Norman account that can be accessed on mobile or the web. Push notifications send users an email alert when any changes occur to the favorites listed.

Collaborated with offshore teams

Recommended and executed plans to improve development tools and processes

Designed and implemented custom interactive controls using native iOS to solve complex interface usability issues

Led working groups to develop migration strategies and prepare standard operating procedures

Coordinated with QA testers for end-to-end unit testing and post-production testing

Documented and maintained documentation on various client projects

Wrote web services to interface with the iOS Mobile App. All web services are RESTful and use Open Authentication to implement a secure environment

Implemented asynchronous network session classes using the native iOS NSURLSession collection of classes to consume data provided from RESTful services in JSON and XML

Used CoreData for data persistence by storing relational data offline

Develop dynamic configuration to switch between web service calls

Senior iOS Developer

Hilton Worldwide, Inc., McLean, VA May 2014 – March 2015

https://itunes.apple.com/us/app/hilton-honors/id635150066

The Hilton iOS app features are available at all Hilton brand hotels worldwide. Features include checking with the app, picking your room with street views included, ordering, food drink, room service, and staff assistance, and managing user Hilton Honors account.

Was part of an iOS development team working on a new iOS mobile app for Hilton Hotels

Worked in Xcode on the iOS app in Objective-C and Cocoa Touch Framework to build the app, including UI Kit, Map Kit, Foundation, UI Navigation View, UI Tab Bar Controller, UI Table View and Storyboard

Used RestKit for consumption of RESTful web services with asynchronous back-end communications

Worked with GIT to check and update the codebase changes

Worked with UIKit Framework for development and maintenance

Worked closely with a cross-functional team of testers and developers

Re-fetching data for different



Contact this candidate