Post Job Free

Resume

Sign in

Sr IOS Developer

Location:
San Francisco, CA
Posted:
February 06, 2023

Contact this candidate

Resume:

Profile

**+ years’ experience developing iOS apps. Developing iOS apps consecutively since 2011.

** *****’ combined experience in iOS and Software/IT.

* **** ********* ** ***** Store.

Skilled programming in Swift and Objective-C

Experienced with UIKit, Location, MapKit, Cocoa Touch and Cocoa Service Frameworks working on mobile applications.

Seasoned developing multithreaded workflows using both GCD and NSOperations

Extensive work with architectures and design patterns such as MVC, MVVM, VIPER, KVO, KVC, Singleton, Delegate, Observer/Notification, Adapter, Factory, Façade, etc.

Well versed consuming RESTful and SOAP web services and parsing JSON and XML web service responses with both 1st party and 3rd party frameworks; familiar with CocoaPods, AFNetworking, RESTKit, Alamofire, Codable, and JSONSerialization

Construct application UIs using Storyboards, XIBs, and programmatic,

Experience working with Core Data for persisting data between application sessions. Full understanding of Managed Object Model, Managed Object Context, Managed Object, and Persistent Store Coordinator.

Familiar with local storage solutions like NSUserDefaults, Keychain, and Archiving.

Experience with Combine.

Memory and Data Management experience in both Manual Retain Release and Automatic Reference Counting

Experience with both SVN and Git for managing versions control; worked in environments with continuous integration tools such as Jenkins

Value-add team player on iOS dev teams practicing Agile methodologies, with Scrums and Sprints.

Well-versed with 0nsite and offshore team coordination.

Experienced in working with SQLite Database, Google Maps API, MapQuest API, GPS Location, In-app billing, Push Notifications.

Strong knowledge in all phases of Software Development Life Cycle (SDLC) process, which includes requirement analysis, designing, implementing, debugging, testing, fixing and maintaining applications.

Experienced in implementing multi-threading using both Grand Central Dispatch (GCD) and NSOperationQueue

Experience in integration of services using RESTful Web Services

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

Hands on 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..

Proficient in source control with Git, Stash, SourceTree, SVN.

Experience with SwiftUI.

Skills

Programming Languages

Swift

Objective-C

IDE

XCode

iOS Tools

Instruments

CocoaPods

Carthage

Firebase

Cocoa Touch

Third-Party Frameworks

Reactive-X

RxCocoa

RxSwift

Firebase

Realm

Data Management

SQLite, Firebase Realtime Database, Core Data, MongoDB

Troubleshooting & Testing

Memory Management, Instruments, Code Review,

Unit Testing, TestFlight

XCTest, Automated Testing

Consuming Back-End Services

Alamofire

AFNetworking

REST, JSON, SOAP,XML

Reachability

API Writing

Classes

NSURLSession

URLSession

NSJSONSerialization

NSXMLSerialization

NSUserDefaults

NSNotificationCenter

NSOperationQueue

Project Environment

Agile Scrum, Continuous Integration

Test-Driven Development

Jira, Confluence, Git, SVN, SourceTree

Architecture & Design

MVVM, MVP, MVC, VIPER, Decorator, Builder, Singleton, Abstract Factory, Integrator, Visitor, Proxy, etc.

Push Notifications

Apple Push Notification (APNS)

Firebase

iOS Frameworks

Combine, UIKit, UIDynamics, CoreLocation, MapKit, CoreBluetooth, CoreGraphics, QuartzCore, AVFoundation, CloudKit, CoreData, EventKit, Social

User Interface

SwiftUI

Interface Builder

Storyboards

Xibs, Auto Layout, Adaptive layout, Storyboard, Interface Builder, Xibs, Nibs, Size Classes, UIKit, CA Layers, UIView, Animations, Core Plot, Core Graphics

iOS Development

Concurrency – GCD, NSOperations

Delegation

Structs

Protocols

Professional Experience

Senior iOS Mobile App Developer

Bet Fanatics, Fanatics Bet, San Francisco, California August 2022-Present

App Link: https://apps.apple.com/us/developer/fanatics-inc/id712661690

