Joey Nash - iOS Developer
Norfolk, VA 23518
More than 8 years working as an iOS developer and more than 5 years as a senior iOS engineer. Experienced with Objective C and the different versions of Swift (Swift 2-5) Have used architectures like MVC and MVVM and patterns like KVO, KVC, Delegation and Protocols, Notifications, Categories and Extensions and Publisher Subscriber. Created and used libraries to consume web services on either JSON or XML format. Worked on multithreading challenges using both GCD and NSOperationQueue. Experience using Cocoapods, Carthage and creating custom frameworks to modularize code and to obfuscate functionality if so desired.
Persisted information with Core Data, User Defaults and SQLite. Worked with Authentication using Key Chain, Oauth and Token based systems. Debugged using Breakpoints, the LLDB and the caveman approach. Worked with ARC references and MRR calls.
Experience with Storyboards, custom UIView classes and nib files. Worked with Google Maps, Gathered the User Location with Core Location and Used Map Kit. Worked with continuous integration with Jenkins.
Implemented Apple Push Notification Services.
Monitored the release of apps on the App Store.
Managed version control with GitHub and BitBucket. Worked with a SCRUM framework that was customized according to project needs and team size. Developed classes using AVFoundation and HLS.
Worked on prototype features using Core Bluetooth and iBeacons. Worked with a test-driven development philosophy using mocks, stubs and fakes. Coached junior developers into iOS programming and made code reviews for pull requests in several key features.
Willing to relocate: Anywhere
Authorized to work in the US for any employer
Sr. iOS Engineer
Anthem, Inc - Norfolk, VA
July 2019 to Present
Project Name: Sydney Health
App Store URL: https://apps.apple.com/us/app/sydney-health/id1463423283 Role Responsibilities:
• Worked in a SAFe environment, with a huge train of over 100 devs across multiple teams and platforms.
• Worked on a platform team of about 12-15 iOS devs as well as smaller feature teams with 2-3 devs per platform as the environment and structure changed over the course of months.
• Acted as an iOS lead for a few months for a feature team, providing direction and mentorship to 2 other junior iOS devs as well as updates to iOS progress for team leaders.
• Worked closely in workshops with other teams and companies to develop and maintain a proprietary SDK for both iOS and Android
• Developed a wrapper viewController for a React-Native view to handle communication between React-Native and Swift based on NSNotifications and JSON
• Decoupled above communication from ViewController in order to re-use the pattern elsewhere.
• Created feature-based WebView framework using WKWebViews in order to allow one custom WebView class to access and redesign itself based on the feature to be presented.
• Worked with and added to deep-linking navigation framework to go from any page to another based on URLs without concern for where they are coming from, allowing shorter flows for scenarios.
• Created service layers that use a selected environment to dynamically reach different hosts to differentiate between test/dev/prod end-points.
• Created native ViewControllers and components to display and manipulate user-data based on UX designs for a cohesive experience.
• Created native implementation of Emulation framework, allowing help-desk users to sign in for a user with read-only access and hide private data in order to troubleshoot issues for them.
• Acted as the primary source of expertise for new SDK to other iOS devs, answering questions and providing documentation to allow other devs to work with SDK.
• Worked with other teams to help re-create the Chatbot React-Native flow across newer features while converting to a more hybrid approach.
• Took on extra native work for other teams during down-time to keep the entire SAFe train moving.
• Leveraged a pod to create an app-specific image retrieval and caching framework to handle images both internally and externally and matched its SSL requirements to the existing Service Layer
• Utilized multiple sources of truth in Service Layer for data vs content with different environments for each.
• Acted as POC for new feature information during initial release Keywords: XCode, Swift, Objective-C, JIRA, BitBucket, Jenkins, Perfecto, Kingfisher, CocoaPods, Adobe Analytics, React Native, JSON, Delegation, Singleton, WKWebView, UITableView, UICollectionView, WebEx, Microsoft Teams, NSNotifications
Sr. iOS Developer
The Nemours Foundation - Wilmington, DE
April 2018 to June 2019
Project Name: Nemours - Digital Health Management
App Store URL: https://itunes.apple.com/app/id1333256093 Role Responsibilities:
• Led team consisting of myself and 4 other iOS developers to deliver new features and bug fixes.
• Mentored Jr. developers through code reviews and one-on-ones.
• Used Story Boards and XIBs to design basic UI on a page-by-page basis or even so far as individual elements to be re-used.
• Enhanced Interface-Builder designs programmatically by modifying constraints, frames, colors, and font sizes.
• Used TableViews and custom TableViewCells to deliver a consistent feel across the application.
• Created router and service classes to enhance Alamofire and make easier network requests.
• Used Delegation to manage multiple threads.
• Used SlideMenuController to manage a slide-out menu for user navigation.
• Used SourceTree, Terminal, and File Merge to manage commits between local and remote GIT repository.
• Manually managed navigation controllers to provide a fluid experience forward and backwards throughout the app.
• Led Sprint Planning and Grooming to provide a path to implementing future stories.
• Used Bamboo to keep track of builds and run automated tests
• Tracked tasks and stories with JIRA.
• Guided effort to migrate from Native pages to WebViews to improve consistency across platforms.
• Managed interception of WebView requests to load native pages.
• Used break points to debug various methods and processes both in development and in bug fixes.
• Used XCTest to write Unit Tests for old and new classes.
• Used Test-Driven Development to design functions.
• Created mock classes to imitate dependencies and isolate classes to be tested or prevent unnecessary side behavior such as opening Web Browser when running unit tests.
• Used XCUITest to test native pages.
• Used Accessibility Inspector and Input Recorder to assist in creating queries for XCUITest.
• Used Event Kit and MXLCalendarManager to parse ICS files and create events within user's calendar for appointments.
• Used Core Location to retrieve location for AQI and appointment purposes, and passed it to WebView.
• Used Safari and simulator to debug web views.
• Led team in Agile development process via Scrum implementation.
• Led standups, plannings, groomings, and retros.
Coinbase, Inc - San Francisco, CA
April 2016 to March 2018
Project Name: Coinbase - Buy Bitcoin & more
App Store URL: https://itunes.apple.com/us/app/coinbase-buy-bitcoin-more/id886427730?mt=8 Role Responsibilities:
• Developed entirely on Swift and migrated through the different versions of the language.
• Used Auto layout, constraints and stack views.
• Made use of Core Animation to enhance the user experience.
• Created custom table view cells with xib files and through a programmatic approach.
• Worked on a SCRUM approach with daily standup, demo and retrospective meetings.
• Worked with an MVVM architecture using RxSwift to bind the view controller with the view itself.
• Worked with a TDD approach and used XCTest.
• Created a custom Networking class using URLSession, all network communications were secured with SSL.
• Custom frameworks were managed with Cocoapods.
• Made use of a custom internal chart library to represent data in a visually appealing way.
• Handled memory management properly to avoid retain cycles and memory leaks as well as dangling pointers (zombies).
Keywords: Swift, URLSession, UITableView, UICollectionView, UICollectionView, UITableViewCell, UIScrollView, RESTful, UISegmentedController, UITabBarController, SCRUM, JIRA, TDD, Push Notifications.
Sr. iOS Developer
Stride Health, Inc - San Francisco, CA
February 2015 to March 2016
Project Name: Stride Drive
App Store URL: https://itunes.apple.com/us/app/stride-drive/id1041591359?mt=8 Role Responsibilities:
• Worked on the migration from Objective C to Swift.
• Used Swift extensions to enhance the functionality of native and custom structures and classes.
• Developed with a light MVVM approach to facilitate testing and reduce the bloating on the code base.
• Made use Alamofire with Cocoapods to handle HTTP Requests to the API.
• Used Jenkins for continuous integration alongside HockeyApp.
• Used Bridging Headers to integrate Objective C classes into the Swift codebase.
• Used a Test-Driven Development style while developing features.
• Worked with Google Maps API to show the destination routes.
• Used push notifications to display user achievements and milestones.
• Made use of auto layout, constraints and stack views.
• Made custom subclasses of UI elements to enhance their feel and look (UIButton). Keywords: Swift, Objective C, Alamofire, UITableView, UICollectionView, UICollectionView, UITableViewCell, UIScrollView, RESTful, UITabBarController, SCRUM, JIRA, TDD, Push Notifications, Google Maps.
Banco Popular de Puerto Rico - Hato Rey, PR
December 2013 to January 2015
Project Name: Mi Banco Mobile
App Store URL: https://itunes.apple.com/us/app/mi-banco-mobile/id508421942?mt=8 Role Responsibilities:
• Developed with Objective C as the main programming language with the use of Categories to extend the functionality of native classes.
• Developed with an MVC approach using storyboards, XIB files and programmatic views.
• Made use of local model classes to represent data.
• Made use of NSURLSession to create a custom networking framework to consume the API endpoint.
• Worked with Jira to manage ticket creation and backlog.
• Important features of the application were unit tested to ensure quality of service.
• Used a Façade design pattern to enclose multiple classes in more cohesive pieces of functionality.
• Implemented custom table view cells with xib files using constraints and stack views.
• Created a custom collection view with custom cells to represent banking operations.
• Worked under a SCRUM project management approach.
• Made use of Apple Push Notification Service to display relevant information about the user's banking operations.
Keywords: Objective C, NSURLSession, UITableView, UICollectionView, UICollectionView, UITableViewCell, RESTful, Jira, SCRUM, XCTest, Push Notifications. iOS Developer
DMW Design Group LLC - Santa Barbara, CA
January 2012 to November 2013
Project Name: Trifecta
App Store URL: https://itunes.apple.com/us/app/trifecta/id492100601?mt=8 Role Responsibilities:
• Used Objective C as the main programming language.
• Developed with an MVC Architecture using local model classes to represent data.
• Created views using XIB files and using a programmatic approach.
• Made use of custom third party frameworks using Carthage.
• Handled version control with Git.
• Solved tickets generated on Jira by the product owner.
• Fixed UI bugs.
• Made use of NSURLConnection to handle all communications to the API.
• Made use of Core Animations to enhance the user experience. Keywords: Objective C, NSURLConnection, UITableView, UICollectionView, UICollectionView, UITableViewCell, Jira, SCRUM, TDD, Carthage.
Bachelor's degree in Computer Science
University of North Georgia - Norfolk, VA
• Unit Testing
• Core Bluetooth
• Core Location
• resilient (10+ years)
• OpenGL (10+ years)
• AlarmManager (7 years)
• Retrofit (7 years)
• Pie (8 years)
• Story (9 years)
• humor (7 years)
• strategic planning (7 years)
• supervising (8 years)
• GCM (9 years)
• Design Patterns (8 years)
• Docker (8 years)
• NetworkImageView (7 years)
• Firebase (10+ years)
• Spring Grooming (9 years)
• recall (10+ years)
• Library (8 years)
• JAR (8 years)
• integrity (8 years)
• Bridge (7 years)
• VolleyÂ (9 years)
• inspiring (7 years)
• Crashlytics (8 years)
• Fiddler (10+ years)
• JobIntentServices (8 years)
• APK Profiler (10+ years)
• mind mapping (9 years)
• troubleshooting (7 years)
• meeting management (7 years)
• XML (9 years)
• App Bundles (7 years)
• authenticity (10+ years)
• initiative (8 years)
• Android Open Source Project (7 years)
• reliable (8 years)
• Chain of Responsibility (7 years)
• experimenting (8 years)
• Dagger (7 years)
• time awareness (8 years)
• Widgets (10+ years)
• Estimation (10+ years)
• virtual team management (10+ years)
• MBaSS (9 years)
• Wireframes (7 years)
• Merge (7 years)
• Singleton (10+ years)
• Picasso (7 years)
• Fragment Manager (8 years)
• Accelerometer (10+ years)
• Dalvik (10+ years)
• Functional Testing (10+ years)
• POJO (7 years)
• Espresso (9 years)
• ImageView (7 years)
• ThreadPool (9 years)
• presentation skills (8 years)
• deal-making (8 years)
• Code Coverage (10+ years)
• acuity (8 years)
• managing difficult conversations (9 years)
• Directions API (10+ years)
• disability awareness (10+ years)
• visual communication (9 years)
• Localization (9 years)
• motivated (9 years)
• Pending Intent (10+ years)
• diversity awareness (8 years)
• coordination (8 years)
• written communication (8 years)
• allocating resources (8 years)
• Kickflip (8 years)
• App Publishing (10+ years)
• trainable (7 years)
• Room (8 years)
• Test Labs (7 years)
• optimistic (10+ years)
• Geo Fences (7 years)
• cooperation (10+ years)
• BDD (10+ years)
• Repository (7 years)
• Dispatchers (8 years)
• tolerance of change and uncertainty (9 years)
• ProgressBar (7 years)
• Text-To-Speech (8 years)
• Testing Pyramid (9 years)
• verbal communication (7 years)
• C++ (9 years)
• Factory (9 years)
• MVP (7 years)
• OOP (8 years)
• decision-making (9 years)
• Semaphores (7 years)
• friendliness (9 years)
• ANR (9 years)
• Communication (7 years)
• Compound Views (9 years)
• people management (9 years)
• Glide (10+ years)
• Eclipse ADT (9 years)
• JetPack (9 years)
• Observer (10+ years)
• give clear feedback (8 years)
• GitHub (9 years)
• Tape (10+ years)
• diplomacy (8 years)
• punctual (10+ years)
• Daily Standup (10+ years)
• Bluetooth Low Energy (8 years)
• EventBus (9 years)
• Material Design (8 years)
• Sprint Planning (7 years)
• conflict or dispute resolution (7 years)
• JWT (9 years)
• VideoView (7 years)
• Test Driven Development (7 years)
• HTTPS (9 years)
• Rebase (8 years)
• encouraging (10+ years)
• emotion management (10+ years)
• analysis (7 years)
• Industry Standards (8 years)
• BouncyCastle (7 years)
• Android SDK (10+ years)
• MVI (7 years)
• Coroutines (9 years)
• Xing Library (10+ years)
• Visitor (10+ years)
• Analytics (9 years)
• Travis (9 years)
• MediaController (7 years)
• Linux (7 years)
• sense of urgency (7 years)
• Data classes (10+ years)
• persuasion (7 years)
• reframing (10+ years)
• Bluetooth (7 years)
• versatility (7 years)
• Master Detail View (8 years)
• introspection (9 years)
• Continuous Delivery (10+ years)
• Mediator (7 years)
• Dependency Injection (7 years)
• MediaPlayer (9 years)
• intercultural competence (8 years)
• AWS (7 years)
• Fast paced environment (7 years)
• WorkManager (7 years)
• negotiation (10+ years)
• task tracking (7 years)