Post Job Free

Resume

Sign in

Sr. iOS Developer

Location:
San Jose, CA
Posted:
July 08, 2021

Contact this candidate

Resume:

PROFESSIONAL SUMMARY

EXPERIENCE

* ***** ** ********** ** mobile app development, creating apps for iOS devices using Xcode and iOS SDK with Swift, Objective-C, and Cocoa frameworks.

* ******** Facing Enterprise iOS mobile apps for iPhone/iPad published in the App Store.

More than 7 years of experience in technology, automation, and software development.

DEVELOPMENT

Experience in iOS mobile app development using both Swift and Objective-C; particularly advanced in programmatic development using Swift 1 – Swift 5.

Expert coder who consistently produces high quality, reliable, consistent, and stable mobile app code.

Looks for ways to apply new iOS technologies to current projects in ways that enable improvement, efficiencies, and marketable design.

Have a keen analytical ability and enjoy the challenges of problem-solving; particularly as applied to the challenges of iOS mobile app architecture, development and performance.

Plan solutions by testing ideas prior to making a decision or beginning implementation in any iOS development project.

Eager to keep learning more in my field of iOS app development, and enjoy following trends and new technologies.

COLLABORATION

Works with iOS mobile app product owners and stakeholders to develop products that support business needs.

Excellent personal presence with proven ability to work with all levels of management.

Works with iOS creative team and UX designers to develop interfaces according to specification, and following best practices.

Works with testing and QA, defining processes and designing tests to ensure quality.

LEADERSHIP

Have led Agile/Scrum iOS app development teams, facilitating daily scrums and weekly or bi-weekly sprints.

Team player who participates with other developers and assists through mentoring and coaching.

As a consultant, contributed problem-solving analysis and recommended solutions within the guidelines of the project and advice on following best practices.

Leads and manages iterative development process employing continuous integration, test driven development and scrum practices.

TECHNICAL SKILLS

PROGRAMMING LANGUAGES

Swift, Objective C, C, C++, C#, .NET, Java, SQL, Python, R, Scala, HTML, UML, CSS, JavaScript

Web Scripting

HTML/CSS, PHP, CMS, XML, jQuery, XML, Bootstrap, jQuery Mobile

WEB SERVICES

RESTful, SOAP, JSON, XML

DESIGN SOFTWARE

Sketch, Zeplin

TESTING

TDD, Unit Testing

XCTest, TestFlight

Automated Testing

CONTINUOUS INTEGRATION

Jenkins, Hudson, Travis CI

IDE

XCode, Eclipse, Visual Studio

DATABASES

SQLite, SQL. mySQL and MS SQL Server, Queries, tables, forms, design and development

METHODOLOGIES

Agile Scrum, SDLC

MODELING

UML, Diagrams, ERD

iOS

Cocoa Touch, CocoaPods, UIKit, Core Graphics, Core Animation, Core Bluetooth, MapKit, TextKit Core Location, EventKit, Social Framework,

LocationKit

GCD, Interface Builder

Adaptive Layout

Auto Layout

Storyboards, Xibs, Standard System View Controllers

Views and View Controllers, UI State Preservation

Apple Push Notification Service

Local Notifications

VERSION CONTROL TOOLS

Git and SVN

Desktop Software

Proficient in Microsoft Office Word, Excel, PowerPoint, & Access

Architecture & Design Patterns

MVC, MVP, MVVM, OOP/OOD, Builder, Abstract Factory, Visitor, Singleton, Key Value Observing, Observer, Decorator, Delegation, Proxy, Interpreter, Iterator, Mediator

PROJECT TOOLS

JIRA, Confluence, KanBan, Trello, Slack

PROFESSIONAL EXPERIENCE

eBay

San Jose, CA

May 2020 – Present

SENIOR IOS MOBILE ENGINEER

The eBay app had already been well established when I joined the team. However, UI testing was considerably unstable, and the codebase needed to be cleaned up and modularized. In addition, the company was looking to improve the look and feel of the app with new features and enhancements.

eBay’s iOS App

https://apps.apple.com/app/ebay/id282614216

The eBay app is an online auction and shopping app that allows users to buy and sell all kinds of items worldwide, including collectibles, sneakers, and tech gadgets. Users can find deals and offers, place orders quickly and securely, track orders in real time, and create listings for items they wish to sell without hassle.

Responsibilities/Actions:

Worked in a team consisting of 6-8 iOS developers, 3-5 iOS QEs, and 1-2 Product Owners.

