Post Job Free

Resume

Sign in

SENIOR IOS DEVELOPER

Location:
Boston, MA
Posted:
April 28, 2023

Contact this candidate

Resume:

610-***-**** adu5vo@r.postjobfree.com

Enrique Mendez

Senior iOS Developer

610-***-****

adu5vo@r.postjobfree.com

Summary

•Over 10 years’ experience developing mobile based iOS applications for iPhone and iPad.

•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.

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

Wayfair

Boston, Massachusetts – 06/2022 – Present

Senior iOS Mobile Application Developer

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/bir HYPERLINK "https://apps.apple.com/us/app/birch-lane/id1489474755"ch-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:// HYPERLINK "https://apps.apple.com/us/app/joss-main-furniture-decor/id525522332"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://ap HYPERLINK "https://apps.apple.com/us/app/perigold/id1496974824"ps.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

•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

•Implemented virtual assistant from webview to different flows and made it mor easily reachable from different modules

•Refactored functionality to make them more single responsibility and with that achieved more code coverage

•Implemented tracking to different features to analyze traffic of existing features so we could identify how often these were used

•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

•Implemented networking to pull data using GraphQL queries to display on the front end

•Implemented swiftui components in viper architecture to replace old uikit components

•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

•Added analytics events in the app to track and send user actions & data to datalog

•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

•Cleaned codebase to avoid unind loadtimes for unnecessary fields

•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

Giant Eagle

O’Hara Township, PA – 09/2019 – 06/2022

Senior iOS Mobile Application Developer

https://apps.apple.com/ca/app/giant-eagle/id1465897036

Giant Eagle is an American supermarket chain with stores in Pennsylvania, Ohio, West Virginia, Indiana, and Maryland. Shop all your grocery needs online, including fresh produce, meat and dairy, prepared foods, drinks, snacks, baby products, pet supplies, and household essentials.

•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.

•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.

•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).

•Used UIViewControllers, UITableViewControllers, custom UITableViewCell with Interface Builder to design and develop user interface.

•Used Jenkins and fastlne 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

Thinking about adding some style and comfort to your home? La-Z-Boy makes it easy with the help of augmented reality (“AR”) technology. Download the free La-Z-Boy AR app to get started. View a chair, recliner, loveseat, sofa or sectional on its product page, and customize it with the fabric or leather of your choice.

•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.

•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.

•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.

•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

Discord is where you can make a home for your communities and friends. Where you can stay close and have fun over text, voice, and video. Whether you’re part of a school club, a gaming group, a worldwide art community, or just a handful of friends that want to spend time together, Discord makes it easy to talk every day and hang out more often.

•Developed project from scratch, did setup of all tools and repository from scratch.

•Applied a MVVM – C architecture and programmed in Swift.

•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.

•Implemented taking screenshot and sharing image to different social media.

•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.

•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

•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

Shop the latest and greatest styles at Gap with our new app! Reinvented from the ground up, it’s a must-have for shoppers on the go. Find the best deals and promos on the Gap mobile app designed to make online shopping easier and faster.

•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.

•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.

•Implemented Delegate methods to handle reception of response, data, error, and load finish.

•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.

•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

The Grainger app for iPhone is designed to deliver all that Grainger.com® has to offer no matter where the job takes you. Use the app to quickly narrow down your search, check account pricing, check item availability at a nearby branch, or manage costs with the Grainger KeepStock® inventory management solution.

•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.

•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 IN DIGITAL ANIMATION - UNIVERSIDAD DEL VALLE DE MEXICO



Contact this candidate