Post Job Free

Resume

Sign in

iOS Developer

Location:
Grand Rapids, MI
Posted:
July 06, 2023

Contact this candidate

Resume:

WILLIAM CHUANG

Contact: 616-***-**** (M); Email: adx4qa@r.postjobfree.com

Attuned to the latest trends and advancements in this field, I am consistentd

● Lead iOS Developer ●

EXECUTIVE SNAPSHOT

· Experienced iOS Developer with 9+ years of experience developing native iOS application using Swift and Objective-C; 6 Apps published on apple store.

· Experience in iOS mobile app development using both Swift and Objective-C; particularly advanced in programmatic development using Swift 1 – Swift 5

· Expert in creating custom UI though both UIKit and SwiftUI and cross platform integration

· Knowledgeable with reactive programming using native Combine for data communication and 3rd party with RxSwift

· Proficient in source control with Git, Stash, SourceTree. Comfortable working with Reactive frameworks such as RxSwift and RxCocoa.

· Wide experience in the most relevant technologies of the modern iOS enterprise and end-user Apps environment including Core Data, Core Location, GCD, and Operation, OperationQueue

· Ability to create views using UI Storyboard, XIB, and through implementing views programmatically

· Demonstrated excellence in using:

o MVC, Singleton, Notifications, Delegation, TDD and MVVM, MVVMC, VIPER design patterns

o Core Location services and Map Kit for routing and region monitoring

o Core Data for data persistence and offline use of online-driven apps

· Hands on experience using multiple web-based technologies using HTML, CSS, JavaScript, PHP, Angular JS, Knockout JS and J Query

· Experience consuming RESTful API endpoints and processing the returned data for use in the app; Ability to manage third party libraries through Cocoa Pods, Carthage, and Swift Package Manager

· Possess knowledge of using JSON format and parsing XML using URL Session and XML Parser

· Experienced practitioner of Agile methodologies, with Scrum being the primary; Code versioning and branching expert with Git

· Proficient in macOS app development using Swift and Objective-C; experience developing native applications for macOS platforms.

· Familiarity with macOS-specific frameworks and technologies such as AppKit, Core Data, Core Animation, and Core Image.

· Developed and published macOS applications on the Mac App Store.

· Experience in creating user interfaces for macOS applications using Interface Builder and programmatic approaches.

· Knowledgeable in macOS-specific features such as document-based architecture, menu bar integration, and system-level services.

· Proficient in working with macOS APIs for system services like notifications, file handling, and inter-app communication.

· Complete Software Development Lifecycle experience, from conception to App Store delivery; persistence achieved through use of Core Data, plists, User Defaults, and more

· Good hands-on experience with Frameworks such as: iPhone SDK, UIKit, MapKit, Speech, AVFoundation, Core Data, Core Location, Social, XCTest, AlamoFire, SDWebImage, Quartz Core, Crashlytics, Core Bluetooth, Core Graphics, AppKit and Core Motion.

· Familiar with Wi-Fi, Bluetooth, NFC, and other short distance wireless communications protocols

· Understanding of implementing communication between iOS and Web View content as well as APIs implementation with Apple Maps; well versed with Consumption of REST and SOAP web-services

TECHNICAL SKILLS

Languages

Swift, Objective-C, C++, JavaScript, C#, HTML, CSS, Rust, GoLang, Python, Matlab

UI/UX

SwiftUI, UIKit, CocoaTouch, Cocoa, Metal, OpenGL, Interface Builder, Size Classes, Stack Views, Collection Views, Flow Layouts, Table Views, Storyboards, XIBs, Adaptive Layouts, Flexible Layouts, Reactive Layouts

Tools

Xcode, Instruments, Debug Memory Graph,

Coverage Reports, Time Profiler, Memory

Allocations, Zombies, SignPost, Charles,

PostMan, Figma, Zeplin, Jira, MatterMost,

Slack, ICQ, AIM, WhatsAPP, Facebook

Messenger, Instagram Messenger

3rd Party (and Apple) Libraries

KingFIsher, SnapKit, Lottie, AlamoFire, Moya, Hypersolo, SDL, stdlib, openal, opengl, Realm, ARKit, CoreML, SiriKit, FireBase, RealityKit, Vision, OpenCV, Combine, SwiftUI, AppKit, PhoneNumberKit

Networking

JSON, SOAP, REST, JWT, OAuth, Auth0,

URLSession, Combine, Async/Await, DataTask,

AlamoFire, AFNetworking, SocketRocket, SSL

Pinning, Encryption, Headers, POST, GET, PUT

CI/CD

CircleCI, TravisCI, Jenkins, Gitlab CI/CD

Data Structures

Queue, List, LinkedList, Array, Dictionary,

Heap, Buckets, Layered Trees, Multi-Map,

NSOrderedSet, Spaghetti Stack, KD Tree,