Worked in an Agile development environment in 2-week sprints.

Coordinated with our team’s Agile lead to plan upcoming work through biweekly sprint planning meetings and grooming sessions.

Developed the app and created views using Swift 5 and Objective-C on Xcode 12.

Updated status of stories, bugs, and tasks using JIRA.

Created pull requests for feature development and bug fixes using GitHub.

Used GitHub and Jenkins for Continuous Integration and monitoring pull request builds; fixed build issues whenever the pipeline failed.

Coordinated with QEs to verify completed features and defects.

Migrated web views from UIWebView to WKWebView; converted web view properties to WKWebView equivalents.

Removed wrapper classes for the deprecated UIWebView.

Added image assets to support new payment methods such as Sofort, and to show warranty information.

Used NSTextAttachment to create labels that include images.

Implemented a dot indicator for the Image Panel on the View Item page using UIPageControl, to indicate that the item has multiple images.

Coordinated with the design team and iOS architecture team while working on the Image Panel dot indicator feature to create an optimal UI/UX.

Coordinated with our Product Owner and QEs to facilitate AB testing for the Image Panel dot indicator through a custom experimentation platform.

Collaborated with the iOS architecture team to add support for videos on the View Item page.

Collaborated with the backend service team to create an API contract for videos on the View Item page.

Consumed video URLs in HLS format.

Used a custom video player view that was created using the MVVM architecture, AVFoundation, and PassthroughSubject to show videos and handle user inputs.

Enhanced the appearance of text fields using a custom text field class that leverages Core Animation and Combine.

Modularized the View Item domain by moving views and classes from the main app into a separate module for our domain.

Removed XIB files from our codebase in order to improve compile times and reduce the number of style-related defects.

Created views programmatically using NSLayoutConstraint and PureLayout.

Used GCD multithreading to build and reload views.

Used NSURLSession to send API requests and receive API responses.

Monitored API requests and responses using Charles Proxy and a custom, in-house network logging/debugging tool.

Consumed API responses in JSON format, and then converted the response into data objects used by the app.

Participated in bug bash sessions led by QEs to test new features, such as Escrow and videos on View Item, and to detect any feature-related bugs.

Used custom unit test classes based on XCTest to write unit tests for various features.

Used XCTest and XCUIElement to write and fix UI tests.

Created snapshot tests to test various views and UI elements.

Used the Accessibility Inspector and a custom Layout Inspector to fix UI and accessibility bugs.

Fixed accessibility bugs to conform to WCAG 2.0 standards.

Added localizable strings for accessibility.

Technologies:

Xcode, Swift, Objective-C, NSURLSession, GCD multithreading, MVC architecture, MVVM architecture, JSON, Git (source control), GitHub (source code repository), Figma (UI mockups), Jenkins (continuous integration), SourceTree (Git client), Charles Proxy (API request/response monitoring), JIRA (story/bug/task tracking), Slack (team communication), Accessibility Inspector, AVFoundation, Core Animation

MACY’S

San Francisco CA

May 2018 – May 2020

SENIOR IOS MOBILE ENGINEER

I Joined a team that involved converting one component of the app (the “Bag”) from Objective-C to Swift, as well as using a new API backend for any calls pertaining to the Bag; joined the team shortly after development had begun. Implemented the Bag component using the VIPER architecture and other design patterns. Learned about the architecture, development, and features through KT sessions.

Macy’s iOS App

https://itunes.apple.com/us/app/macys/id341036067

The new version of the Macy’s app is better than ever – good as new, improved performance, bug fixes and a host of new features for superior User Experience (UX).

Responsibilities/Actions:

Worked in a team of 11 members: Project Manager, Product Manager, 2 backend developers, 2 iOS developers, 2 Android developers, and 3 QE’s

Worked in an environment of Swift 4 developed in Xcode 9 and later Xcode 10.

Converted one component of the app (the “Bag”) from Objective-C to Swift, using Swift 4; responsible for optimizing the Bag page performance

Developed and architected the Bag component using the VIPER architectural pattern

Managed an internal CocoaPod to facilitate API calls to the backend

Enhanced modules of the Bag view; organized view components in a logical manner, such as by using stack views

Reduced the number of API calls needed for various bag functions

Consumed the API response, provided in JSON format, and then converted the response into a format that the app can understand

Used the delegation design pattern to handle various user inputs on the Bag page

Used the notification design pattern to pass data objects from one component to another

