Post Job Free
Sign in

ios

Location:
Cincinnati, OH
Posted:
September 24, 2020

Contact this candidate

Resume:

Daniel Garibay

Profile

Sr. iOS Developer

Phone

513-***-****

Email

************@*****.***

Experienced, motivated professional in both Swift and Objective-C with over 7 years in the mobile development field, including Swift experience that dates back to when Swift was released

Experience working with design patterns such as Singleton, Delegation, Observer, Broadcaster, MVC, MVVM, etc.

Worked in both Swift and Objective C languages

Utilization of multithreading techniques via NSOperations and Grand Central Dispatch

CocoaPods experience with third party libraries such as Google Maps, Facebook, Alamofire, Twitter

Security conscious developer with tools such as Keychain Services and encryption

Expert bug hunter and squasher

Led and managed team members across multiple projects through mentorship, one-on-one meetings, code reviews, and team management, including experience working with remote teammates

Strong knowledge of development lifecycle including planning, research, data modeling, API endpoint design, and implementation of eye catching UI

Source control management achieved through multiple platforms including Microsoft Visual Team Services, Git, Github, Bitbucket

Consumption of APIs with Alamofire and custom networking layers built on top of URLSession

Experience working in an Agile development environment with implementations such as Scrum

Liased with stakeholders to explain development process, give estimates, and advise on best practices

Experience with Test Driven Development, XCTest, unit testing, integration testing, and UI testing

Working knowledge of all aspects of the iOS SDK including the major frameworks such as MapKit, Core Location, NotificationCenter, Core Data, AVFoundation

Memory management knowledge including Automatic Reference Counting, and MRR

Advanced knowledge of handling JSON parsing through JSONSerialization, Codable, and SwiftyJSON

Persistence experience with tools such as Core Data, Realm Database, NSCache, Keychain Services, Plist, UserDefaults

iOS Biometrics experience with TouchID and FaceID

Programmatic, Xib and Storyboard UI experience with Auto Layout and Size Classes to ensure appropriate UI layout for different device sizes

Consistent code style that keeps up with best practices and includes appropriate documentation including markdown function documentation

Skills

Teamwork

Scrum

Git

Jira

Languages

Swift

Objective-C

Tools

XCode

Keychain Services

Instruments

API Consumption

Custom UI

Cocoapods

Accessibility Inspector

Frameworks

URLSession, XCTest, UICollectionView, Xibs, UITabBar, Size Classes, Mapkit, Push Notifications, UITableView, Stack Views, UIStoryboard, UIScrollView, NSCache, NSOperations, UserDefaults, Grand Central Dispatch, Core Data, Facebook API, Core Location, Authentication, Autolayout

Techniques

Unit Testing

Location Management

Singleton

MVC

Protocol

JSON Parsing

Data Persistence

MVVM

Delegation

Weak/Strong/Unowned

Constraints

Closures

Experience

Senior iOS Engineer

Project: Mobile Shopping

URL: https://apps.apple.com/us/app/kroger/id403901186

An app to help the user with their shopping, allowing them to choose the option of pick up or delivery, offering coupons only for those clients with an account. The users can update and confirm their information from the app and also keep a record of their purchases.

Use Xcode to create and add new UI views in Objective-C and Swift.

Development following the MVVM architecture.

Creation of new View Controllers using Auto Layout and Size Classes.

Migration of legacy code from Objective-C to Swift.

Utilized custom UI classes to centralize common behaviors.

Used Swift to facilitate and debug defects.

Involved in various SCRUM ceremonies, such as dauly standups to update status og features and defects

One on one meetings with manager to report sprint advances.

Use of customized frameworks to handle network calls and JSON parsing.

Utilized Git as the version control system.

Participated in code reviews on GitLab to ensure highest quality code.

Creation of defects and follow up of stories via JIRA.

Biweekly sprint planning’s to specify the scope of the work that can be done.

Strong communication with Android developers to ensure feature parity between the iOS and Android apps.

Modifications of background colors in storyboard and programmatic view controllers to enable the app to be compatible with iOS dark mode.