Segmented Buckets

Algorithms

Sort, Reverse, Anagrams, Palindromes, Binary Search, KMP, Hole Filling, Hole Detection, Dilation, Edge Detection, Corner Detection, Noise Reduction, Weighted Graphs, Decision Tree, Algorithm, Deceleration Formula, Spline Interpolation, Greedy Approach, Weighted Graph, Traveling Salesman

Databases

CoreData, MySQL, GraphQL, Realm, Oracle,

SQL, Access, MongoDB

Design Patterns

Singleton, Observer, Façade, Adapter, Delegation, Inheritance, Polymorphism, OOP, PO

Architectures

MVC, MVVM, VIPER, TCA

Testing

Unit Tests, Automation Tests, TDD, BDD

PROFESSIONAL EXPERIENCE

Bissel, Grand Rapids, MI since January 2022

Senior iOS App Developer

(Bissell Inc., also known as Bissell Homecare, is an American privately owned vacuum cleaner and floor care product manufacturing corporation headquartered in Walker, Michigan in Greater Grand Rapids)

Link: https://apps.apple.com/ca/app/bissell-connect/id1126954584

Description: The BISSELL Connect App gives you the power to manage your connected BISSELL products anytime, anywhere with your smart device, so you can get on with your busy day.

Responsibilities:

· Lead architect for the delivery of accessibility within the Cabin section

· Main contributor for the delivery of privacy and security on the Equipment Details feature

· Lead Engineer in implementing Analyze your cleaning history Feature

· Lead developer in charge of the development of encryption and data integrity for Whole app.

· Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.

· Directly worked in revamping the application from UIKit to SwiftUI in modernizing the application for future updates

· Implemented MVVM architecture to reduce testing efforts and increase the code coverage of the application.

· Mentored Junior developers about emerging technologies, technology updates, and best practices.

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

· Developed a wrapper ViewController for a React-Native view to handle communication between React-Native and Swift based on NSNotifications and JSON.

· Guided junior developers on Swift best practices for effective development of stories.

· Facilitated back-end asynchronous communications with RxSwift, Alamofire and Codeable for parsing.

· Utilized UIViewRepresentable and UIViewControllerRepresentable protocols for UIKit support in SwiftUI and UIHostingViewControllers for hosting SwiftUI in UIKit for migrations of code to SwiftUI while maintaining app functionality

· Worked closely with the UI/UX, Testing, and Continuous Integration teams to ensure a high-quality product.

· Used CocoaPods library and UIKit Framework, Foundation Framework and CoreGraphics Frameworks.

· Used Core Data and to store data on iOS mobile device.

· Used Prototypes to create mockups.

· Conducted meetings for requirement gathering, planning and retrospectives.

· Conducted regular code analysis and refactoring sessions for legacy classes and code.

· Stored project code in Git repository and used SourceTree for version control.

· Developed a macOS app for managing employees and homecare appliances, providing an efficient system for tracking and organizing tasks.

· Implemented user authentication and authorization features to ensure privacy and security of employee and appliance data.

· Designed and developed a comprehensive dashboard to monitor and manage employee schedules, assignments, and productivity.

· Integrated communication features within the app to facilitate seamless collaboration between employees and management.

· Implemented a feature for tracking appliance usage and maintenance schedules, ensuring efficient utilization and timely servicing.

· Developed reporting and analytics capabilities to provide insights into employee

· Worked with Atlassian stack for team tools including JIRA and SourceTree for requirements, issues, and bug tracking.

· Utilized os_signPost and time profiler to diagnose slow-downs within the app.

· Leveraged Logging tool to identify bottlenecks in battery drainage, which were fixed by reducing redundant requests/reloads.

· Created a P.O.C. version of the app which uses VIPER architecture.

Utica University, New York, NY Jan 2019 – Dec 2021

iOS App Developer

(Utica University is a comprehensive, independent, private institution founded in 1946 as Utica College, located in the heart of Central New York)

Duration: June 2020 – Dec 2021

App Name: Utica Proud – The City of Utica Rewards App

Link: https://apps.apple.com/us/app/utica-proud/id6443921053

Description: The City of Utica is happy to present the Utica Proud app! Discover the city’s unique and diverse businesses, events, and much more, while supporting our local economy.

The Utica Proud app rewards residents and visitors with Halfmoons for shopping at local, independent businesses. Once earned, you can redeem your Halfmoons in select businesses.

Responsibilities:

· Lead developer responsible for developing 50% of the total application’s code base.

· Worked on Discover place section and developed (10+ screens).

· Lead developer for iPhone design interoperability.

· Created the app in Swift in Xcode IDE with a variety of frameworks.

· Added localization through the application to a variety of regions for Spanish, French, German, and many more languages to a variety of screens including but not limited to the Booking, Login, and Checkout Screens