Created a class to save the promo code applied to the bag using a custom persistence module based on GRDB

Monitored API responses using Charles Proxy

Updated status of stories and defects using VersionOne

Fixed reported defects, including production defects, from VersionOne using Charles Proxy and the Xcode debugger

Used XCTest to write unit tests around the Bag module and our API calls

Provided builds to QE’s, our project manager, and our product manager as needed using Fabric

Facilitated daily standup meetings in the absence of the Project Manager

Coordinated with other teams dependent on our work to align efforts and releases

Coordinated with our team’s project manager to plan iterations and manage our backlog

Technologies:

Xcode, Confluence (documentation), VersionOne (story/defect tracking), Git (source control), GitLab (source code repository), Jenkins (continuous integration), SourceTree (Git client), Charles Proxy, Microsoft Teams (team communication), Fabric (builds)

SUNTRUST

Atlanta GA

July 2016 – May 2018

SENIOR IOS ENGINEER

This app had been around for a very long time, and the code base had never been fully transitioned to Swift. There was a lot of messiness in the code base which needed to be refactored, and performance was an issue. The company also wanted to update the look and feel of the app and expand on features, so it was time for a major overhaul. This presented me with the kind of challenge that I crave.

SunTrust Mobile

https://itunes.apple.com/us/app/suntrust-mobile-app/id458680449

This iOS app allows users to manage personal, small business and corporate accounts. It provides tracking, reporting, filtered search, and fraud alert. Users can find offers on a map, track reward points, and buy gift cards.

Responsibilities/Actions:

Manages the team in a full audit of the code base and planned the changes we wanted to make going forward.

Recommended methods, tools, frameworks, and technologies to best achieve the desired result.

Set-up and managed version control and continuous integration with GitHub and Jenkins.

Responsible for issue tracking and project management in JIRA.

Developed and architected the application based on the MVVM architectural pattern.

Suggested different ways to improve work processes by implementing new features in the Agile system.

Developed improvements using Core Animation and Core Graphics.

Responsible for enhancing various modules such as the different views and user interfaces.

Collaborated with cross-functional teams to define, design, and ship new features.

Worked on bug fixing and improving application performance.

Researched and evaluated new technologies to make the development process and workflow more efficient.

Served as client liaison on design, development, quality, and submission.

Provided regular update reports on overall application development status and tasks.

Documented project tasks and application functions and features.

Analyzed customer requirements and created a project plan and functional analysis for the design of the application.

Performed security audit to ensure that no confidential information was persisted on the device or transmitted insecurely, and that log-in credentials were securely stored with Keychain.

Technologies:

Swift, Objective-C, MVVM, Core Graphics, Core Animation, TDD, Testflight,, Auto Layout,, Keychain, CocoaPods, Git, Instruments

TD AMERITRADE

Omaha NE

January 2015 - June 2016

SENIOR IOS APP DEVELOPER

I had the opportunity to get on board this project early and participate in the design and architecture for this new app. This was an experience I had been wanting, and I still got to implement and deploy. Simultaneously, I was added great value to the team through my expertise and experience in leadership, project management, and app approval

TD Ameritrade Mobile

https://itunes.apple.com/us/app/td-ameritrade-mobile/id534659421

This great app does everything. The users account access allows banking and trading actions. Users can deposit checks, transfer money, as well as do research and place trades.

Responsibilities/Actions:

Provided advice/consultancy regarding team development and strategies.

Improved developer communication amongst the team.

Found the best workflows for source control, task management, and continuous integration.

Heavily revised an refactored an older app in Objective-C and transitioned the codebase to Swift

Designed custom iOS user interface classes to be used in the application using IBDesignables.

Added support for Apple Watch

Designed and developed remote data layer using protocols and dependency injection

Use of MVVM design pattern as a preferred architecture.

Implemented new menu design and functionality for an improved user experience

Followed Apple UI guidelines throughout the iOS mobile app project.

Involved in getting requirements from the engineering team and analyzed the feasibility with the existing system design.

Implemented SiteCatalyst to track all user behaviors.

Utilized Instruments, Crash Logs, LLDB statements, NSLog statements, and Breakpoints to resolve various issues and bugs brought to attention by QA team.

Discovered memory leaks and subsequently tracked down the root cause and resolved the issue using Leaks and Allocations.

Added Localization to the iOS app to enable content tailored to a user’s language settings.

