Post Job Free

Resume

Sign in

Senior iOS Developer

Location:
San Francisco, CA, 94109
Posted:
June 13, 2023

Contact this candidate

Resume:

Jian Jason Li, Senior iOS Developer Phone: 628-***-**** Email: adxorb@r.postjobfree.com

Jian Jason Li

Senior iOS Developer

Profile Summary

•9+ years developing iOS apps; 5 apps published to Apple Store.

•15 + years’ combined iOS and software/IT experience.

•Skilled hands-on iOS mobile app developer with advanced programming skill with Swift and Objective-C.

•Able to design and develop rich UI/UX via SwiftUI, Storyboards, XIBs, and programmatically

•Experience working with iOS frameworks such as Core Data, Core Animation, Core Graphics and Core Text.

•Skilled with modern animation techniques within SwiftUI and UIKit such as TimelineView, Canvas, SceneKit, RealityKit, and ARKit

•Apply various architectures (e.g., MVC, MVP, MVVM, Viper and Clean Architecture).

•Apply various design patterns (e.g., Singleton, Decorator, Façade, Builder, Observer, Adapter, Iterator, Factory Method, Template Method, Flyweight, Chain of Responsibility, and Visitor etc.).

•Extensive use of Apple and third-party frameworks and tools for storing data persistently such as CoreData, Documents Directory, UserDefaults, pLists, Settings Bundle, Codable Protocols, and the Keychain,Realm, Firebase

•Extensive knowledge of Keychain, TouchID, GCD, Operations, OperationsQueue, AsyncAwait, Push Notification, Local Notification, APNS, RESTful APIs, etc.

•Proficient in source control with Git, SVN, GitLab, Github Desktop and use of third-party GUI clients such as SourceTree, Tower, and GitHub

•Experience in CocoaPods and CocoaTouch frameworks for iPhone and iPad applications development using XCode IDE, iOS Simulator and Interface Builder

•Good hands-on experience with Frameworks such as: iPhone SDK, UIKit, MapKit, Speech, AVFoundation, CoreData, CoreLocation, Social, XCTest, Alamofire, SDWebImage, QuartzCore, Crashlytics, Core Bluetooth, Core Graphics, AppKit, and CoreMotion

•iOS expertise includes Storyboarding, Core Data, Internationalization and Localization, iBeacon Bluetooth Low Energy (BLE), Unit Testing, over-the-air Ad Hoc App Distribution, in-app purchase, ad and analytics integration, Auto Layout, Apple Push Notification, SwiftUI, and Combine reactive programming.

•Hands on applying RESTful and GraphQL APIs to connect iOS applications to back-end services.

•Experience with third-party libraries and APIs in iOS mobile app development.

•Native Enterprise iOS Development Experience (Objective-C and Swift).

•Experience with iOS performance profilers such as instruments, allocations, and time.

•Utilize Apple Push Notification in iOS mobile app development.

•Hands-on iOS Mobile app development experience using Xcode.

•Access and modify data using web services and JSON.

•Experience with continuous builds and Git and SVN source control using SourceTree, BitBucket and GitHub.

•Add value working as member of Agile dev teams, serving as active participant in Scums and Sprints.

•Demonstrated ability to apply Test-Driven Development (TDD) principles and follow stringent quality processes.

•Design and development of high quality, scalable and efficient solutions on schedule with available resources.

•Experience developing commercial and enterprise iPhone/iPad applications.

•Possess an advanced knowledge of web and mobile UX/UI.

•Strong commitment to organizational work ethics, supporting organizational goals and the team + product

•Work well collaborative with team members and other members of the organization.

•Experience developing front-end mobile web applications.

•Extensive use of Apple and third-party frameworks such as Alamofire, SnapKit, Realm, Firebase and KingFisher .

•Created several cross-platform demo applications using ReactNative, and Flutter.

Technical Skills

Programming Languages: Swift, Objective-C

Database: SQLite, SQL, Oracle, VBA

Web Services: REST, SOAP, XML, JSON, Alomafire, URLSession, Reachability, JSONSerialization, NSXMLSerialization, Grand Central Dispatch (GCD), OperationQueue

iOS Services: Apple Push Notification (APNS), CocoaPods, CocoaTouch

iOS Basic Classes: UserDefaults, NotificationCenter, OperationQueue, FileManager

iOS Frameworks: AVFoundation, Core Graphics, Core Data, Combine,Mapkit, Passkit