App Description: Bet Fanatics is primarily a betting app where users create an account and have a wallet where funds are withdraw to place bets and deposit earnings alike

Applied design patterns Delegation, and designed User interactive screens using jetpack compose.

Managed the project in typical Agile SCRUM methodology.

Worked in Xcode using Interface Builder and multiple Storyboards in the creation of the user interface.

Created API layer connections for several endpoints.

Refactored API layers to KMP connections.

Decoupled the project by creating different modules using private CocoaPods.

Migrated several parts of the architecture from the traditional MVVM layers to Kotlin Multi Platform (KMP).

Applied Realm for object synchronization.

Profiled the app using Instruments to monitor performance leaks, memory optimizations, screen adjustment and battery usage.

Used JIRA as the Project Management Tool.

Implemented jetpack compose for screens, jetpack components including navigation, viewMode.

Addressed bugs and fixed them using Charles proxy and the XCode debugger, as reported on JIRA.

Used Git as the code repository.

Used SnapKit to build and maintain all programmatic constraints.

Used Jenkins for continuous Integration (CI).

Worked with front-end UI/UX designers, back-end teams, and business teams to ensure app worked seamlessly meeting all requirements.

Senior iOS Developer

KeyBank

Cleveland, OH

June August 2020 – July 2022

App Link:https://apps.apple.com/us/app/keybank-mobile-banking/id510717503

App Description: Take control of your money and bank the way you want to bank – anytime, anywhere. The KeyBank mobile banking app is free, fast, and secure with features that are streamlined for today’s on-the-go world. Easily transfer funds between bank accounts. Pay bills. Send money to friends and family. Open a checking or savings account. Deposit checks on the app. Monitor and manage bank accounts and cards.

Utilized MVVM for the tiles to have proper separation between the business logic and presentation logic.

Migrated some of the VIPER-architected code to MVVM due to VIPER over-abstraction.

Applied design patterns Delegation, Singleton, Extensions, Notification, and KVO.

Programmed in Xcodeusing Swift.

Refactored code and conducted code reviews.

Decoupled entire project by creating different modules using private CocoaPods.

Implemented Dispatch Queues to perform tasks asynchronously and concurrently.

Applied Realm for object synchronization.

Parsed response JSON using Codable protocol via RESTful web calls utilizing URLSession

Profiled the app using Instruments to monitor performance leaks, memory optimizations, and battery use.

Tracked down bugs and fixed them using Charles proxy and the XCode debugger, as reported on JIRA and VersionOne.

Used Git as the code repository.

Used Jenkins for continuous Integration.

Integrated Touch ID capabilities, using Local Authentication.

Implemented various security features, including Biometric Authentication, Certificate Pinning, and various cryptography methods.

Used SnapKit to build and maintain all programmatic constraints.

Worked with WebService calls using Alamofire.

Worked with front-end UI/UX designers, back-end teams, and business teams to ensure app worked seamlessly meeting all requirements.

Fixed memory issues using Instruments (e.g., Allocations, Time Profiler).

Senior iOS Developer

Ashley Furniture

Arcadia, WI

Nov 2018 – Aug 2020

App Link: https://apps.apple.com/us/app/ashley-homestore/id1446058110

App Description: The Ashley HomeStore app features a streamlined shopping experience along with Augmented Reality (AR) that allows you to view select Ashley Furniture items in your own home. You’ll also be able to search, browse and shop thousands of home decor, bedding, mattresses, mattress in a box, outdoor, living room, bedroom, home office, media storage, dining, kids furniture, lighting, wall accents, and much more.

Utilized RxSwift in coordination with MVVM to have the model and view bound so that the view reacted to changes in the model.

Programmed in Xcode with Objective-C and started transitioning code and developing new features in Swift.

Implemented RxSwift to handle two-way binding.

Rewrote some of the older Objective-C libraries to Swift.

Designed and developed user interface as per existing IOS application using UI framework.

Participated in UX design and suggested how to implement.

Involved in development and coding by adhering to internal document for best practices.

Handled UI development using Storyboards and Interface builder based on Apple HIG guidelines.

Developed UI using Storyboards with AutoLayout constraints and Size Classes utilized to handle all screen sizes.

Managed third-party dependencies using CocoaPods.