· Worked with Combine for reactive communication on the backend with the publisher / Subscriber pattern for data flow and integration with SwiftUI

· Utilized Alamofire for REST API consumption with JSON data and serializing to local models with JSON decoders and the Decodable protocol

· Worked in a large team of 5 iOS developers working in an Agile environment with 2-week sprints, daily standup, and weekly refinements

· Built up code coverage with migrations to SwiftUI to a total of 85% creating a more bug proof system with XCTest for unit tests

· Utilized Jenkins for CI/CD for nightly builds and direct app release integration though TestFlight

· Worked closely with UI/UX designer for designs and wireframes using Figma

· Directly worked on the internal UI SDK for reusable UI components for the Herts Presentation

· Utilized Firebase for Crashlytics and backend storage and Dynatrace for tracking app performance dynamically in production

· Worked directly with 3rd party SDKs though the Swift Package Manager such as Lottie for animations and Stripe for Credit Card purchases

· Used GitFlow branching methodology on Github for cross functional and parallel development

· Created P.O.C. machine learning algorithm in python to analyze user spending habits and predict future financial transactions.

· I worked on analytics and ensured they came back as intended.

Duration: Jan 2019 – June 2020

App Name: Utica College

Link: https://apps.apple.com/us/app/utica-college/id1046670096

Description: Explore Utica College! Thinking of attending Utica College? Prospective students and families can navigate the campus and learn about our unique programs and culture through self-guided tours. Whether at home or on campus our interactive student guide will accompany you as you explore our offerings using the GPS-enabled campus map, student videos, and photos.

Responsibilities:

· Programmed main application in Swift using MVVM architectural pattern

· Architect for the creation of College List and College Details feature

· Lead developer in Self Guided Tours section

· Lead developer in Custom Walking Tour Tours section

· Implemented BluePill for running automation tests in parallel by using multiple simulators

· Implemented Keychain Sharing to share sensitive data between libraries supported by different teams

· Worked with the UI via XIB files

· Fixed bugs with grapghs animating in incorrectly, where the fill of the graph would whip around wildly within the screen; when I was done, all of the in and out animations were entirely smooth.

· Utilized KVO to track keyboard expanding and collapsing in response to user interaction to facilitate smooth user experience through keyboard usage during sign-up flow.

· Built iOS Storyboards and established IBOutlet and IBActions

· Utilized Atlassian Jira to track issues and assign tasks

· Used Bitbucket as the Git code repository with SourceTree Git client

· Utilized Jenkins for continuous integration and quality control and evaluated Jenkins’ reports from the daily scheduled job

· Performed Regression testing for new devices such as iPhone XS and iPhone XS Max to detect potential issues

· Applied logging and analytics tools like Fabric and Google Analytics

· Used Crashlytics to detect bugs in production releases

· Used TestFlight for beta distribution within the team

· Worked with qTest for the management of the tests

· Used Charles Proxy as the debugging tool

· Worked with an Agile iOS team of 8 people.

· Worked with an offshore team with weekly meetings

· Participated in daily scrum meetings and weekly sprint planning sessions with the developer team

· Partook of twice-weekly meetings, planning, and review sessions with the automation team

Sprint Overland Park, KS Jan 2018 – Dec 2018

(Sprint is a company providing wireless and wireline communications products and services for consumers, businesses, government subscribers, and resellers. It operates two segments: Wireless and Wireline)

Link: https://itunes.apple.com/us/app/my-sprint-mobile/id491126018

Description: The My Sprint Mobile app is used for viewing and paying your bills or finding the tech support you need.

· Responsible for designing, developing, and implementing new features and updates to the app.

· Main contributor for the delivery of privacy and security on the Payment feature

· Lead developer in charge of the development of encryption and data integrity for Whole App

· Used GCD for multithreading and dispatch groups for fetching segments of data.

· Implemented best practices for getting information such as lay loading, pagination, and caching data

· Tested payment function.

· Utilized CocoaPods to load all third-party frameworks and manage dependencies.

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

· Wrote unit tests and managed project configuration

· Applied the MVVM architectural pattern and Delegation, Notifications, KVC, and Singleton design patterns.

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

· Used Swift and Objective-C with Xcode IDE for iOS mobile app development.

· Regularly consumed RESTful API services with SwiftyJSON to have real time data from the backend

· Coded the iOS application in Swift using Xcode IDE with Git repository and version control.

· Built application test framework with UI Automation.

· Built wireframes for app designs.

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

· Coded the application in a hybrid code base for Swift and Objective-C using bridging headers.

· Worked to develop the application using Xcode, and managed Git code repository with SourceTree with a Jenkins CI.

· Applied RESTful web service calls using AFNetworking framework, with POCs made in Swift.

· Wrote web services to interface with the iOS Mobile App.