UI Implementation: AutoLayout, Storyboard, Xib, Interface Builder, Size Classes, UIKit, Auto Layout Constraints, Adaptive Layout, VIPER

Operating Systems: iOS, Linux, Windows

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

Testing: TestFlight, Jenkins,Fastlane, Azure CI,Bitrise Test-Driven Development (TDD)

Development Tools: Xcode, Visual Studio

Algorithms: Insertion Sort, Merge Sort, Quick Sort, ShellSort, TimSort, Backtracking, Beam Search, Beam Stack Search, Bellman–Ford, Dijkstra's, Best-First Search, Floyd–Warshall, Johnson's, Ternary Search, Predictive Search, Gaussian Elimination, Gauss–Jordan Elimination

Data Structures: Hash Table, Stacks, Heaps, Graphs, Queues, Trees, Loops, Backwards-Lookup, LRU Cache, Dictionaries, Maps, Arrays, Strings, B+Tree, BTree, BSTree, AVLTree, SplayTree, Red/Black Tree, KD Tree

Experience

Senior iOS Mobile Application Developer

Fanatics Betting & Gaming / San Francisco / 07/2022 to Current

Fanatics, Inc. is an American online manufacturer and retailer of licensed sportswear, sports collectibles, NFTs, trading cards, and sports merchandise, as well as sports betting and iGaming.

Link: https://apps.apple.com/us/app/fanatics-gear-for-sports-fans/id712661687

App Description: This project uses Cocoapods as a dependency management system and follows a mono repo pattern with multiple internal modules. All modules are contained within the module’s directory, and each module may depend on other internal modules as well as 3rd party dependencies. Sourcery is used for mocking and dependencies dispensed via Swinject to allow concrete/mock implementations to be used when appropriate. PRs need 80% test coverage on new code; Nimble is available for BDD-style assertions and easy async assertions. KM (Kotlin Multiplatform) is used for shared code between iOS and Android. Much of the network and data layer is or will be implemented. SwiftUI is preferred for the view. There are instances of UIKit because of legacy reasons, but SwiftUI is the preference. Older features used a MVVM+coordinator with either SwiftUI or UIKit.

Responsibilities:

•As a senior iOS developer, I was responsible for all sides of iOS development based on MVVM-C pattern develop view, Data source and model objects.

•Lead architect for the delivery of accessibility within the Product Details section

•Main contributor for the delivery of privacy and security on Payment and FanCash feature in App

•Contributed in development of some screens in MyAccount Section

•Worked on Performance improvement of Product search feature

•Used Sorcery for mocking and dependencies dispensed.

•The project used SW inject to inject dependencies. Each internal module has a Bootstrapper object whose responsibility it is to register object types for interface types.

•Utilized KM (Kotlin Multiplatform) for shared code between iOS and Android.

•Used cocoa pods-binary-cache gem to cache 3rd party cocoa pods as pre-compiled framework binaries.

•Localized String managed by swift and bash scripts.

•Involved in UIKIt mixed with swiftUI programming. Coordinator and logic based on UI Kit, screen based on swiftUI.

•Responsible for Github actions/FastLane control CI/CD.

•Confluence, jira managed the developing process. Managed Figma UX/UI.

•Developed Agile development. scrum, sprint meeting. two weeks presentation, repo.

•Used Instabug, DataDog to report bugs.

•Used Amplitude, Optimove as an analytics service.

•Used GeoComplySDK for location service.

•GraphQL incorporates this project. The queries, fragments, and GraphQL networking services are used within this project.

Senior iOS Mobile Application Developer

Giant Eagle / O’Hara Township, PN / 11/2021 – 07/2022

Ready to make grocery shopping simple? Make quick work of your grocery list—while saving time and money along the way—with the Giant Eagle Grocery app. https://apps.apple.com/ca/app/giant-eagle/id1465897036

Hands-on technical work:

•Was Lead ENGINEER for Coupons Feature

•Was Main Lead ENGINEER for Barcode scan Feature

•Fixed multiple bugs for Add to Cart and Cart Screens

•Worked on 10+ different screens in App

•Used XIB combined with Storyboard and Programmatic UI.

•Developed new feature screens using Swift UI.

•Applied SOLID design principles.

•Performed build work in latest XCode and Swift 5 using MVVM design pattern.

•Used Combine to react to user input and other events to update the UI.