Used AVFoundation to handle audio play back and video streaming in iOS. I made some changes to the interactions for a smoother user experience.

Technologies:

Swift, Objective-C, SiteCatalyst, Cocoa Touch, Localytics, Instruments, Time profiler, Allocations, Keychain

MASTERCARD

Purchase, NY

December 2013 – December 2014

IOS MOBILE APP DEVELOPER

On this project POC had already been done, the functionality and design created, but I was brought onto the team to help implement this new app, and I was excited to have the opportunity to work on something new. After the app was deployed, there was a lot of refinement to be done and features to add.

MasterCard Nearby

https://itunes.apple.com/us/app/mastercard-nearby/id778074772?mt=8

This iOS app locates MasterCard no-fee ATMs. The database includes over 2 million ATMs worldwide. The navigation provides door to door or step mapping in over 46 countries. City level search capabilities apply to over 200 countries. Sophisticated filters enable refined and efficient searches.

The app also lets users find merchant who will accept their card and who will provide cash back.

Responsibilities/Actions:

Developed app entirely in Objective-C, and started making some POC’s and prototypes in Swift towards the end of the project.

Worked with server team on integration of web services and authentication

Updated location finder functioning with MapKit for iOS.

Communicated with RESTful API to fetch information, such as nearby ATMs.

Used JSON parser to parse fetched REST data from server to the iOS mobile app.

Implemented Unit Testing of the iOS mobile app, and helped move the app to production.

Participated in testing for app submission and ensuring app store guidelines were met.

Implemented advanced animation techniques to provide a user-friendly interface.

Reviewed entire iOS code base and participated in peer-to-peer code reviews.

Worked closely with various departments to ensure that our iOS mobile app delivers the greatest experience to the end user.

Created a framework for reusable components that can be applied to iOS applications developed throughout the organization.

Technologies:

Cocoa Touch, Cocoa Pods, Xcode, Swift, Objective-C, MapKit, Core Animation, JSON, AFNetworking

FIDELITY INVESTMENTS

Boston, MA

January 2013 - November 2013

JUNIOR IOS MOBILE APP DEVELOPER

Project Summary

I joined a small mobile development team within the larger Fidelity software and web development department. As this was an established app, I did maintenance, troubleshooting and code reviews. My team lead and the very structured environment taught me good habits. I gained valuable experience in security and a love of working in finance.

Fidelity Investments App

https://itunes.apple.com/us/app/fidelity-investments/id348177453?mt=8

The Fidelity app is a trading app. It provides users with mobile access to their accounts, and they can do more than just view. Users can watch and track stocks, place bids, buy sell and have full control over their trading.

Responsibilities/Actions:

Worked on RESTful web services technologies to support the iOS mobile app.

Used Git extensively as the versioning tool for the iOS mobile apps development team.

Worked in Agile environment with active scrum participation, and assisted in documenting progress on backlog, bug fixes, and tasks.

Utilized MVC design pattern for modular and scalable development in iOS mobile apps.

Integrated third-party libraries to iOS projects, using Cocoa Pods.

Responsible for managing the backlog in JIRA.

Created views and linked outlets using Storyboard, based on wireframes.

Developed code for different views for portrait and landscape orientation.

Developed 3 different visualization approaches tied to the work order date segregated by timeframes.

Tested fixes using XCTest to ensure success.

Technologies:

iOS, Xcode, Cocoa Touch, Cocoa Pods, Objective-C, MVC, AFNetworking

GS MARKETING, INC.

Houston, TX

March 2012 - December 2012

SOFTWARE DEVELOPER I

Project Summary

Coding with Java and C++

Developed an extract-transform-load process in C# to anonymize personally identifiable information within the database.

Automated workflows that generate monthly reports using Windows Task Scheduler.

Maintained the company website and updated the website content as needed.

Created documentation to provide instructions to set up a Scala development environment.

Assisted other junior software developers.

Worked on projects to create Address Book using Java and Payment Processing using C++

Designed software utilizing Use Case Diagram, Sequence Diagram, Life Cycle Model, and Critical Path Analysis

Worked on web development using PHP, HTML, CSS, JavaScript, and MySQL

Created algorithms to output specific sequences

Debugged scripts

Worked on projects to fix errors in existing scripts.

Worked on a project utilizing Java and C++ connected with Raspberry Pi

EDUCATION

Bachelor of Science

Computer Science; Concentration Software Design, Minor in Mathematics

University of Houston, Houston, TX



Contact this candidate