Resume

Sign in

ios

Location:
Bentonville, AR
Posted:
July 28, 2021

Contact this candidate

Resume:

Fred Cruz – Sr. iOS Developer

408-***-****/ adj6kd@r.postjobfree.com

PROFESSIONAL SUMMARY

Sr. iOS developer with 8years of experience in native iOS mobile development with 8 applications published into the app store and adept in Objective C and Swift

Led Agile environments doing bi-weekly demo meetings and using client’s feedback to prioritize features to deliver, creating a transparent work environment that improved the planning and review sessions for the Agile team

Mentored junior iOS development teams in coding best practices, architecture design patterns and Apple frameworks, resulting in a better developer productivity workforce that reduced the amount of unsound code generated by junior developers and maintaining a documented and structured development life cycle

Led the complete mobile app feature life cycle, including the iterative process of planning, designing, developing and testing, minimizing the refactoring process, helping to deliver features on time, in addition to considering client needs and team qualifications

Well experienced in reducing the amount of time needed to design the core code base of the project using architecture design patterns like Singleton, Delegation, Notification and Observer, resulting in a faster problem-solving environment

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 in customer app retention

Implemented persistent class managers to efficiently save data on the user’s devices, using Core Data, User Defaults and SQLite, avoiding app reliance on network connectivity, minimizing the odds of offering a sluggish and unpredictable user experience.

Skilled in ensuring safe sensitive data storing using Keychain, preventing the data being steal from the user’s device and implementing Touch ID to avoid identity theft, boosting app security and reducing dependencies in third party encryption libraries.

Adept at reducing bugs in new and existing application features implementing a TDD approach, using XCTest, speeding up the development process by eliminating sound code.

Implemented a multithreading manager class using GCD and NSOperation to improve performance and concurrency of the app.

Skilled in memory management using ARC and MRR to ensure the device’s memory is efficiently used along the life cycle of the app, using Xcode profiling tools to detect leaks, allocations or zombies and avoiding the creation of energy-consuming applications

TECHNICAL SKILLS

o3D Touch

oAdobe Analytics

oAgile

oAllocation

oApple Human Interface Guidelines

oApple Push Notifications

oAutolayout

oAutomatic Reference Counting

oAVCaptureSession

oAVFoundation

oBitbucket

oCallKit

oCAShapeLayer

oCIFilter

oCIImage

oClosures

o

oCocoapods

oCocoaLumberjack

oCocoa Touch Framework

oContinous Integration

oCore Animation

oCore Data

oCore Location

oCrashlytics

oDelegation

oFace ID

oFirebase

oGameKit

oGCD

oGit

oGithub

oGoogleMaps

oGraphQL

oHereMaps

oJenkins

oJIRA

oJSONSerialization

oKanban

oKey Value Coding

oKey Value Observer

oKeychain

oLAContext

oLeaks

oMapkit

oMemory Retain Release

oMVC

oMVVM

oNotification

oOAuth2

oObjective C

oPullUpController

oPush Notifications

oQuick and Nimble

oREST

oSingleton

oSize Classes

oSlack

oSSL

oStarscream

oStoreKit

oStoryboards

oSwift (1 – 5)

oTDD

oTouch ID

oTwilio

oUICollectionViews

oUITableViews

oURLSession

oUser Defaults

oWebkit

oXcode

oXCTest

oXIB

oZombies

EXPERIENCE

Sr. iOS Developer – Walmart, Bentonville, AR

March 2021 – Current

Project: Walmart Wellness App

https://apps.apple.com/us/app/walmart-wellness/id1539504095

Walmart Wellness app makes it simpler to take care of yourself and your family. Easily manage medications, keep track of your health, and store important information in a single, easily accessible place.

Part of Agile dev team involved on the release of Wellness 2.0.

Using Scrum with Jira cards and a Kanban Board.

Migrating Objective-C code to Swift 5 code.

Removing unused modules in the app.

Removing unused code in the app.

Using CocoaPods to load all third-party frameworks and manage dependencies.

Utilizing Core Data for persistence.

Modifying existing libraries to use custom components such as personalized activity indicators.

Creating new screens for the new flows.

Creating App Review Widget to enable adding reviews on the App Store.

Creating Connect to Pharmacy Widget with different business rules for the user.

Creating Digital Vaccine Record Widget to get the record if you received your vaccines at Walmart.

Creating COVID vaccination card to remember the vaccine was available at Walmart.