Configured push notifications’ content-available property to make notifications visible even when the application was running in the background, letting users to receive messages when they were directly or indirectly using the application.

Collaborated with cross-functional teams to define, design, and ship new features.

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

Used JIRA to track and prioritize bug fixes.

Performed unit testing with XCTest framework to ensure quality, stable code in the release.

iOS Mobile App Developer

Garmin

Chandler, AZ

Apr 2017– Nov 2018

App Link: https://apps.apple.com/us/app/garmin-drive/id1276198893

App Description:The Garmin Drive™ app is a simple and convenient app solution for the latest Garmin automotive navigators and dash cams. For compatible navigators, the Garmin Drive app provides real-time information for traffic, parking, advanced weather, and photoLive traffic cameras, in addition to the ability to send and receive calls, texts, and notifications from your Bluetooth-enabled mobile device. For compatible dash cams, the Garmin Drive app provides quick access to camera controls, settings, and recorded footage. Up to four dash cams can be wirelessly connected with the Dash Cam Auto Sync feature to provide comprehensive coverage around a vehicle, offering various viewpoints recorded by the multiple cameras. The Garmin Drive app can create a “picture-in-picture” video from any two perspectives at the same time, making it easy to review video and also share videos with friends, insurance agencies, or legal authorities.

Programmed app largely using Swift with some legacy Objective-C code.

Worked in Xcode using Interface Builder and multiple Storyboards in the creation of the user interface.

Used XCTest for write and implement test cases and used Instruments, Allocations and Time Profiling tools to fully test performance and memory management.

Used Alamofire for asynchronous back-end communication.

Used CocoaPods to install third-party libraries.

Handled continuous integration and module testing with Jenkins.

Implemented logic to connect to server to download document data using GCD.

Implemented the Bluetooth connection that integrated with the hardware for stabilization.

Enhanced UIs to present more content using Storyboards with AutoLayout constraints and Size Classes as per design team specifications.

Implemented Push Notifications to notify users when certain events occur.

Invoked RESTful web service data to retrieve information using AFNetworking from the location database.

Worked with CoreData for updating and for fetching relevant information when logging new items.

Worked with UIKit Framework for development and maintenance.

Used Confluence to document the flow of the features using a flowchart.

Used JIRA and Bitbucket for code review and approval.

Worked with Fresso library for image management and ExoPlayer for audio-video playback function.

iOS Developer

SkiRepot

New York, NY

Oct 2015 – Apr 2017

App Link: https://itunes.apple.com/us/app/onthesnow-ski-snow-report/id300412347?mt=8

OnTheSnow, the world's leading website for ski and snow conditions, brings you the world's most-downloaded ski and snowboard application, the Ski & Snow Report app. This Ski & Snow Report app brings you current conditions with snow reports at more than 2,000 ski areas around the world, plus features first-hand ski reports from users.

Developed project entirely in Objective-C and XCode.

Used Interface Builder to make UI improvements and fixes as instructed by QA and UI designers.

Worked with a geographically distributed team to add features and improve upon existing ones.

Improved performance and functionality of the app utilizing Instruments and other debugging tools.

Utilized UIImagePickerController to allow for users to take new pictures with the devices camera, or select pre-existing images from their albums.

Customized UI elements created using a combination of XIBs and Storyboards, with Auto Layout constraints used to adjust content layout.

Worked on enhancements to web service calls through NSOperations to improve usability, JSON responses parsed using NSJSONSerialization.

Worked within a MVC architecture.

Used design patterns Delegation, Notification, Singleton, and several other patterns used to better create the app and simultaneously satisfy the key non-functional requirements of scalability and maintainability.

Worked on improving MapKitand Core Location services to reduce drain on battery life.

Participated in weekly paired programming to promote higher quality of code, as well as to more quickly introduce new/junior developers to the code.

Wayfair, LLC

Boston, MA

Feb 2014 – Oct 2015

iOS Mobile App Developer

App Link: https://itunes.apple.com/us/app/joss-main-beautiful-decor-beautifully-priced/id525522332

The Wayfair iOS shopping app needed to reflect the ideology of the store, which is beauty – beautiful décor, and ease, so it had to look great be somewhat minimal in design and very easy to use.