•Utilized Visual Studio for BFF (Backend for Frontend) Microservices.

•Used Danger SwiftLint for code reviews and code consistency.

•Used Jenkins and Fastlane for CI/CD.

•Applied BDD testing using Quick and Nimble frameworks to Unit tests.

•Utilized SourceTree to handle the change between branches and the creation of new branches, push new commits, and pull branch updates.

•Created RESTful APIs using Vapor 3 and 4 web frameworks for Swift.

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

•Used Gradle for build management system.

•Implemented Alamofire implementation to help in regard to optimizing backend calls.

•Used UIViewControllers, UITableViewControllers, custom UITableViewCell with Interface Builder to design and develop user interface.

•Utilized Jira for bug reporting, ticket creation, and ticket assignment.

•Utilized GitHub Actions for Snapshot testing and Unit testing.

•Performed daily code reviews and code refactoring using Git.

•Implemented SumUP SDK for payment operations.

Senior iOS Application Developer

Freddie’s / Wichita, KS / 09/2018 to 11/2021

Now you can order your Freddy’s favorites for pick-up, dine-in or delivery with the Freddy’s mobile app for iPhone. https://apps.apple.com/us/app/freddys/id1463076279

Hands-on technical work:

•Worked with RxSwift in various parts of the application.

•Engineering lead for animations, transitions, and polish for whole app on iPhone

•Lead Developer in QRcode share feature

•Implemented calling features with Twilio and CallKit with business logic to correlate information to UI.

•Leveraged HereMaps and Google Maps APIs to redesign UI/UX for map and location feature.

•Developed several view controllers using auto layout programmatically.

•Utilized Codable to decode and encode models, and NSJSONSerialization to convert to and from JSON files.

•Collaborated with business and technical stakeholders to propose new designs and best practices and implementations, including reactive design patterns to improve app performance and usability for clients.

•Created new screens, resuable common components, toolbars, and UI/UX redesign prototypes.

•Implemented screen to display call, order, and store information with custom controls using the PullUpController third-party library.

•Handled issue tracking, tasks, and backlog using Jira.

•Added tracking for app state, user actions, and error-reporting with Adobe Analytics.

•Managed third-party dependencies and frameworks using both Carthage and CocoaPods.

•Worked on new Tip Tracker feature for visualization and custom interaction for drivers to save and modify cash tips.

•Developed with Cocoa Touch framework on UI-Kit.

iOS App Developer

Huntington Bancshares / Columbus, OH / 02/2017 to 09/2018

With the Huntington Mobile app, it’s easier than ever to bank on the go, right from your phone. View account balances and history, deposit checks, transfer funds, pay bills, locate office branches, find ATMs, and contact a representative.

https://apps.apple.com/us/app/huntington-mobile/id441599004

Hands-on technical work:

•Worked on an iOS mobile development team that applied a variety of Agile project management principles (e.g., Sprint Planning Meetings, Scrums, Sprints, etc.).

•Applied Object Oriented (OO) design and development principles.

•Gathered requirements, and interfaced with UI/UX designers and product owner to develop an attractive, user-friendly, customer-facing app.

•Refactored architecture of the project from MVC to MVVM by organizing the project into small and logical pieces of code, separating concerns between models, views, and view models.

•Built wireframes for app designs, coded applications, and built application test framework with UI Automation.

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

•Built, tested and deployed a scalable and modular application. Also modified existing software to correct errors, improve performance and adapt to new versions of iOS.

•Programmed functions in Objective-C and Swift languages.

•Used a combination of Storyboards, XIBs, and programmatic approach to creating UI.

•Regularly performed code reviews to ensure efficiency, readability, and maintainability.

•Worked on improving views transitions using Navigation Controllers and modal presentations.

•Modified use of ScrollViews from TableViews to CollectionViews and vice versa to better accommodate for regular size classes devices.

•Handled REST API calls for account balances and in real time UI updates.

•Applied multiple security protocols (e.g., SQLCipher, KeyChain, AES-256 and RSA-SHA1, etc.) to encrypt local data.

•Optimized asynchronous loading of Transfer tab, implementing Pagination and lazy loading.

•Used JSON parser to decode data downloaded from server.

•Implemented coding of data generated by the app and POST requests to the API.

•Took a BDD testing approach working with testing frameworks such as Quick and Nimble

•Integrated Firebase Crashlytics and analytics services to best track user usage and crash reports.

iOS Mobile Developer