Creating new screens to display if you detect that the user is already using Glass Walmart Application (you can decide if use those credentials or not).

Creating Refill Ready widget to inform the user about medications ready for refill once the user is connected to Walmart Pharmacy.

Performing various UX design and programming alterations to improve the user experience.

Using GraphQL to execute queries and get information from backend.

Converting information from backend to present as PDF to the user.

Applying Quick and Nimble unit test framework and writing unit tests.

Integrating Firebase Crashlytics and analytics services to best track user usage and crash reports.

Applying CocoaLumberjack logging framework to the iOS development and testing process.

Sr. iOS Developer – US Bank, Denver, CO

February 2020 – March 2021

Project: US Bank Access Online Mobile

https://apps.apple.com/us/app/capital-one-mobile/id407558537

U.S. Bank Access Online Mobile is designed for commercial card customers who want secure, anytime access to their U.S. Bank Corporate Travel, Purchasing, or One Card accounts.

Integrated Swift 4 into Objective-C codebase using the XCode IDE

Utilized MVC for the app architecture

Implemented account search using UITableViews and UINavigationController to display results and details of the found accounts, including the status of the account and declined authorizations

Implemented ability to control credit and single purchase limits from the account details screen

Implemented new menus for program admins using SWRevealViewController library while retaining the original functionality for cardholder users

Implemented the ability for hybrid users to switch between cardholder and program admin roles

Utilized VersionOne for Agile project management

Implemented analytics using Adobe Analytics to track user interaction with the app to help inform business decisions

Used Storyboards to implement the UI design retrieved from InVision

Integrated various APIs into the app using the Firebase SDK

Participated in various Agile SCRUM ceremonies, such as sprint planning and daily standup meetings

Sr. iOS Developer – Capital One, McLean, VA

April 2019 – January 2020

Project: Capital One Mobile

https://apps.apple.com/us/app/capital-one-mobile/id407558537

Access your accounts lightning-fast by using Face ID, Touch ID or SureSwipe®, personalize your app with a greeting name and profile picture — even check and monitor your credit score for free with CreditWise®. Also, you can now monitor your Credit Card purchases in real time with Instant Purchase Notifications. Get all the details you need anytime your card is used to make a purchase – just an extra layer of security!

Led the implementation of Walmart Credit Card release

Implemented the redesign for the paperless flow in the app

Created new tiles using Xibs that were shown to the user based on information in JSON files

Replaced table views with collection views in select locations where the app needed the extra control provided by collection views

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

Led the charge in fixing test suite using the KIF framework

Worked on removing the KIF framework and migrate to using the Robot design pattern with XCTest framework

Migrated the deeplinking implementation from Routekit 2 to Routekit 3

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

Refactored analytics implementation to make the implementation easier to use

Refactored implementation for localization for ease of use

Fixed issues with VoiceOver to satisfy accessibility requirements

Sr. iOS Developer – Domino s Pizza, Ann Arbor, MI

May 2018 – March 2019

Project: Driver’s App

https://itunes.apple.com/us/app/dpz-da/id1423131665?mt=8

Mobile application for franchise drivers to self-manage pizza delivery, supporting route management, manage and track delivery time, provide turn-by-turn directions, and improve customer engagement and store communications. Additional features include real-time order/delivery rearrangement, invisible driver mode (no order receipts), and tip tracking.

Built in Swift 4 using Xcode 10

Liaised with business and technical stakeholders to proposed new designs and best practices and implementations, including reactive design patterns, to improve app performance and usability for clients

Created new screens, toolbars, and prototypes UI/UX redesign

Redesigned call management screens using UI mockup designs for calling such as speakerphone, mute, keypad, hangup, customer names, call start, call duration, and Call 911

Implemented drawer screen to display call, order, and store information with custom controls using the PullUpController third-party library

Leveraged HereMaps and Google Maps APIs to redesign UI/UX for map and location features

Implemented calling features with Twilio and CallKit with business logic to correlate information to UI

Added tracking for app state, user actions, and error-reporting with Adobe Analytics

Managed third-party dependencies and frameworks using both Carthage and CocoaPods

Worked on new Tip Tracker feature for visualization and custom interaction for drivers to save and modify cash tips

Improved performance of network requests with internal API for driver informationa and requests

Collaborated with back-end team to improve API transactions with their own Java SDK and liased for minor API changes

Cooperated with development team to performed testing of new features, UI, and changes

Worked with QA team to improve testing with automation throughout app using Appium

