CHRISTOPHER OH
CONTACT
EMAIL:
**********@*****.***
PHONE:
EDUCATION
UNIVERSITY OF HAWAII AT MANOA
Honolulu, HI
B.S. Computer Science
ADDITIONAL SKILLS
Swift • JSON Parsing • XCode Git • NSLocalization • Third Party Libraries Unit Testing • Data Persistence • MapKit SQLite • Authentication • CocoaPods XCTest • Key Chain Services • Core Location MVC • Size Classes • Instruments XIB • Alamofire • Notification Center SCRUM • Delegation • Agile Jira • MVVM • Objective-C Slack • Grand Central • UIKit Dispatch Test Driven • Programmatic Views Development • User defaults
SUMMARY
iOS Professional with over 5 years’ experience in native mobile development
Experience with many design patterns including delegation, MVVM, MVC, publisher subscriber, singleton, and more
Experience persisting security sensitive information with Keychain Services
Ability to manage third party libraries through CocoaPods and Carthage
Expert debugger and solver of problems
Skilled implementer of map and location services
Experience working with push notifications as well as local notifications
Experienced practitioner of Agile methodologies, with Scrum being the primary
Code versioning and branching expert with Git
Experience working in Test Driven Development environments
Expert in Swift and Intermediate in Objective-C
Experience consuming RESTful API endpoints and processing the returned data for use in the app
Experience working with major iOS SDK frameworks
Ability to create views using UIStoryboard, XIB, and through implementing views programmatically
Complete Software Development Lifecycle experience, from conception to App Store delivery
Persistence achieved through use of Core Data, plists, UserDefaults, and more
Strong desire to contribute meaningful, useful code
Passionate Lifetime learner
Expert level JSON parsing knowledge
Multithreading experience with GCD and NSOperations
PROFESSIONAL EXPERIENCE
iOS Developer
Ally Financial, Charlotte, NC / Mar 2020 – Present
Ally Mobile https://itunes.apple.com/us/app/ally-mobile/id514374715
Worked for the invest side of the app. Fixed bugs and added many features related to options and equity trading. Created content pages for specific investment related programs offered at Ally. Used Atlasssian tools, specifically Bitbucket, SourceTree, Jira, and Confluence.
Debugged and refactored options and equity trading logic. Cleaned up much of the code by removing hacks and improving readability.
Found backend service issues that was a root cause of many of the bugs present on the mobile app.
Created and improved many elements commonly used throughout the app from Ally’s proprietary library.
Used Core Data to persist data caching favorited or last viewed stock and option quotes, as well as to load static pages that should be available without a network connection.
Attended daily scrum meetings to update team on current work and input on the direction of the team.
Demonstrated new features and progress updates in biweekly product demos to an audience consisting of product owners and department managers.
Refactored older Objective C code to the more current, readable, and maintainable Swift language.
iOS Developer
Family Dollar, Chesapeake, VA / Jun 2018 – February 2020
Family Dollar https://itunes.apple.com/us/app/family-dollar/id1196434600?mt=8
Project to improve the Family Dollar app to improve the user experience. The Family Dollar app provides an easy to use way to shop at Family Dollar stores. Built using Git, Agile, SCRUM, MapKit, Core Data, Carthage, Keychain, and MVVM design pattern.
Implemented dependency injection to solve problem of low testability for network calls
Implemented video service by building new networking calls to RESTful APIs to enable users to watch videos from weekly ads they are interested in
Integrated with RESTful services to enable querying available products for a given store
Utilized Carthage in order to manage third party dependencies to perform required functionality such as the barcode scanner
Persistence achieved through utilization of Core Data to save things such as user’s coupons
MapKit implemented to locate and display nearest stores to the user, including custom placemarks
XCTest used to implement testing of core functionality throughout app· Keychain implementation used to securely store user’s login information
Agile methodologies observed and practiced within a Scrum framework
Advocated for MVVM design pattern to be used throughout the app to aid in testability
iOS Developer
Linksys LLC, Dallas, TX / Aug 2017 – May 2018
Linksys LLC https://itunes.apple.com/us/app/linksys/id533516503
This app is the command center for your Velop system and Linksys Smart Wi-Fi routers. Use the Linksys app anywhere you have an internet connection to check connected devices, set up guest access, or keep your kids off the internet when they should be doing homework. The updated app now covers Velop, whole home mesh Wi-Fi that provides seamless, full-strength Wi-Fi for the whole family.
Guided and mentored Jr. developers through strategies such as code reviews, coaching on best practices, advanced platform topics, etc.
Unit testing designed and implemented unit testing through XCTest for core features and functionality of app
Git utilized for code versioning while observing a modified gitflow branching system with code uploaded to private online repository
Worked on implementing attractive UI as per specs from designer to enable users to see devices on the network, including customization and subclassing of UITableView as well as UITableViewCell
Coded functionality for a custom activity indicator· Majority of development was done under a Test Driven Development approach
Developed account sign in authentication as well as the signup feature flow including networking calls
Utilized Instruments, print statements, LLDB, etc. to trace down and identify memory leaks
Implemented refactorization of development and release candidate code to solve memory leaks
Instruments also utilized to analyze performance issues within application and collaborated with team members to improve affected areas of codebase· Implemented customization of icons, font, colors, etc. in multiple parts of codebase
Networking communication achieved through use of a proprietary library· Team composed of 6 members.
iOS Developer
Mobile Developer, New York, NY / Sep 2016 – Aug 2017
Dow Jones & Company, Inc https://itunes.apple.com/us/app/wall-street-journal-business/id364387007?mt=8
The WSJ app gives you instant access to breaking stories from around the world plus the latest on business and finance, politics and technology, as well as expert commentary and analysis and up-to-the-minute updates on global stock markets and company news.
Grand Central Dispatch used to offload intensive tasks to the global thread
Team composed of 2 designers, 2 testers, and 5 developers
Implemented menu that is accessed by through the use of a swipe gesture recognizer
Subclassed and customized UI elements such as reusable UITableViewCell and UITableView to ensure performance displaying information such as news
Implemented Unit Tests to cover core logic of app· Coded functionality to provide offline experience through saving articles in Core Data
Current use of Autolayout customized to improve UI based on different user device screen size
Distributed team collaborated through utilization of google hangouts with daily stand up meetings being participated in by both remote and local developers
Handled App store submission process through creation of necessary information such as certificates, provisioning profiles, etc.
Retrieved data from API via networking class that implemented URLSession and DataTask objects with parsing handled through JSONSerialization
iOS Developer
Vet2Pet, LLC, Ocean Springs, MS / Aug 2015 – Sep 2016
Vet2Pet, LLC https://itunes.apple.com/us/app/bamc/id981735297?mt=8
This app is designed to provide extended care for the patients and clients of Bienville Animal Medical Center in Ocean Springs, Mississippi.
Implemented functionality for Loyalty Program including the ability to use a custom punch card to increase customer retention for the company’s brand
Git used for code versioning with a gitflow branching model and online code repositories
Remote push notifications implemented to provide applicable updates and news for customers
Worked on functionality of app including the ability to call or email the medical center, as well as presenting a map with locations
Implemented Geofencing and utilized Core Location to deliver proximity alerts when user is close to a medical center
Implemented functionality to keep user up to date with all Bienville Animal Medical Center news through feature that allows access to social media such as Facebook and YouTube
Improved functionality and flow for the functionality where users can add pets directly to the app, including name, nickname, activities, and photos
Ability to request appointments, food, and medication provided in app through API interaction to relay information to server and query available appointment times and other pertinent information