· Ensured a secure environment for all web services by applying RESTful and implementing Open Authentication.

· Refactored RESTful requests from NSURLConnection to AlamoFire for compatibility with up-to-date iOS standard.

· Developed and implemented a macOS app for managing billing and payments, allowing Sprint customers to conveniently view and pay their bills from their Mac computers.

· Created a user-friendly macOS app for accessing comprehensive tech support, providing troubleshooting guides, support ticket submission, and chat or video call interactions with customer service representatives.

· Designed and developed a macOS app for monitoring and managing data usage on Sprint mobile plans, including real-time consumption tracking, alerts, and analytics for optimizing data usage.

· Developed a macOS app with store locator functionality, enabling users to find nearby Sprint stores and authorized retailers, complete with maps, store details, and directions.

· The team operated on an Agile project execution methodology complete with daily scrum sessions, Sprint meetings, and regularly scheduled brainstorming meetings. My hands-on technical work highlights: .

· Mentored team members about project execution strategies/processes and various aspects of the technical development/deployment.

Hooter’s of America, LLC in Atlanta, GA Dec 2015 – Dec 2017

Sr. iOS App Developer

Link: https://apps.apple.com/ca/app/hooters-ordering-and-rewards/id1259901981

Description: Everything Hooters®, Right at Your Fingertips. The Hooters® app puts our wide selection of world-famous wings, fresh burgers, crisp salads, and craveable seafood all in one place – your pocket!

Responsibilities:

· Worked extensively with Mapkit and Core location frameworks to provide user the experiences of Mapviews.

· Senior Developer for Rewards Section

· Implemented tracking pins on map for Nearest Hooter.

· Implemented breadcrumb tracking geo-data + credit card data within suite of Nearest Hooter.

· Coded the apps in Swift with Combine on MVVM architectures and various design patterns.

· Followed Clean Architecture design.

· Interfaced app with ApplePay.

· Implemented Alamofire implementation to help optimize backend calls.

· Developed UI using Storyboards and AutoLayout, Constraints, as per design specifications.

· Regularly participated in pair programming sessions.

· Utilized CocoaPods to load all third-party frameworks and manage dependencies.

· Worked closely with UI/UX designer enforcing proper UI designs according to Apple’s Human Interface Guidelines with Zeplin for building wireframes.

· Worked closely with stakeholders to develop custom solutions.

· Backend communications parsed with Codable protocol and placed into model objects.

· Working with backend team during the design of the new Restful API for the mobile platform.

· Testing using XCTest, using dependency injection to simulate different scenarios.

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

· Wrote Unit Tests for code using XCTest library

Redfin in Seattle, WA Jan 2014 – Nov 2015

iOS App Developer

Link: https://apps.apple.com/us/app/redfin-real-estate-buy-homes/id327962480

Description: Download the Redfin App to get updated real estate listings every 5 minutes. Find the latest homes, condos, and townhouses for sale in your area. Browse listing photos, see the most up-to-date home details, and instantly book a free home tour with a Redfin Real Estate Agent. Get the Redfin App to search for homes from your fingertips.

Responsibilities:

· Used Xcode IDE for iOS app development.

· Worked with an Objective-C codebase.

· Developer in Virtual Tour Feature

· Jr. Developer in Favorites Sections.

· Used Core Data for data persistence and local storage.

· Added animation between UIViews and custom scene transitions for better user experience.

· Multi-threaded some of the tasks including searching results and pre/post filters in iOS by running tasks in a separate thread using GCD blocks and NSOperation Queue for optimizing the performance.

· Used Adobe Analytics and AppDynamics for usage patterns and analytics.

· Implemented some UI work with views, sidebar navigation, custom navigation.

· Utilized Auto Layout and Size Classes in preparation for allowing app to be available on iPad.

· Re-architected key navigation flows of the app to eliminate memory leaks caused by retain cycles

· Created splash screen, login screen, and registration flow

· Assisted in evaluating issues to determine root cause and derive an appropriate and successful method of resolution and debugged various issues with back-end communication and connectivity.

· Implemented the ability to share videos and listings with the share sheet.

· Worked closely within a cross functional team of testers and developers.

· Used UIKit Framework for development and maintenance.

· Stored log details into the database using APIs and retrieved them back in log data.

· Participated in team code reviews and assisted with mentoring and best practices.

· Gathered product integration, product requirements, and product implementation information and ensured technical work aligned with user specifications from a business standpoint.

· Utilized Jenkins for continuous integration testing.

· Used Git and SourceTree for version control.

· Debugged issues throughout the app using a combination of Instruments, LLDB statements, Breakpoints, and Log statements.

ACADEMIC CREDENTIALS

Bachelor of Science in Computer Science

Utica University – Department of Computer Science

Bachelor of Arts in Mathematics

Utica University – Department of Computer Science



Contact this candidate