Enrique Mendez
Senior iOS Developer
510-***-**** **********************@*****.***
Profile Summary
•Over 11 years’ experience developing mobile based native iOS applications for iPhone and iPad and 3 years in React Native.
•5 apps published to Apple Store.
•iOS work includes application architecture and software development.
•Skill programming in Swift and Objective-C.
•Skill with Reactive frameworks such as RxSwift and Combine.
•Extensive experience with design patterns such as MVC, MVVM, MVVM_C, MVP, VIPER, Singleton, Delegation, Observer subscriver, Notifications, Adapter, Factory, Façade, Publisher subscriber, Builder.
•Experience with SwiftUI.
•Experience working with Core Data and Realm 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 UserDefaults, Keychain, and Archiving.
•Experience with and Git for managing versions control.
•Worked in environments with continuous integration tools such as Jenkins, Azure, Fastlane.
•Experience with Test Driven Development(TDD) both UI and Unit test using XCTest framework.
•Experienced in working with SQLite Database, Google Maps API and Apple MapKits, GPS Location, In-app billing, Push Notifications.
•Experience in following and implementing all Apple privacy guidelines for personal user data.
•Strong knowledge in all phases of Software Development Life Cycle (SDLC) process.
•Experienced in implementing multi-threading using both Grand Central Dispatch (GCD) and OperationQueue, Structured concurrency using Async Await.
•Experience in integration of services using RESTful and SOAP Web Services.
•Hands-on experience with Frameworks such as SwiftUI, UIKit, MapKit, Speech, AVFoundation, CoreData, CoreLocation, XCTest, QuartzCore, Crashlytics, Core Bluetooth, Core Graphics, and CoreMotion, StoreKit, VisionKit, ARKit.
•Proficient in managing provisioning profile and certificates.
•Expericed in using SwiftUI property wrappers, view modifiers and view builders.
React Native
•Implemented react UI components using JSX ans stylesheet.
•Created cross functional react native apps using java script/ JSX, Type Script.
•Comfortable with States, Props, Class/functional/React Hooks components, stylesheet, Flex,
•Used react native hooks like useState, useEffect, useContext, Custom hooks.
•Expert in state management using context API and Redux and MobX.
•Used Jext and Detox for unit and end to end testing.
Technical Skills
•Project Methodologies: Agile, Scrum, Test-Driven Development (TDD), Continuous Integration (CI/CD)
•Project Tools: Jira, Confluence, Trello, Slack
•Development Methods: Categories, Blocks, Delegation, Notification, Push Notification, Localization, Extensions
•Architecture and Design Patterns: MVC, MVP, MVVM, VIEPR, KVC, KVO, Delegates, Builder, Facade, Adapter, Singleton, Proxy, Visitor, Bridge, Decorator, Interpréter, Mediator, Observer
•IDEs: Xcode, Eclipse
•UI Implementation: SwiftUI, Storyboards, UIView, Views and View Controllers, AutoLayout, Interface Builder, XIBS, Size Classes, CALayers, Adaptive Layout
•Programming Languages: Swift, Objective-C
•Databases: Core Data, SQLite, SQL
•Frameworks: Reactive-X (RxSwift, RxCocoa, Combine), Firebase, UIKit, SwiftUI, CoreLocation, ARKit.
•RESTful Web Services: AlamoFire, JSONDecoder, AFNetworking, NSJSONSerialization, REST, SOAP, JSON, XML
•Threading: GCD, Operations, Async Await, Actors,
•Code Repository: GIT, GitHub, BitBucket, SourceTree
•Profiling: Instruments, Time Profiler, Allocations, Leaks
•Testing: Xcode, XCTest, LLDB, Breakpoints, Automated Testing, TestFlight, Unit Tests
Professional Experience
Wells Fargo
San Leandro, CA – 05/2023 – Present
Senior iOS Mobile Developer
https://apps.apple.com/us/app/wells-fargo-mobile/id311548709
Project Summary: Initially, I was tasked with transitioning the app's navigation from webviews to native screens. Originally, we used modal presentation to display these screens. However, as features were being accessed through various entry points such as Ulinks and other areas, we shifted our approach to using a navigation stack to manage all forward navigations to native screens.
Subsequently, I was assigned to help maintain the Account Details page. This involved enhancing existing features and adding new ones to improve the overall user experience.
Responsibilities:
•Determine what specific data and information are necessary for the feature destination to display all required content accurately.
•Identify and integrate relevant data sources needed to gather the required information.
•Demonstrated expertise in using Xcode IDE for iOS application development.
•Developed numerous iOS applications using Swift, emphasizing clean, maintainable, and efficient code.
•Ensure the accuracy and completeness of the data before using it for display.
•Ensure that the information is displayed in a user-friendly manner, taking into account layout, readability, and user navigation.
•Utilized advanced Swift programming techniques such as generics, protocols, and closures to create reusable components.
•Create mock data sets that represent a wide range of scenarios, including edge cases, to ensure comprehensive testing.
•Demonstrated expertise in utilizing Cocoa Touch framework to develop iOS applications, leveraging its core components and APIs.
•Integrate mock data into unit tests to validate the functionality and performance of the feature.
•Established CI/CD pipelines using CircleCI to automate build, test, and deployment processes for iOS applications.
•Develop automated unit tests using mock data to streamline the testing process and improve efficiency.
•Regularly update and maintain mock data and tests to reflect any changes in requirements or data structures.
•Design and develop a reusable navigation component that can be used across different entry points within the application.
•Migrated legacy UIKit codebases to SwiftUI for modern interface design.
•Ensure seamless integration of the navigation component with various features and pages.
•Maintain consistency in navigation patterns to provide a uniform user experience.
•Thoroughly test the navigation component to ensure it works correctly in all intended contexts and entry points.
•Implemented MVVM architectural pattern to structure iOS applications, enhancing code organization, testability, and maintainability.
•Designed and implemented responsive and adaptive user interfaces using SwiftUI.
•Test different navigation routes leading to the same feature to ensure consistency and functionality.
•Ensure that the webview displays correctly regardless of the navigation route taken.
•Verify that the native information corresponds accurately to the information displayed in the webview.
•Managed projects effectively using Xcode, including setting up targets, schemes, and configurations.
•Ensure the navigation and webview work seamlessly across different devices and platforms.
•Utilized Combine framework to streamline data flow from the account model to the UI, particularly beneficial for handling frequent or asynchronous data updates.
•Collaborated with subject matter experts to ensure that the implementation aligns with project requirements, optimizing data handling efficiency and user experience within a dynamic environment.
•Integrated with SwiftUI or UIKit frameworks within MVVM architecture, delivering scalable and modular solutions for complex application requirements.
•Managed GitLab repositories, coordinated with team members through merge requests and code reviews, and optimized CI/CD pipelines for efficient build and deployment processes.
•Ensure that the application presents all information according to the Figma blueprint, adhering to design specifications.
•Verify that the page loads all required data correctly from the accountModel.
•Implement robust exception handling to manage failed data loads, ensuring users do not encounter stale data or become stuck.
•Identify and resolve bugs or issues affecting the Account Details page.
•Implement logging tools to track and analyze any problems reported by users, aiding in troubleshooting and future improvements.
Wayfair
Boston, Massachusetts – 06/2022 – 04/2023
Senior iOS Mobile Application Developer React Native Developer
Project Summary: As a Sr. iOS Mobile Application Developer at Wayfair, I contributed to the development of new interactive features, optimized existing functionalities, and enhanced code readability and coverage. I implemented in-app navigation using dependency injection, integrated SwiftUI components within a VIPER architecture, and utilized GraphQL for efficient data retrieval. Additionally, I expanded team documentation, applied hotfixes, and added analytics events for user behavior tracking, all while working in an agile scrum environment.
App Names:
Wayfair: https://apps.apple.com/us/app/wayfair-shop-all-things-home/id836767708
Wayfair is the main app for an online furniture shop, the app is currently on VIPER architecture and from this they also use the other apps through different graphql calls and servers so that the app seemlesly thransitions through in app features and webviews to accommodate to each of the different stores
Birchlane: https://apps.apple.com/us/app/birch-lane/id1489474755
With this app you can explore our collection of classic, well-made furniture and decor conveniently from your mobile device. Shop the exact pieces featured in inspirational photos, read real customer reviews, track your orders, keep personal lists for your projects, and more.
Joss & Main: https://apps.apple.com/us/app/joss-main-furniture-decor/id525522332
At Joss & Main, we believe that style is what you make it – so make it yours with our app. Download now to get inspired by our contemporary and classic home aesthetic. Here, you can save on furniture and decor when shopping new arrivals, sales, and deals in the app:
Perigold: https://apps.apple.com/us/app/perigold/id1496974824
The best of the design world is right at your fingertips. With our app, you’ll discover meticulously crafted furnishings from the industry’s most trusted brands – for every style and space. Enjoy an effortless, on-the-go browsing experience and exclusive features, including:
Responsibilities:
•Worked in agile scrum environment with daily standups, grooming and retro sessions
•Developed a couple of new interactable feature ways to help with the flow of the app
•Suggested refactoring of the application to have a more uniform standardized way that was easier to read in one module
•Contributed to and maintained comprehensive documentation within GitLab repositories, providing valuable resources for team members and stakeholders.
•Utilized Xcode's project navigator, build settings, and workspace features for efficient development.
•Created new unit test files for some modules to have a better code coverage overall and make more sense on what we are testing and why
•Managed provisioning profiles, code signing certificates, and app configurations within CircleCI workflows for seamless deployment to various environments
•Implemented virtual assistant from webview to different flows and made it mor easily reachable from different modules
•Integrated Apple Pay into iOS applications to facilitate secure and convenient in-app and online payments.
•Refactored functionality to make them more single responsibility and with that achieved more code coverage
•Created complex layouts using SwiftUI’s declarative syntax, including Lists, Grids, and Stacks.
•Implemented tracking to different features to analyze traffic of existing features so we could identify how often these were used
•Utilized SwiftUI Previews for real-time UI development and faster iteration.
•Expanded teams documentation to have more available resource for other teams looking in our modules or for new onbordings
•Implemented in-app navigation between screens using dependency injection
•Optimized app performance and responsiveness using performance tuning techniques provided by Cocoa Touch frameworks.
•Configured Azure DevOps pipelines to automate the build, test, and deployment processes for iOS applications, enhancing efficiency and reliability. Leveraged Azure Pipelines and GitHub Actions to streamline continuous integration and continuous delivery (CI/CD) for mobile development teams.
•Implemented networking to pull data using GraphQL queries to display on the front end
•Implemented SwiftUI components in viper architecture to replace old UlKit components
•Implemented CI/CD pipelines using CircleCI for automating build, test, and deployment processes of an iOS application.
•Tested new features and functionality as well as identified and fixed bugs
•Provided support and assistance during production incidents and applied hotfixes to the app
•Contributed to the development of streamlined image recognition capabilities using Core ML within the app.
•Developed smooth and engaging animations and transitions using SwiftUI’s built-in animation capabilities.
•Added analytics events in the app to track and send user actions & data to datalog
•Used Xcode's debugging tools (breakpoints, LLDB debugger, console) to identify and fix issues efficiently.
•Created documentation for other members of the team on process for implementing specific functionality to the app
•Implemented feature toggles and experiments
•Used reactive approach to determine existing conversations
•Improved app loadtimes through analysis of the graphQL requests
•Implemented Combine framework to effectively manage asynchronous operations, such as GraphQL network requests.
•Leveraged its capabilities to orchestrate seamless data flow from multiple servers and dynamically update UI components in response to user interactions, enhancing overall application responsiveness and user experience.
•Utilized Apple's PassKit framework to handle payment transactions, including authorization, payment tokenization, and processing.
•Implemented new reusable components & screens through Base classes that are inherited from and customized
•Used style protocols to match given look and feel for views
•Refactor and optimize old architecture and screens to modern standards
•Collaborated with team members to ensure integration aligned with project objectives and performance metrics.
•Cleaned codebase to avoid unind loadtimes for unnecessary fields.
•Perigold app is created using React native.
•Used react native Flux architecture to create app with Redux Saga for state management.
Giant Eagle
O’Hara Township, PA – 09/2019 – 06/2022
Senior iOS Mobile Application Developer
https://apps.apple.com/ca/app/giant-eagle/id1465897036
As a Sr. iOS Mobile Application Developer at Giant Eagle, I worked in an Agile, test-driven environment using SwiftUI and UIKit. I migrated the codebase from RxSwift to Combine and MVC to MVVM-C architecture, implementing key features like cart checkout, Apple Pay, and weekly ads. I optimized app performance using Instruments, implemented caching and pagination, and used GitHub Actions for testing. Additionally, I mentored the team on TDD and SwiftUI, ensured code consistency with SwiftLint, and automated the build process with Jenkins and Fastlane.
•Worked on an Agile, test-driven development environment with daily stand-ups and sprints lasting 1 week.
•UI is mix of SwiftUI, UIKit (Used XIB combined with Storyboard and Programmatic UI).
•Applied SOLID design principles.
•Performed build work in latest Xcode and Swift 5.5 using MVVM Coordinator with respository design pattern.
•Configured CircleCI workflows to build and test iOS projects on multiple environments and simulators.
•Conducted unit testing, UI testing, and performance profiling within Xcode.
•Used Combine in coordination with MVVM to bind the model and view so that the view reacts to changes in the model.
•Migrated code from RxSwift to Combine and MVC to MVVM-C architecture.
•Implmented cart checkout feature, added Apple Pay using passkit and Integrated paypal pay sdk.
•Implemeted weekly ads and eGift card feature.
•Upskilled and mentored team on using TDD approach and SwiftUI, Combine.
•Implemtned debounce operator from combine to improve product search perforamce.
•Used Instrumetns (App launch, Leaks, Allocation)to identify app performance issues and fixed them.
•Implemeted image, search response caching, lazy laoding, pagination to improve app perforamce.
•Utilized Jira for bug reporting, ticket creation, and ticket assignment.
•Utilized GitHub Actions for Snapshot testing and Unit testing.
•Used SwiftUI Proprty wrappers like EnvironmentObject, State Object, Observed Object, State, Binding.
•Implemented Core Location framework to integrate location-based services into iOS applications, including GPS and Wi-Fi-based positioning.
•Developed and maintained an iOS application using Cocoa Touch frameworks to deliver seamless user experiences.
•Developed features such as location tracking, geocoding, and reverse
•Used Danger and SwiftLint for code consistency.
•Performed daily code reviews and code refactoring using Git.
•Applied Quick and Nimble frameworks to Unit tests in Behavior Driven Development.
•Used Sourcetree to handle the change between branches and creation of new branches, push new commits and pull branch updates.
•Used CocoaPods to load all third-party frameworks and manage dependencies.
•Implemented Custom network module using async await and integrated in code using swift package manager(SPM).
•Integrated projects with Git or other version control systems within Xcode.
•Used UIViewControllers, UITableViewControllers, custom UITableViewCell with Interface Builder to design and develop user interface.
•Used Jenkins and Fastlane to automate build process to release to test flight and app store.
La-Z-Boy Inc.
Monroe, MI – 04/2017 – 09/2019
Senior iOS Mobile Application Developer
https://apps.apple.com/ca/app/la-z-boy-ar/id1468901467
As a Sr. iOS Mobile Application Developer at La-Z-Boy Inc., I applied Agile methodologies, used RxSwift with MVVM for reactive UI development, and built intuitive UIs with Storyboards and AutoLayout. I implemented ARKit for augmented reality features, collaborated with cross-functional teams, and ensured code quality through unit testing and advanced debugging. Additionally, I optimized app performance and handled push notifications to enhance user engagement.
•Worked on iOS Dev team that applied Agile/Scrum project methodology practices.
•Utilized RxSwift in coordination with MVVM to have the model and view bound so that the view reacted to changes in the model.
•Implemented RxSwift to handle two-way binding.
•Worked on UI development using Storyboards and Interface builder based on Apple HIG guidelines.
•Automated UI testing and performance testing using XCTest/XCUITest within CircleCI pipelines to ensure app functionality and quality.
•Developed UI using Storyboards with AutoLayout constraints and Size Classes utilized to handle all screen sizes.
•Managed third-party dependencies using CocoaPods.
•Utilized ARKit to transpose furniture into the user’s personal living space.
•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.
•Utilized GitLab's issue tracking and project management tools to coordinate tasks, milestones, and sprints, ensuring project deadlines were met efficiently.
•Collaborated with cross-functional teams to define, design, and ship new features.
•Managed branches, commits, and merges directly from Xcode's source control navigator.
•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.
•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.
•Implemented Navigation between views for the view controllers using Segues.
•Provided multithreaded best practices to optimize performance.
•Used many Instruments and debugging tools to identify and resolve key issues.
•Implemented various scrolling, performance, and stability improvements.
Discord Inc.
San Francisco, CA – 01/2016 – 04/2017
iOS Mobile Application Developer
https://apps.apple.com/us/app/discord-talk-chat-hangout/id985746746
As an iOS Mobile Application Developer at Discord Inc., I built the project from scratch, setting up all tools and repositories. I applied an MVVM-C architecture with Swift and collaborated with cross-functional teams to develop and test new features. Key achievements include implementing AR Kit for viewing furniture, integrating social media sharing, and managing asynchronous operations with RxSwift and RxCocoa. Additionally, I ensured data persistence with Core Data and SQLite and conducted extensive unit testing and debugging to maintain high-quality code.
•Developed project from scratch, did setup of all tools and repository from scratch.
•Applied a MVVM – C architecture and programmed in Swift.
•Implemented CI/CD pipelines using GitLab CI/CD to automate build, test, and deployment processes for iOS applications.
•Collaborated with internal and external teams - Product Managers, Engineers, Designers, and Marketers to conceptualize, build, test, and realize new features.
•Designed and built custom UI with use of wireframes from UX team.
•Implemented viewing variety of furniture using AR Kit.
•Worked on the back-end integration to manage asynchronous connection and run background multi-threaded operations using RxSwift and RxCocoa.
•Used RestKit library to make connections to server, and handle authentication challenges, and consumed RESTful web service using URLSession.
•Implemented localization and managed localized resources through Xcode.
•Automated UI testing and performance testing using XCTest/XCUITest within CircleCI pipelines to ensure app functionality and quality.
•Connection to web service was achieved using GCD. Delegate methods implemented to handle reception of response, data, error, and load finish. Used DispatchGroups to complete multiple asynchronous calls collectively before managing UI updates
•Implemented taking screenshot and sharing image to different social media.
•Used GCD for concurrency and used Core Data and SQLite for data persistence.
•Wrote a multitude of unit tests to validate logic and ensure resolved issues were not reintroduced.
•Used SwiftyJson to decode data pulled from REST API requests and to parse the data with json serialization.
•Completed extending testing and bug fixing using NSLog statements, Breakpoints, LLDB statements, and Instruments as per QA feedback.
•QA unit testing with XCTest and scenario testing with TestFlight.
•The application as a whole uses a reactive paradigm approach with RxSwift to load views onto the page
The GAP, Inc.
San Francisco, CA – 04/2014 – 01/2016
iOS Mobile Application Developer
https://itunes.apple.com/us/app/gap/id326347260?mt=8
As an iOS Mobile Application Developer at The Gap Inc., I transitioned code from Objective-C to Swift and implemented features like product search, product details pages, and checkout. I collaborated with design and marketing teams for a seamless user experience and managed version control with Bitbucket. Additionally, I ensured robust integration and deployment processes and developed custom UI elements to enhance the app's functionality.
•Worked on the iOS mobile app in Xcode with Objective-C and started transitioning code and developing new features in Swift.
•Worked with design and marketing team on look and feel of mobile app.
•Prepared apps for distribution on the App Store using Xcode's Archive and Organizer features.
•Worked with design team, QAs, scrum master and product owner to implement enhancements or new applications during daily standups, sprint planning and sprint retrospectives.
•Worked on product search, product details page(PDP).
•Implemented favroutie product and bag checkout feature.
•Used GCD multithreading for complex logic.
•Collaborated with team members through GitLab repositories, handling branches, merges, and code reviews effectively.
•Implemented Delegate methods to handle reception of response, data, error, and load finish.
•Collaborated with cross-functional teams to troubleshoot and resolve CI/CD pipeline issues and improve deployment processes.
•Used JIRA for issue tracking; managed tickets to prioritize issues and workflow and track bug fixes and completions.
•Submitted code on Bitbucket for version control.
•Participated in discovery tasks, in which we investigated new features and created a list of requirements.
•Ensured continuous integration and deployment and unit testing using the tools like Rally Dev, Cornerstone, Core, and Jira.
•Created notifications to detect the autorotation in the customized sub views.
•Created models in MVVM and development of delegates for updating model information.
•Worked extensively with Mapkit and Core location frameworks to provide user the experiences of Mapviews.
•Improved app performance by analyzing build settings, compiler flags, and optimizing build times in Xcode.
•Created and customized views, table views, tab bars and navigation bars, which are some basic functionalities in a multi-view application.
•Created customized and sophisticated UI/AX elements that prioritize user experience (UX).
W.W. Grainger
Lake Forest, IL – 10/2012 – 04/2014
iOS Mobile Developer
https://itunes.apple.com/us/app/w.w.-grainger-inc./id526722540?mt=8
As an iOS Mobile Developer at W.W. Grainger, I contributed to the development of high-quality applications in an Agile environment, utilizing JIRA for ticket tracking and sprint management. I implemented AutoLayout to ensure responsive design across various device sizes and guided the transition from MVC to MVVM architecture. Additionally, I handled continuous integration through Jenkins and optimized local storage using Core Data, while maintaining code quality and version control with GIT.
•Worked in an Agile environment and used JIRA for ticket tracking and sprint management.
•Delivered code using Jenkins for Continuous Integration.
•Used AutoLayout throughout Interface Builder with Xib and Nib files to ensure that the application looked great on all device sizes.
•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.
•Managed source code and version control using GitLab, ensuring a streamlined development process.
•Used Instruments within Xcode to profile and optimize memory usage and CPU performance.
•Worked with RESTFUL Web Service calls; JSON data parsing was done with NSJSONSerialization.
•Used Core Data Framework for local storage purposes by working with the Managed Object Model, Persistent Store Coordinator, and Managed Object Contexts.
•Worked with GIT to checkout and update the codebase changes; experienced handling merge conflicts as well by way of keeping their code, my code, or a combination of the two.
•Worked on custom NavigationController to navigate between views and view controllers
•Worked with UIKit Framework for development, creation, and maintenance of custom UI elements.
•Debugging issues onsite whenever required. NSLogs, breakpoints (allException), lldb statements, and instruments where all used for debugging efforts.
•Used the same XIB to design for iPhone 5 and older iPhones by using Auto-layout along with appropriate constraints.
•Migrated code from MRC to ARC.
•Used Copy, retain, assign and auto release pull to manage memory manually.
•Used frames and bounds to create UI and migrated to Autolayout.
Education
Bachelor of Engineering in Interactive Technology & Digital Animation
UVM