REI HIKING / Kent, WA / 12/2014 to 02 2017

https://itunes.apple.com/us/app/hiking-project/id964351449

With the thoroughness of a printed map, we offer full GPS route info, elevation profiles, interactive features, photos, and more. Like a guidebook, we suggest the best featured hikes to explore—either near your current location or in an area you search for. Local experts show you the highlights, challenging features, and insights you need to plan a great day on the trails.

Hands-on technical work:

•Applied Agile/SCRUM principles with 2-week sprints for stories to be delivered.

•Project code base housed within GIT repository; utilized SourceTree for all repository functions.

•Programmed code for the iPhone and iPad app, using both Swift and Objective C, coded in Xcode.

•Migrated the rest of the legacy code base from Objective-C to Swift as time permitted.

•Communicated to the backend server using REST to grab video data and user account information.

•Fixed bugs reported by QA by using the Xcode debugger, setting breakpoints and following code.

•Optimized the app for both iPhone and iPad, by using size classes and Auto Layout.

•Responsible for mentoring other developers and performing code reviews

•Generated Push Notifications based off received responses from back-end security configuration.

•Implemented custom video player within the application via the Media Player Framework.

•MapKit, CoreLocation and MKAnnotations used to make UI tweaks on the map view and enhance functionality.

•Implemented CoreLocation/Location Manager tweaks to fully support changes in iOS 8; namely always vs while in use authorization.

•Utilized NSUserDefaults to store minimum data such as user code pin and application settings.

•Optimized performance of video streaming by implementing multithreading workflows, utilizing Grand Central Dispatch calls to execute buffer-like loading prior to display, enhancing the user experience.

•Utilized CoreBluetooth in order to communicate with various Bluetooth receiver wearables.

•Implemented processing of NSNotifications for device-side prompts to the user, by way of UIAlertViews.

•Resolved numerous bugs throughout development as they appeared utilizing NSLog statements, Breakpoints, LLDB statements, Instruments, etc.

iOS Developer

Fidelity Investments / Boston, MA / 10/2012 to 12/2014

https://itunes.apple.com/us/app/fidelity-investments/id348177453

Jumpstart your financial goals with Fidelity. We take complex investing ideas and simplify them for beginners to savvy traders. Make informed investment decisions with dynamic educational resources, timely insights, and industry-leading research. Start trading stocks, options, ETFs, and mutual funds with cutting-edge tools and insights. Take the next step toward your financial goals. Download the Fidelity app to get started.

Hands-on technical work:

•Had worked on Apple Maps using MapKit and Corelocation to show nearby ATM and branch location

•Had worked on MKMapAnotation to show pins on Map for ATM

•Worked on Camera capture feature for taking pics for Cheques

•Had worked on Login and SignUp flow for App

•Used keychain to store user login securely

•Worked with Objective-C code base in Xcode.

•Refactored code base in Objective-C to work with the updated iOS platform version.

•Refactored execution management of orders to be handled in the background without locking up the main thread and UI using GCD; NSOperations also leveraged for more complicated concurrency concerns

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

•Implemented many OOP and patterns like MVC, KVO and Singleton.

•Resolved numerous bugs and crash scenarios using NSLogs, Breakpoints, Instruments and LLDB statements

•Used Restkit library to make connections to server, and handle authentication challenges

•Drove continual improvement to system architecture by refactoring old legacy code.

•Participated in project meetings to scope the project and plan features and functional updates, and to address issues in the application.

•Documented the project plans and managed JIRA, creating Epics, Stories, and Tasks; managed the issues thread and the project backlog.

•Recommended and executed plans to improve development tools and processes.

Software Developer

ABS Group / Spring, TX / 04/2007 to 10/2012

Hands-on technical work:

•Programmed custom software applications with Java and C++.

•Developed an extract-transform-load process in C# to anonymize personally identifiable information within databases.

•Automated workflows that generated monthly reports using Windows Task Scheduler.

•Designed software utilizing Use Case Diagram, Sequence Diagram, Life Cycle Model, and Critical Path Analysis.

•Worked on web development using PHP, HTML, CSS, JavaScript, and MySQL.

•Produced technical documentation using tools such as Word, PowerPoint, Visio, etc.

•Debugged scripts.

•Worked on projects to fix errors in existing scripts.

Education

Northwest A&F University – Bachelor of Agriculture (Food Science and Engineering)



Contact this candidate