Implemented the app design strictly following the UI/UX schematics provided by the UX designers, and worked closely with the designers to make sure I implemented the image and feel.

Implemented the iOS app using Xcode in Objective-C and Swift as it arrived, using bridging headers to integrate Swift and create a hybrid code-base.

Created the shopping list ViewController contents, including custom UITableViewCells creating a gallery type exbibit with large, high-resolution images which we managed with multiple threads and background processes using SDWebImage.

Parsed JSON objects using JSON Model library with AFNetworking.

Implemented Google+ login for users by working with Google API.

Added video functionality within app using AVFoundation library.

Worked with CocoaPods dependencies for necessary 3rd-party abilities.

Optimized store locator functionality and refactored corresponding UI of workflow using Storyboards

Enhanced performance of app by profiling app using several Instruments

Project matriculated utilizing the Agile/SCRUM methodology

Used Instruments to fine tune the app performance and memory management.

Worked on implementing MessageUI.Framework, AVKit.Framework, Core Data Framework, UI Kit Framework, and AFNetworking.

Used MagicalRecord library with Core Data to clean up code and simplify fetches.

Used Atlassian tools such as JIRA and Applause to manage and keep track on progress of project.

Managed the iOS code base in GitHub using the GitHub interface and using Git Lab for continuous integration.

Magzter, Inc,

New York, NY

Aug 2012 – Feb 2014

iOS Mobile Application Software Developer

App Link: https://itunes.apple.com/us/app/revista-proceso/id932816415

The app allows the users to see news and receive periodically information about their favorites highlights.

Developed the app in Objective-C using Xcode.

Test Driven Development methodology to ensure every method was properly done and tested.

Worked in a team of 2 developers and 1 user interface expert.

Conducted frequent code review activities with the members of the development team.

Invoked RESTful web services for pulling down the latest information. JSON responses parsed using NSJSONSerialization.

Utilized GCD to load images in a background thread from consumed services to improve the user experience.

Used NSUserDefaults to save and retrieve application settings information.

SQLite integrated to persist user created information.

Worked with Apple Push Notification Service (APNS) to allow for users to be sent notifications to users about their favorites subjects.

Used XCTest framework for unit testing

Utilized Git version control tool as source control management system.

Worked with Scrum methodology to have a prototype to show every two weeks.

Hotels.com

Dallas, TX

Nov 2011 – Aug 2012

iOS Mobile Developer

App Link: https://itunes.apple.com/us/app/hotels-com-hotel-booking/id284971959?mt=8

When you’re ready to travel, take our app with you, after all, it’s your perfect travel companion.

Generated build using a MVC architecture.

Started developing e-commerce iOS app using Objective C.

Worked with Objective C and Cocoa framework, which includes UIKit Foundation and Core Location.

Used various view controllers such as: UITabBarController, UINavigationController and UIScrollView to build the user interface.

Created of various views, table views, customized views and popovers.

Worked with JSON for data exchange between client and server JSON data Serialization.

Used Cocoa Pods to manage dependencies.

Worked with iOS frameworks Core Data, Core Animation, Core Graphics, and Core Text on applications.

Implemented Auto-layout concept for the entire Storyboard and dynamically adjusted the height of the collection View based on the content.

Used TestFairy for scenario testing and worked with QA to make sure all issues were logged and resolved.

Worked through JIRA backlog to make sure app was rolled out without glitches.

AutoZone, Inc.

Memphis, TN

Jul 2009 – Nov 2011

Software Developer

AutoZone, Inc. is an American retailer of aftermarket automotive parts and accessories,

Prepared work plans and managed large-scale implementation projects

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

Created algorithms to output specific sequences.

Debugged scripts.

Designed and programmed new custom programs to automate select work functions.

Worked with C++, Java, CSS, XHTML, Oracle, MS Server, etc.

Modified software code of existing programs to optimize programs and/or add features/functions per departmental requests.

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

Automated workflows that generate monthly reports using Windows Task Scheduler.

Provided technical support for computer hardware, software, and IT network issues.

Education

North Carolina Agricultural and Technical State College – Masters

Computer Science and Engineer

North Carolina Agricultural and Technical State College – Bachelor Mathematics



Contact this candidate