Roberto Carretero Cantú
E-Mail: advii7@r.postjobfree.com, Phone: 442-***-****
CORE COMPETENCIES
iOS Mobile Application Development
Software Development Life Cycle
Project Management
Development/Configuration Tools
Impact Analysis & Testing
Requirement Gathering
Agile & Scrum
Swift Package Manager
iOS Libraries
SwiftUI
MVC, MVVM, MVVM-C
Software Design & Architecture
CoacoaPods
RESTful and SOAP services
Team Management
PROFILE SUMMARY
A goal-oriented professional with over 10 years of experience in the design & development of iOS Mobile Applications
Expertise in Swift, C, and Objective-C, Object-Oriented Programming techniques and APNS, NodeJS, React, HTML, and CSS
Able to design and develop rich UI/UX via programmatic means, XIBs, as well as through Storyboards
Skilled in working on Apple and third-party frameworks and tools for storing data persistently such as; CoreData, Documents Directory, NSUserDefaults, pLists, Settings Bundle, Codable Protocols, and the Keychain
Honed abilities in end-to-end development of mobile applications for multiple projects simultaneously from requirement specifications, planning, designing, testing, implementation, and configuration to documentation
Experienced in designing and implementing flexible solutions in Mobile IOS application Development using UIKit, SwiftUI, and Core Foundation with Cocoa touch
Proficient in implementing UI/UX with Storyboards, XIBs, AutoLayout constraints, and programmatic elements
Solid knowledge and personal experience with the Swift language; optionals, tuples, extensions, do try catch blocks, etc
Integrated RESTful and SOAP web service requests for parsing JSON and XML responses, respectively
Skilled in consuming RESTful and SOAP web services with AF Networking and NSURL Session
Persistent storage implementations using Core Data, SQLite
De-bugging techniques with NSLog, Breakpoints, LLDB and Instruments
Development experience with both MRR and ARC
Seasoned in Agile/SCRUM project management methodologies
Demonstrated skills in the use of databases such as SQLite and MySQL
Strong knowledge of Core Frameworks like, MapKit, CoreGraphics, CoreAnimation, UIKit, CoreLocation, AVFoundation, CoreData, CloudKit, CoreBluetooth, EventKit, and Social Framework
Expertise in MVC, MVVM, and MVVM-C design architecture, as well as OOP and POP patterns and concepts like delegation, protocols, notifications, and categories/extensions
Proficient in source control with Git and SVN and use of third-partyGUIclientssuch as SourceTree, Tower, and GitHub
Strong commitment to organizational work ethics, supporting organizational goals and the team
TECHNICAL SKILLS
Languages:
Swift, Objective-C, C, Python Assembly, React, NodeJS, HTML, CSS, JavaScript
Databases:
CoreData, Realm, UserDefaults, Key Chain,SQLite, NSCoding, NSKeyedArchiver, FileManager
Frameworks:
AVFoundation, AVKit, CocoaPods, AFNetworking, AlamoFire,
CloudKit, CoreBluetooth, MapKit, LocationKit, Common Crypto, AWS, Firebase, Message Kit, UIKit
Version Control:
SVN, GIT, SourceTree, Tower, Command Line / Terminal, GitHub, Bitbucket
IDEs:
XCode, Visual Studio, Android Studio
Architecture Patterns:
MVVM, MVP, MVC, VIPER, Coordinator
Project Management Tools:
JIRA, Confluence, KanBan, Redmine, Basecamp, Slack
Methodologies:
SCRUM/AGILE, BDD, TDD, Waterfall
Testing Methods:
Unit Testing, XCTest, Automated Testing, XCUITest, Quick, Nimble, Cucumber
Continuous Integration:
Jenkins, Travis, Hudson, TestFlight
Tools
Instruments, Analyzer, Accessibility Inspector, Charles Proxy, Postman,
EXPERIENCE
Sr. iOS App. Developer
Movies Anywhere, Burbank, California Jul’21-Present
https://apps.apple.com/us/app/movies-anywhere/id1245330908
Purchase from your favorite places*, and Movies Anywhere will bring your favorite movies together into one synced collection – for free.**
MORE ACCESS IN MORE PLACES
Create your free Movies Anywhere account and connect your digital retailers to bring your favorite movies together. Watch them on Movies Anywhere or across any of your connected digital retailer accounts.
Developed the iOS app for iPhones of Compact/Compact, Compact/Regular, and Regular/Regular Size Classes
Utilized Auto Layout in Xcode
Used Vary for Traits in Interactive Builder
Added features to support user customized contents collections and allow user to add, delete and reorder their own lists of desired contents
Utilized SwiftUI, Combine, and MVVM architecture to construct a modern solution and created custom layout for re-sizable grid, which places tiles within computed rectangles, using SwiftUI
Created and worked on POCs for experimental applications on tvOS
Utilized AVFoundation and AVKit to perform video streaming services
Migrated from Carthage to Swift Package Manager
Programmed in both Swift and Objective-C
Invoked RESTful web calls using Alamofire, RxSwift, and SwiftyJSON
Implemented “Clear play” to enable function to automatically skip scenes that may be uncomfortable for select audiences.
Enhanced continuous integration, adding XCUITests and unit tests in Jenkins continuous integration tool, and connecting automation flow from development to releasing
Configured SwiftL intto support custom formatting rules
Replaced Fabric with Firebase Analytics to get application live info
Monitored Crashlytics report and resolved critical issues immediately
Changed push notification third-party tools, improving consistency and cost of maintenance across different platforms
Added utility functions and common UI pieces to the code base that could easily be reused, keeping the app look consistent
Debugged using Charles Proxy and Postman
Utilized Instruments, Crash Logs, LLDB statements, NSLog statements, and Breakpoints to resolve various issues and bugs brought to the attention of the QA team
Added Localization to the iOS app to enable content tailored to a user’s language settings
Utilized keychain to store user passwords securely
Added touch-states to several buttons across the app which were missing them.
Sr. iOS Mobile App. Developer
NCR Aloha Mobile 16, Atlanta, GA Mar’19 – Jun’21
https://apps.apple.com/us/app/ncr-aloha-mobile-16-1/id1287520803
Aloha Mobile allows restaurants to easily and securely deploy mobile POS software technology for table server and quick server ordering and payment. With Aloha, you now have the choice to use traditional POS terminals and iOS devices within the same location.
Aloha Mobile enables your staff to spend more time with their guests and leverage guided selling on the mobile devices, resulting in better service, increased order accuracy and consistent up selling.
With Aloha Mobile, the order-to-service cycle runs more quickly, enabling you to serve more guests and shorten wait times to keep potential guests from walking out. Orders are more easily communicated from the guest to the kitchen or bar in a single step.
.
Gathered requirements, and interfaced with UI/UX designers and product owners to develop an attractive, user-friendly, customer-facing app
Worked with Swift and Xcode
Coded in Swift on iOS mobile in Xcode IDE, and made use of Storyboards, Interface Builder, and Instruments
Took a BDD testing approach working with testing frameworks such as Quick and Nimble
Completed extensive bug-fixing using NSLog statements, Breakpoints, LLDB statements, and Instruments
Worked with Local Notifications to notify users when certain events occur
Git Flow for branching strategy within GitLab as well as SourceTree and command line tools for Git
Used CocoaPods for third-party dependency management
Used a combination of Storyboards, XIBs, and programmatic approaches to creating UI
Regularly performed code reviews to ensure efficiency, readability, and maintainability
Integrated Firebase Crashlytics and analytics services to best track user usage and crash reports
Used Jenkins for continuous integration and continuous deployment
Mentored junior developers, teaching best practices and conducting regular paired programming sessions
iOS App Developer
KBB.com-New & Used Car Prices, Intuit, Irvine, CA, Sep’17– Feb’19
https://apps.apple.com/us/app/kbb-com-new-used-car-prices/id367353324
This app will provide you with information to help with researching a vehicle or disposing of the one you have.
You can find out what your current vehicle is worth, check prices for your next one, or find a dealer using maps and directions.
The app allows you to view pictures and videos, and it features a Twitter feed.
Used Swift and RxSwift using Xcode.
Interacted with the Backend team to display the correct data format in devices
Worked with Git to checkout the codebase, manage merges and commits, and update the codebase changes
Worked on RxSwift in coordination with MVVM to bind the model and view so that the view reacts to changes in the model.
Handled API Consumption with URLSession and data parsing into local Dictionaries with Codable protocol
Added authorization request “While in use” for users’ location services
Displayed information in table views with custom cells created with nib and custom subclasses
Used Core Data Framework for local storage purpose in SQLite
Performed build work in latest Xcode and Swift 5 using MVVM design pattern.
Used Objective-C and Cocoa Touch Framework to build the app, including UI Kit, Foundation, UI Navigation View, UI Tab Bar Controller, UI Table View and Storyboard
Implemented Bluetooth Charectristic, services Schema to keep track of Bluetooth services and perform extensive work with the low-level Bluetooth stack.
Integrate Rx AndroidBLE library to scan Bluetooth devices and communicate attributes.
Added push notification for changed location and login success.
Handled version control with GIT.
Worked on improving MapKit and Core Location services to reduce drain on battery life.
Leveraged Keychain to securely store sensitive user information.
Added animation between UI Views for a smooth transition and better user experience.
Worked with Storyboards, Size Classes, and Auto Layout constraints for graceful orientation handling and support for various iPhone and iPad devices.
Worked closely with a cross-functional team of testers and developers.
Continuously provide input to project management activities throughout the project life cycle, influencing scope, risk plan, project plan, issues, and status
iOS Mobile App. Developer
Truecoach Inc, Boulder, Colorado Jan’15 – Aug’17
https://apps.apple.com/us/app/truecoach-for-clients/id1439127794
TrueCoach is built for personalized fitness coaching. Check your workouts, communicate with your coach, and track your progress over time - in one easy-to-use app.
TrueCoach is the number one platform for coaches and trainers who want to manage more clients with less admin work. Our easy to use workout builder features a 900+ video exercise library, plus the ability to upload your own videos or even migrate them over from YouTube or Instagram directly. We want to help eliminate accountability issues which is why we built a robust internal messaging function so you can connect and engage with all of your clients on one platform. Spend more time doubling down on what you enjoy and that's engaging with clients, tracking and measuring their data, and delivering the highest level coaching experience possible.
Updated the project, frameworks and dependencies to latest version of Xcode
Worked on legacy UI elements changes and implemented the new design specs almost entirely programmatically
Worked with GCD to build a responsive UI and implemented background threads
Used Core Animations to enhance the user experience and generated build on MVVM architecture
Parsed out new objects from the Contentful API to present AV media content to the user based on region and locale
Performed work in an Agile style practicing Scrums and Sprints
Worked in different environments with normal GitFlow and used Bitbucket and Git for version control along with Sourcetree and Terminal
Used Delegates and NotificationCenter to communicate between classes and pass data between ViewControllers.
AVFoundation was used to handle audio play back and video streaming
Utilized CoreBluetooth to communicate with various devices
Applied Apple UI guidelines throughout the project
Fixed critical bugs in the booking flow and MapKit framework
Used DispatchGroups to perform multithreading operations in asyncronous tasks
Performed programming in Swift language
Used Instruments for profiling and memory management and GDB for debugging and worked with Xcode
Managed merges and commits on private Git servers with Jenkins CI for testing on devices
iOS App. Developer
Home Depot, Atlanta, GA Dec’12 – Dec’14
https://apps.apple.com/us/app/the-home-depot/id342527639
It’s a good time to be a doer.
DIY IN THE PALM OF YOUR HAND
Save time with The Home Depot app. Shop over one million products and find the info you need most.
SNAP A PICTURE, FIND WHAT YOU NEED
Don’t know what something’s called? Just snap a picture and let our Image Search feature tell you.
Dveloped the app using Objective-C and XCode
Worked with UIKit Framework for development and maintenance
Customized UI to create common styling guides and used it throughout the codebase.
Updated logos, colors, and fonts used throughout the applications to the new branding schemes provided
Worked with MVC architecture and eventually started work in cascading the application towards MVVM architecture
Utilized Github and SourceTree for source control
Regularly consumed RESTful API services with SwiftyJSON to have real-time data from the backend
Used Storyboards and AutoLayout constraints to create universal layout designs.
Implemented UITableViews and UICollectionViews to have an efficient user experience integrated into the Products and Product Detail Pages
Enhanced and optimized map functionality using MapKit, CoreLocation, and MKAnnotations
Identified defects and worked with the QA team to resolve defects as per feedback from the QA team
Conducted XCTest for unit testing with a TDD approach
Coordinated with the team members to develop a bug-free application.
Collaborated with offshore teams using the Scrum methodology.
ACADEMIC DETAILS
Universidad Regiomontana – Facultad de Ingeniería y arquitectura, Ingeniero Industrial y de Sistemas
Universidad Autónoma de Nuevo León – Facultad de Ingeniería Mecánica y Eléctrica Técnico Desarrollador de Software