Use of a custom network framework to send and track analytics data of the app usage.

Utilized Charles proxy to test analytic data send from the app to Kroger.

Use of software of code review like Visual Studio Code, Sublime Text and XCode to solve merge conflicts.

Use of Sourcetree to handle the change between branches and creation of new branches, push new commits and pull branch updates.

Use of localized strings to show different messages and content on each brand from The Kroger Co based on the language the user set for the device.

Implementation of protocols to keep an order of the same feature in different view controllers through the app.

Testing of new features using XCTest, using dependency injection to simulate different scenarios.

Use of Accessibility Inspector to ensure that the app gives the correct Accessibility Identifiers and Labels.

Client: Kroger

Location: Cincinnati, OH

July 2019 – Present

iOS Architect

Project: Music Streaming

URL: https://itunes.apple.com/us/app/pandora-music-podcasts/id284035177?mt=8

Client: Pandora Radio

Location: Oakland, CA

Dec 2017 – June 2019

An app to allow users to stream music. Gives recommendations according to listening history and user selected genres and favorited songs.

Led team that maintained and added features to the main view of the app which contains recently played stations and suggested stations as well as browsing

Implemented extension on UIImageView that utilized the networking layer to asynchronously fetch album art to display in custom UITableViewCells

Built and modified fetch functions to obtain updated information from Pandora proprietary RESTful APIs on the users preference, recently played stations, and suggested stations

Built and maintainedPOST method to send user selections, favorites, played stations, etc. to server to enable syncing between devices and to enable data analyzation to enhance further the ability to make relevant suggestions to the user

RESTful API fed data by devices connected to account to process with proprietary algorithms to build a taste profile and help users discover new music

Custom implementation of UITableView with customized UIButtons and multiple customized UITableViewCells

UISegmentedControl implemented to provide easy sort order for main view by most recent, or alphabetically

Protocols and delegation employed to communicate and pass information between UIViewControllers

Custom UICollectionViews, UICollectionViewCells to provide visually appealing browsing experience of podcasts, genres, artists, decades, new music, moods and activities, top artists and stations, and rising artists

UIViewController subclassed and customized as a detail view to hold UITableViews and UICollectionViews to provide the ability to expand sections when browsing, as well as UINavigationController to provide navigation back to the browsing view

Guided, mentored, and led team consisting of senior and junior developers and interns

Team leadership responsibilities consisted of one-on-ones, code reviews, best practices, as well as taking lead in Scrum meetings

Agile methodologies implemented with Scrum, led retros, plannings, standups, and groomings

Coordinated collaboration and code versioning via Git, bitbucket, JIRA

Lead iOS Developer

Project: Trulia Rentals

URL: https://itunes.apple.com/us/app/trulia-real-estate-find-homes/id288487321?mt=8

Client: Trulia

Location: San Francisco, CA

Jun 2016 – Dec 2017

An app to help users discover the perfect home. It includes features to get a feel for the neighborhood through crowdsourcing local insights and map overlays.

App Details:

Senior lead developer for search functionality in app which includes the ability to filter results based on price range, keywords, number of bedrooms and bathrooms, property type, etc.

Utilized delegation and protocols to facilitate communication between the filter UIViewController and the search ViewController to handle the filtering mechanism for searches

Alamofire employed to make network calls to proprietary API for synchronization and data retrieval

Employed Google Maps SDK as maps provider using CocoaPods as dependency manager, in conjunction with Core Location and reverse geocoding to get user location

Utilized a custom implementation of GMSMarker to place clickable pins onto the map to display the location of available properties

Connected with 3rd party services to provide information on neighborhoods, crime rates, etc. and create layers for the map to display this data

Crowdsourced neighborhood insights from local users to build up propriety database and add business value

Lead team in the the decision making process for things such as what architecture to use for the app

Took lead ensuring meetings stayed on track and were productive

Responsible for communications with non-technical stakeholders such as development time, complexity of new feature requests, etc.

Liaised with design team on feasibility of UI as designed and discussed things such as compliance with Apple’s Human Interface Guidelines