Reviewed analytics information to determine opportunities for app improvement and proposed suggestions to team and stakeholders

Performed code reviews with pull requests for new features

Sr. iOS Developer – Coinbase Inc., San Francisco, CA

January 2017 – May 2018

Project Title: Coinbase

https://itunes.apple.com/us/app/coinbase-buy-bitcoin-more/id886427730?mt=8

Application for storing bitcoin securely in a bitcoin wallet, users can buy or sell bitcoin directly from the app, this application let users register bank accounts, PayPal, credit or debit cards to make transactions, this application lets users to send money to friends or shop in stores that accept bitcoins, users can keep track of bitcoin price changes, users can send bitcoin via email or QR code.

Worked hand-by-hand with team’s product owner, deciding the best technologies to use to fulfill the client requirement and delivering responsibilities to the junior developers of the team, achieving a boost in productivity

Mentored junior developers in coding best practices, architecture design patterns and Apple Frameworks, reducing the amount of unsound code generated by the development team

Implemented MVVM for the architecture of the project, using Model for business logic and ViewModels for binding the information with the View, this for generate an easy to test code foundation

Worked with Coinbase Wallet API to create a new bitcoin wallet and get information about existing wallets such as balance and transaction history

Used OAuth2 protocol to securely store bitcoin private keys information, assuring user’s identity with a two-factor authentication process

Experienced using Wallet API to create user accounts and send money from primary accounts to specific account address or email address, configuring the transaction’s amount and currency

In charge of migrating PayPal iOS SDK to PayPal Express Checkout in order to simplify the checkout experience for users, letting them use their PayPal balance, bank account or credit card to buy bitcoins directly in the app

Experienced using Coinbase Commerce API in order to dynamically create charges, generating payment addresses on user’s behalf, this allows to continuously monitor the blockchain to detect when payments are made

Used Starscream to provide websocket connectivity in order to connect with GDAX API to guarantee real-time feed for bitcoins trades activity and bitcoins price changes

Implemented AVFoundation and AVCaptureSession in order to create a QR scanner to generate account addresses using AVCaptureMetadataOutput, this for allowing users to send funds using QR codes

Experienced working with TLS and App Transport Security in order to allow the app to connect to higher version of TLS servers and protect the user’s sensitive data traffic

Created a custom chart view using CAShapeLayer and CGAffineTransform in order to generate an IBDesignable class that was implemented for the developers of the team as the main view to create bitcoin charts

Made use of XIB, Constraints and Size Class in order to create decouple views, improving the user experience by supporting different screen sizes

Implemented a TDD methodology using XCTest to create Unit and UI test cases, increasing the security level of the app by adding test cases of the critical bitcoin transactions

Sr. iOS Developer – New York Community Bank, New York, NY

July 2015 – December 2016

Project Title: NYCB Mobile

https://itunes.apple.com/us/app/nycb-mobile/id972805390?mt=8

Application that provides access to account transactions and balances, this application implements APNS in order to send real-time account alerts, users can transfer money between NYCB accounts, this application implements a “Remember Me” function for easy login, this application implements e-Bills in order to schedule payments, it also implements Popmoney to send and receive money using an email address or mobile number, this application uses Core Location in order to locate nearest ATMs using user’s current location.

Led QA meetings to review releases provided to the client, and developed policies and procedures related to maintain high levels of productivity and customer satisfaction

In charge of refactoring the architecture of the project from MVC to MVVM, by organizing the project into small and logically pieces of code, separating concerns between models, views and view models

The project was developed using Swift

Implemented a Network Manager using URLSession in order to manage NYCB API requests, allowing the application to receive user’s transaction and balance information

Made use of JSONSerialization in order to create the model objects for the user session, balances, transaction and accounts, resulting in the model objects foundation for the entire project

Worked directly in the “Remember Me” feature of the app, used Keychain in order to store user credentials securely in the device and implemented Touch ID and Face ID for the login of the app, letting the user to authenticate faster

Implemented e-Bill API in order to schedule payments, maximizing user benefits by reducing data management and enabling self-service account

Used Apple Push Notification Services (APNS) in order to send account alerts to the users, boosting the communication security between in-app information and NYCB cloud services

Made use of GCD in order to create an asynchronous network layer to communicate the app with Popmoney services and securely send and receive money using TLS and App Transport Security protocols

Implemented a Core Location manager in order to locate nearest ATMs based on the user current location

Worked with Mapkit to show Overlays and Annotations in order to indicate the faster route and points of interest

