CHIA WEI TSAI (Lawrence)
Sr. iOS Developer
Phone: 980-***-**** / Email: *********@*****.***
PROFILE SUMMARY
•An innovative and energy-driven professional offering 9+ years of experience in iOS mobile application development. 6 published iOS mobile applications on the app store
•Strong knowledge of application development using Swift, Objective-C, CocoaTouch, and UIKit, SwiftUI.
•Know how to apply object-oriented programming concepts like Encapsulation, Polymorphism, Inheritance, and Abstraction by using Classes, Attributes, Methods, and Events.
•Demonstrated success in working on all phases of the software development lifecycle (SDLC) process including requirements gathering, design, coding, documentation, testing, debugging, and maintenance.
•Expertise in Swift, Objective-C, Object-Oriented Programming techniques and NodeJS, React, HTML, and CSS.
•Well-versed in MVC, MVVM-C, Viper Design Architecture, and Clean Architecture, as well as OOP and POP patterns and concepts like singleton, delegation, protocols, notifications, categories/extensions, factory, façade, flux, builder, and observer patterns
•Knowledge in using Combine operators like Debounce, Reduce, Zip, Scan, and Map.
•Skilled in increasing the app user downloads by creating an intuitive UI and UX using custom UI controls, XIB, AutoLayout, and Size Classes, which impacts heavily on customer app retention.
•Strong knowledge of Core Frameworks like Combine, Coredata MapKit, CoreGraphics, Core Animation, UIKit, CoreLocation, AVFoundation, CloudKit, CoreBluetooth, EventKit, Fabric/Crashlytics, Urban Airship, Social Framework, AVKit, PassKit, WidgetKit, Vision, RealityKit,
MLKit, Apple Pay, WebKit. ActivityKit.
•Apply Grand Central Dispatch (GCD), OperationQueues, and Async Await to perform tasks on threads, allowing for a more lag-free user experience.
•Expertise in Realm, CoreData, Internationalization and Localization, iBeacon Bluetooth Low Energy (BLE), Unit Testing, over-the-air Ad Hoc App Distribution, in-app purchase, ad, and analytics integration, AutoLayout, Apple Push Notification (APNS).
•Competent in asynchronous HTTP and HTTPS requests using tools such as GCD, Operations, URLSession, Alamofire, Decodable, JSONDeocder.
•Adept in using UIKit, XCTest, NSCoding, UserDefault, SQLite, and other tools and frameworks.
•Proven effective working as part of teams applying Agile/Scrum/Kanban, Test Driven Development (TDD), and other software development methodologies.
•Knowledgeable about storing data persistently on a device via various routes: CoreData, SQLite, Documents Directory, NSCoding protocol (archiving and unarchiving), NS User Defaults, Keychain, etc.
•Experienced working with both Apple Store applications Advanced experience in testing and debugging using the XCTest framework, Breakpoints, View debugger, LLDB statements, Print statements, and Instruments.
•Comfortable constructing UIs through Storyboards or programmatic UI statements with the use of Size Classes and AutoLayout constraints to allow for dynamic adjustment for different screen sizes.
•Goal-oriented, organized, team player with good interpersonal skills; thrives well within group environment as well as individually.
•Strong analytical and problem-solving skills; excellent communication and presentation skills; competent decision-making skills and excellent team player.
•Skilled in consuming RESTful web services (API) (REST, XML, JSON, SOAP based. Native experience with URL Session, URL Connection. 3rd-party experience with RestKit, AlamoFire, Reachability, Kingfisher, Firebase, Realm).
•Expert in Using SwiftUI components like HostingViewController, UIViewRepresentable, VStack, HStack, ZStack, LazyVStack, List, Grid, Geometric Reader, NavigationStack, NavigationLink.
•Applied different property wrappers like State, Binding, StateObject, EnvironmentObject, ObservedObject, Environment to do state management in SwiftUI.
•Hands on experience in using view modifiers, view builders to create reusable components in SwiftUI.
•Hands on experience in fixing accessibility voice over issue in SwiftUI and UIKit using accessibility Label, trait, value,
•Hands on experience in automating build pipline using GitHub actions and Fastlane. Also used other CI/CD tools like Jenkins, Azure DevOps (ADO), Bitrise.
•Expert in implementing security protocols like SSL Pinning, identifying if device is using VPN connection or routed devices.
•Implemented AES 256-bit encryption to encrypt keys and session data.
TECHNICAL SKILLS
Programming Languages: Swift, Objective-C, C, C++, Java, HTML, JavaScript
Architecture & Design: MVC, MVVM, VIPER, TCA, RIB,
Visual Paradigm: AutoLayout, Storyboard, XML Interface Builder, Size Classes, UIKit, CALayers, UI View, UIViewControllers, Adaptive Layout, Cocoa Touch, UIKit, Cocoa Pods
Web Services: REST, SOAP, URLSession, REST, JSON, SOAP, XML, NS JSON Serialization, NSXMLSerialization, GCD, NSOperations, Alamofire, Decodable, Codable, JsonDecoder, GraphQL.
Project Management: Agile Web Development and Scrum/Kanban Methodologies
Testing: TDD, Unit Testing, XCTest (framework), Automated Testing, Jenkins, TestFlight
Tools: Carthage, Jira, Confluence, Trello, Slack
IDE: Xcode, Eclipse, Visual Studio, Command-Line Editor
Database: SQLite, CoreData, Postgres SQL Manager, SQL, Oracle
Soft Skills: Communication, Teaching, Mentoring, Technical Support, Problem Solving, Analysis
Operating Systems: Mac, iOS, Ubuntu, Windows
Software Programs: Microsoft Office, MATLAB, Mutism
UI/UX: Figma, Adobe XD, Zeplin, InVision.
Frameworks/Libraries: RxSwift, RxCocoa, Cocoa Touch, CocoaPods Core Audio, CloudKit, UI Kit, CoreAnimation, Fabric, Crashlytics, CorePlot, MapKit, Metal, Core Bluetooth, Reachability, RxAlamofire, SwiftyJSON, SwiftInject, Realm, CoreMotion.
Continuous Integration: GitLab, Bitrise, GitLab, Github actions, ADO.
Media: AVKit, AVFoundation, Vision, Core ML, OpenCV, Open AL
PROFESSIONAL EXPERIENCE
Senior iOS Software Developer
Truist Financial Corporation, Charlotte, North Carolina/ 04 2023 – Present
App Name: Truist Mobile
https://apps.apple.com/us/app/truist-mobile/id1555389200
Discover the convenience of a better banking experience with Truist Mobile App. With this app, you can easily check balances, make payments, get personalized insights, and move money at your convenience. You can enjoy smarter technology and innovative features that put you first so you can manage your finances with confidence.
•Worked with team to develop migration strategies and prepare standard operating procedures.
•Worked with all sides of the development process, including QA, UI/UX team, Product, Android, and Backend Teams.
•Reworked the product list and product details screens for backend data consumption and overall UI rendering, added dispatch groups for async dependencies, and added a variety of sale types for different products with how they are calculated into pricing.
•Liaised with designers and other developers to complete projects.
•Created Truist Deals UI using SwiftUI grids.
•Architected the application to interact with RESTful API’s and GraphQl front end and backend layer. s
•Created reusable components using Swift Packager Manager that can be applied to iOS applications developed throughout the organization.
•Developed in an Agile environment utilizing Scrums and Sprints.
•Created a soft body dynamics system that collides ellipsoids with polygons, this was used for a marketing promotion and viewed by 4.8 million customers.
•Built an app using an MVVM-C architecture for the best separation of concerns.
•Applied creational group design patterns including Singleton, Factory, Abstract and builder.
•Facilitated back-end asynchronous communications with Combine, Alamo fire, and Codable for parsing.
•Performed migration from RxSwift to Combine and from UIKit to SwiftUI
•Integrated payments in an app with In-App Payments SDK.
•Established end-to-end encryption to ensure that data is safe and sound.
•Coordinated with QA testers for end-to-end unit testing.
•Applied AutoLayout for universal constraints with NSLayout Constraints and Anchors.
•Worked with Notifications to manage the state of a Singleton class to cache data.
•Wrote unit and UI tests with XCTest and XCUITest respectively to give optimal code coverage with a TDD approach.
•Used Async await for multithreading and dispatch groups for fetching segments of data.
•Revamped a large amount of the code base to include Accessibility implementation to adhere to ADA Compliance guidelines as well as improve UI testing.
•Utilized Accessibility Inspector for debugging accessibility compliance.
•Implemented widgets and live activities display on lock screen and for Dynamic Island using WidgetKit and ActivityKit.
•Used Vision Kit framework to scan cards using Camera to read user specific information from cards directly.
•Created POC to analyze objects from live camara or from video streaming using MLKit framework.
Senior iOS App Developer
Cox Communications, Atlanta, GA / 12 2021 – 03 2023
App Name: Cox App – Easy Account Management
Link: https://apps.apple.com/us/app/cox-app/id415894489
You can download the newly redesigned Cox app and can manage your account on your own time, wherever you are. This app manages your bill, views your data usage, gets service support, or messages an agent with 24/7 support. On the entertainment side, users can track favorites, browse, and search from the library of movies, TV shows, documentaries, comedies, sports, and more.
•Implemented new features in Swift using the Xcode IDE and used XC Test for writing unit, integration, and end-to-end tests.
•Worked with VIPER architectural pattern and Delegation, Notifications, KVC, and Singleton design patterns with RxSwift integration.
•Standardized and enforced the coding standards and best practices, including optimizing the apps for performance for App Store approval.
•Regularly performed code reviews to ensure efficiency, readability, and maintainability.
•Backend communications parsed with JSON and Decodable and placed into model objects.
•Utilized Carthage for dependency management and Firebase to analyze the application.
•Documented and summarized crash reports from Crashlytics. Helped in resolving issues arising from different upcoming iOS versions.
•Adapted Core Animation and CA Layer to crop and animate images over videos.
•Performed various UX design and programming alterations to improve the user experience.
•Applied Combine framework for data binding b/w presenter and view.
•Coordinated with the backend team to implement proprietary APIs specific to mobile applications.
•Worked with Localization to the app to enable content tailored to a user’s language settings.
•Worked with RESTful API to access the data from the backend using Alamo Fire, a third-party networking framework.
•Administered source version control using Git/SourceTree for enterprise product development with Jenkins for continuous integration.
•Worked with Agile/Scrum methodology, and participated in sprint planning, sprint retrospectives, scrums, and code reviews.
•Implemented Adobe Site Catalyst to track all behaviors of the user.
•Liaised with designers, business analysts, and backend teams to meet business requirements. Added extra cases to those requirements as they came up.
•Created wiki pages in Confluence to document app specific process.
iOS Developer
Hiltons Worldwide Holdings Inc., Tysons, Virginia, USA / 03 2020 - 11 2021
App Name: Hilton Honors – Book Hotels
Link: https://apps.apple.com/us/app/hilton-honors-book-hotels/id635150066
The Hilton Honors app ensures that you get everything for the perfect vacation. It helps you to book directly and enjoy exclusive offers on hotels, resorts, and luxury destinations across 7,000+ hotels and 30 brands. It ensures that you'll always get the best rate available when you book directly with Hilton. Not only this but it accepts flexible cancellation options to reassure you when booking your next stay.
•Migrated a significant portion of the code base from UIKit to SwiftUI integrating the two with UIHostingViewController and UIViewRepresentable Protocols.
•Refactored execution management of orders to be handled in the background without locking up the main thread and UI using OperationQueue and GCD.
•Used MapKit, CoreLocation, and MKAnnotations to make UI tweaks on the map view and enhance functionality.
•Utilized Keychain to securely store each user’s login information.
•Worked on the past orders page, itemizing past transaction history in a clear and easy-to-understand presentation.
•The key contributor to the products section of the app, selecting food items from the menu, detail pages for items, and selecting options screens to add to the cart.
•Used MVVM architecture and combine framework with publisher and subscriber communication.
•Established View Builder factory patterns for View reusability around the application.
•Introduced and enforced consistent programming styles using Swift Lint
•Wrote Unit and UI tests with XC Test and XC UI Test respectively to give optimal code coverage with a TDD approach.
•Used Aloma Fire for back-end network communications to improve performance and asynchronous communications to fetch RESTful API calls and decode data via the Codable protocols.
•Created a variety of custom view modifiers to reshape views and simplify code, both reducing individual code in views and modularizing views.
•Used Agile Kanban with JIRA for task management.
iOS Mobile Application Developer
American Automobile Association, Heathrow, FL / 01 2018 - 02 2020
App Name: AAA Mobile
Link: https://apps.apple.com/us/ HYPERLINK "https://apps.apple.com/us/app/aaa-mobile/id310730297"a HYPERLINK "https://apps.apple.com/us/app/aaa-mobile/id310730297"pp/aaa-mobile/id310730297
AAA Mobile improves on-the-go access to trusted AAA services including trip planning, discounts, and roadside assistance. The mobile version of AAA’s TripTik® Travel Planner helps you find AAA-approved and Diamond Rated hotels, restaurants, and attractions, and the ability to create and share itineraries between your desktop and mobile devices.
•Successfully handled AAA API Consumption with URLSession and data parsing into local models with Codable protocol.
•Used Swift 5 with MVVM design pattern and RxSwift for binding model and view.
•Used Cocoa Touch Framework to build the app, including UIKit, Foundation, UI Navigation View, UITabBarController, UI Table View, and Storyboard
•Used Map kit with Core location Framework for displaying current location.
•Implemented Bluetooth Characteristic, services Schema to keep track of Bluetooth services and perform extensive work with the low-level Bluetooth stack.
•Added push notification for changed location and login success.
•Handled version control with GIT using command line and SourceTree.
•Used Coordinator pattern to manage navigation.
•Implemented programmatic constraints for UI creation using UiKit framework.
•Fixed network performance issues by debugging app using time profiler from instruments.
•Fixed app launch time issue by debugging app using App launch tool from instruments.
•Created custom reusable components and integrated them in code using private cocoa pods.
•Applied code review best practices using Swift Linter and Sonar Qube to make code consistent and 80% unit test code coverage.
iOS Developer
Next door, San Francisco, CA / 06 2015 - 12 2017
App Name: Next Door – Neighbourhood Network
Link: https://apps.apple.com/app/id640360962
Tap into your neighborhood with Next Door. Find recommendations for businesses near you, search Next Door Finds to buy and sell great stuff, and join groups to connect with neighbors. The possibilities nearby are endless. Use Next Door to stay informed about what's going on in your community. Find home services, learn about local business openings, or get to know the people you see every day.
•Worked with team to develop a new polling feature to enable surveys with your neighbors.
•Worked extensively with Objective-C and Cocoa frameworks including Foundation, Core Animation, and UIKit.
•Implemented redesign of profiles, including the use of networking layer and NSURLSession to modify current network calls and support new functionality.
•Developed search functionality with new network calls, model objects, and JSON parsing to allow searching of posts from your neighborhood.
•Used UI View Controllers, UI Table View Controllers, and custom UI Table View Cells with Interface Builder to design and develop user interfaces.
•Participated in peer code reviews to ensure quality, bug-free contributions to the code base that followed best practices, code style, and security standards.
•Implemented UI Scroll View to show the information about the usage of the application.
•Submitted code on Bitbucket for version control.
•Sent push notifications to Apple Push Notification Services (APNS).
•Worked with UI Kit with UI Collection Views and UI Table Views creating custom designs and cells.
•Used JIRA for issue tracking; managed tickets to prioritize issues and workflow and track bug fixes and completions.
iOS Developer
Point Inside, Bellevue, WA / 01 2014 - 05 2015
App Name: Point Inside Shopping & Travel
Link: https://itunes.apple.com/us/app/point-inside-shopping-travel/id338171893?mt=8
Point Inside, the creator of Store Mode, has transformed the shopping experience by enabling retailers to engage proactively with customers through their smartphones at every point along the purchase path. Mobile apps driven by the award-winning Point Inside platform have seen increased sales, customer satisfaction, loyalty from initial research, product discovery, the creation of shopping lists, and in-store activities. Customers receive greater value and have a much more enjoyable shopping experience.
•Created project and application architecture deliverables consistent with architecture principles, standards, methodologies, and best practices; namely allowing for maintainability and scalability.
•Parsed XML responses using the SAX NSXML Parser and NSXMLParser Delegate.
•Parsed JSON responses using the SBJSON framework.
•Assisted in the app design, development, and implementation using iPhone SDK, Xcode, interface builder with XIBs, Objective-C, and instruments for performance tuning/optimization.
•Implemented Map View using the Map Kit and Core Location frameworks.
•Consumed Web Services on the iPhone to communicate with the Media Wiki API using the NS URL Request and NS URL Connection objects natively; POCs were made for using ASIHTTP.
•Enabled data scrolling using UI Scroll Pane and UI Text View.
•Created project and application architecture deliverables consistent with architecture principles, standards, methodologies, and best practices; namely allowing for maintainability and scalability.
•Parsed XML responses using the SAX NS XML Parser and NS XML Parser Delegate.
•Parsed JSON responses using the SBJSON framework.
•Assisted the Agile dev team with technical analysis and evaluation of new technologies, vendors, products, and product enhancements with a focus on end-user functionality and an eye for highly usable user interface design.
•Assisted in defining technical evaluation criteria for product and technology selection and determining technical approaches to ensure all architectural solutions result in a coherent systems design.
•Implemented audio playback using the AV Audio Player from the AV Foundation framework.
ACADEMIC CREDENTIALS
Master of Science in User Experience
Arizona State University, Mesa, AZ, U.S.A