Sr. iOS Developer

Project: Mobile Banking

URL: https://itunes.apple.com/us/app/bank-of-america-mobile-banking/id284847138?mt=8

Client: Bank of America

Location: San Francisco, CA

Apr 2015 - May 2016

A mobile banking app to connect users to the services that Bank of America provides such as depositing checks, sending money, viewing balances, transaactions, and credit limit. Provides alerts and sync to Apple Watch

App Details:

App built largely using Swift 4 with some legacy Objective-C code

Core Data, Keychain Services, and UserDefaults utilized to provide persistence

Xibs and programmatic UI were largely used, in part to make the UI more flexible, and in part to avoid merge conflict

Collaborated with several team members that were located remotely

Code base split pretty evenly between Objective-C and Swift

Guided efforts of team to slowly migrate legacy code to Swift in between bug-fixing and coding new features

App integrated with Bank of America APIs to provide sync capabilities and retrieve relevant data

Fine tuned fetch functionality to provide consistency across methods to interface with API endpoints

Combed through codebase to implement documentation to aid in code maintainability

iOS Mobile Developer

Project: NYTimes

URL: https://itunes.apple.com/us/app/the-new-york-times/id284862083

Client: NYTimes

Location: New York, NY

Aug 2013 - Mar 2015

An application that enables users to read articles from The New York Times newspaper on their smartphone.

App Details:

Worked in Objective-C Codebase

Guided effort to move from an MVC architecture to a MVVM

Migrated code from individual views to reusable components built with Xib and programmatic techniques

Highly customized UITableVeiw for news feeds utilizing Auto Layout, Size Classes, and sub-classed UITableViewCells

Worked in a time sensitive manner to resolve bugs to provide higher customer satisfaction to consumers

Subscription based service to unlock access to all articles

Custom animations to transition from feed to news article and from feed to menu and back to provide attractive, functional, intuitive UI

Due to the size of the app, and the large menu, many network calls customized to provide the content that the user desires

Utilized URLSession to consume propriatary API from NYTimes

iPhone Developer

Project: Evernote

URL: https://itunes.apple.com/us/app/evernote/id281796108?mt=8

Client: Evernote

Location: San Diego, CA

Dec 2012 - Jul 2013

This app is like a digital notebook collection. Users are able to create digital notebooks, notes, etc. and sync them with the other devices where they have logged into Evernote. It enables users to have their notes and thoughts accessible across all their devices.

App Details:

Worked in Objective-C codebase to preform maintenance and implement bug fixes

Offline experience provided through implementation of Core Data for model objects and UserDefaults for things such as user settings

Master Detail oriented UI design achieved through the customization and subclassing of components such as UiTableView, UITableViewCells, and UIViewController

Worked extensively with UITextView, UILabel, UITextField and other UI elements and controls

UITabBarController and UINavigationController employed to provide easy navigation between various components and views throughout the app

Use UISearchController to enable users to quickly find the content they are looking for

Google sign-in used to provide rapid account creation and sign in and to sync data

Proprietary API with RESTful services accessed to sync data across devices

User Defaults for storage of things such as user selected settings

Implementation of Keychain Services to store security sensitive information such as login credentials and security tokens

Utilized URLSession to connect app with Epicurious backend services such as RESTful API which provided access to proprietary data

Other Skills/Experience

C based languages and compilers (C++, Matlab)

Programming of FPGA boards (VHDL language)

Programming of Microchips and AVR’s (assembly language)

Programming CNC machines for tooling (MasterCAM)

Basic queries to databases (MySQL)

Top Enterprise (October 2014 to April 2015)

PLC programming for elevator control (Ladder language/diagram)

Electronic developments to update and replace of analog sensors (Arduino, ChipKit)

Candy Technologies (May 2015 to September 2016)

Development with PLC for replacement in conveyors

Basic system updates in automated production lines

Digital filters development for images treatment

Tests with fingerprint, iris and face recognition SDK’s

Education

Instituto Politecnico Nacional

Bachelor of Engineering in Mechatronics



Contact this candidate