Designed and created custom XIB to show user account details in customizable table views and table cells, working directly with constraints and size classes to ensure UI reusability

Used Xcode profiling tools in order to fix zombies, leaks and allocations, resulting in an app that consume memory resources efficiently and has a balance between performance and battery life

In charge of managing changes made to the code of the project, implementing tools like Jenkins and GIT, allowing the developers of the team to switch back and forth between different project versions using easy terminal commands

iOS Developer – Zom LLC, Las Vegas, NV

September 2014 – June 2015

Project Title: Zom Mobile Messenger

https://itunes.apple.com/us/app/zom-mobile-messenger/id1059530167?mt=8

Chat application that let users to connect with friends without phone or email registration, it enables friend code sharing using QR codes, this application manages voice messages, the application implements stickers that can be share across different apps.

Worked directly in the login of the app, implementing User Defaults to validate the user session by sending to the server a unique HTTP post request

Responsible of implementing a NSMutableURLRequest to encode a post request and share user credential between the app and the company’s network layer

In charge of validating the client TLS certificate by storing the public PEM key locally in the device and initializing certificates with contents of file in order to establish a trust connection with the server

Used AVAudioPLayer and AVAudioRecorder in order to play and record sound files, being able to reproduce audio of any duration and in any audio format available in iOS

Implemented Alamofire in order to upload audio files to a server using a multipart form data technique, allowing the application to upload heavy audio files asynchronously without affecting the UI

Worked directly in the UI of the app, implementing an UITabBarController and an UINavigationController achieving an easy app navigation and friendly user experience

In charge of configuring the push notifications’ content-available property in order to make notifications visible even when the application is running in the background, letting users to receive messages when they are directly or indirectly using the application

Developed an UIImage extension to download images in a background thread, downloading newer stickers directly from the server

Implemented UIImagePickerController and UIImagePIckerControllerSourceTypeCamera in order to access to the device’s camera, allowing users to take pictures directly from the app

Made use of UIImagePIckerControllerSourceTypePhotoLibrary in order to access to user’s camera roll and attach images to messages by controlling the image selection behavior with UIImagePickerController delegate

iOS Developer – Priority Pass LTD, Dallas, TX

June 2013 – September 2014

Project Title: Priority Pass

https://itunes.apple.com/us/app/priority-pass/id406878019?mt=8

This free app is designed to assist Priority Pass members in finding an airport lounge anytime, anywhere by searching Priority Pass database of over 700 lounges worldwide. It allows users to search for a lounge by typing city or airport name as well as by scrolling through lists.

UIControls appearance customization using programmatic statements, this included: UIButoons, TabBar, TableView, UIViews, UIImageViews and UILabels

Use of core location to determine the nearest lounge to the user

RESTful web service consumption using NSURLConnection with XMLParsing to request lounges location from the database

Used Geocoding and reverse geocoding to determine the address of the location and vice versa

Stopped CLLocationManager when the app was moved from foreground to background to save battery

Singleton SQLite implementation to save the favorites and the most recent visited lounges

Backtracking of the application using NSLogs, Breakpoints and Xcode tools to trace initial declarations

Software Developer – AT&T México, Mexico, MX

April 2010 – May 2013

Developed a System called “Administrador de Contenidos” to create multimedia content to display in the CISCO screens of all different locations of AT&T México, the back was developed using Java 8, Spring 5, Spring MVC 5 and Hibernate 4 to persistence layer and the front was build using HTML5, JQuery, Javascript and CSS

Developed a System called “Hablalo” to manage information about complains about internal employees, the back was developed using Java 8, Spring 4, Spring MVC 4 and Hibernate 4 to persistence layer and the front was build using HTML5, JQuery, Javascript and CSS

Developed a System called “Tu Zona RH” that is a portal managed by the Human Resources Area to put news, information, discounts, events and important things for all the employees of AT&T Mexico, the back was developed using Java 7, Spring 4, Struts 2 and Hibernate 4 to persistence layer and the front was build using HTML5, JQuery, Javascript and CSS

Developed a System called “Nominas Confidenciales” to manage the roster information of higher positions of AT&T Mexico like VP s and CEO, the back-end was developed using Java 8, Spring 4, Spring MVC 4 and Hibernate 4 to persistence layer and the front was build using HTML5, JQuery, Javascript and CSS

EDUCATION

Masters Degree in Software Engineering – Universidad del Pedregal

Bachelor of Science in Computer Systems and Telematics – Universidad del Pedregal



Contact this candidate