Gustavo Lopez

  • Senior iOS Developer
  • Bellevue, WA
  • Member Since Mar 09, 2023

Candidates About

 

Gustavo Lopez

 

Senior iOS Developer

 

§  Versatile Sr. Mobile developer with over 7 years of experience IT with 5 years in iOS, 1 year in Android and 2 years in Hybrid mobile app and game development using Unity

§  Worked with a variety of mobile development programming languages like Objective C, Swift, C# and Java.

§  Experience with development platforms like XCode, Cocoa Touch and iOS SDK for iOS; Eclipse and Android Studio for Android, Unity Game engine and Unreal game engine.

§  SDLC: Experience with every stage of the Software Development Life Cycle like requirement gathering, design, implementation and support.

§  Design patterns: Worked with multiple design patterns like MVC, Singleton, Delegation, Publisher Subscriber and recently started working on MVVM

§  Concurrency: Used Grand Central Dispatch (GCD), Dispatch (Swift) and NSOperations to achieve concurrency in the application.

§  Web Services: Worked with web services to download information on a background thread using URLSession (formerly NSURLSession) and AFNetworking. Used Alamofire to achieve the same in Swift.

§  Parsing: Worked on parsing XML and JSON information using the built-in classes.

§  UI/ UX: Experience with Storyboards, Xibs and creating dynamically positioned elements to handle all screen sizes using Autolayout, Constraints and size classes.

§  Memory Management: Achieved optimum memory footprint using good design techniques and working with MRR and ARC.

§  Data Persistence: Persisted information to store important information and to achieve offline experience using CoreData, SQLite, UserDefaults (formerly NSUserDefaults) and KeyChain.

§  Location: Knowledge of CoreLocation and Mapkit to work with Location and maps.

§  Communication: Worked with Push notifications, Bluetooth, CallKit and video streaming (HLS).

§  Debugging: Used breakpoints, instruments, analytics, logging and crash reports to debug applications and determine the exact source of the problem.

§  Testing: Performed Unit Testing for various features and followed TDD for some projects using XCTest, OCMock and method swizzling.

§  Version Control: Experience with version control using Git (Standalone and through XCode)

§  Continuous Integration: Worked with Continuous integration using Jenkins.

§  Agile: Followed SCRUM in most of the projects to achieve agile development environment with 2 week sprints.

§  Sensitive Data: Basic experience with authentication techniques like Touch ID and encryption of sensitive data using AES encryption.

§  Web Development: Experience developing various web applications in different domains using HTML, CSS, Javascript, ASP.net and PHP.

§  Other: Other Experience includes C++, MySQL.

§  Personal Skills: Team player, committed, hard worker, enthusiastic, curious and always willing to learn new technologies.

 

 

 

 

Technology Summary

 

iOS, Android, Hybrid, Objective C, Swift, XCode, CocoTouch, iOS SDK, Alamofire, Eclipse, Android SDK, Java, C#, Unity, C++, MySQL, HTML, CSS, JavaScript, JQuery, PHP, VB.Net, Mac OSX, Windows, Linux, Photoshop, illustrator, Spine, Alamofire, Realm, VIPER, webRTC, Jira, GIT, SmartCVS, Regex.

 

 

Professional Experience

 

 

T-Mobile - Bellevue, WA

Sr. iOS Developer, March 2017 to Present

App: Digits by T-Mobile (unpublished)

 

Consumer side application that allows T-Mobile users to communicate over VOIP Technology to enhance their connectivity experience. It allows consumers to create voice calls and video conferences.

 

Accomplishments:

§  Lead the UX on local team and communicated with offshore team for better baton passing every day

§  Worked closely with the UX team for better handling of what could be done and what was not a good practice according to Apple’s Design Guidelines

§  Proactively worked side by side with QA team to debbug any of their findings

§  Managed JIRA backlog and assisted with debugging and profiling iOS issues

§  Used Alamofire to make rest API calls to T-Mobile’s internal server

§  Integrated Google Sign in API as well as Microsoft federation login to catch data from the user

§  Integrated bridges to talk to custom WebRTC SDK

§  Created UI for every single view, making use of XIBs and Storyboards

§  Created reusable custom views for better optimization

§  Implemented Realm for our database needs

§  Used GIT for version control and branching settings

§  Implemented VIPER architecture to its full extent, making use of Views, Interactor, Presenter, Entities, Router

§  Created necessary abstraction layers to interface with our main modules

§  Made extensions of iOS native classes such as UIColor and UILabel

§  Made use of Push Notifications to properly handle changes from server

§  Used callbacks and server responses to display data and view changes to user

§  Used CocoaPods to integrate third party libraries

§  Used best coding best practices and refactored code to best fit our needs

§  Made use of design patterns such as singletons, factories, and lazy initializations

§  Created and used wrapper classes extensively for better communication across modules

§  Used Hockey App to deliver builds for QA team

§  Implemented JSON and XML parsers for a more efficient parsing development

§  Effectively created interface to catch ConfigFile from server as well as its necessary interface methods

§  Used T-Moblie’s internal servers and nodes to communicate with different teams and to gather different data

§  Implemented wrapper classes for RESTful data consumption

§  Efficiently managed memory leaks by thoroughly debugging deadlocks and unused data

§  Wrote proper documentation for better understanding of extensive and important logic

§  Used Regex for faster and more optimal results when parsing big data

 

 

ADP – Roseland, NJ

Sr. iOS Developer, January 2016 to March 2017

App: ADP Mobile Solutions

https://itunes.apple.com/us/app/adp-mobile-solutions/id444553167?mt=8

 

The objective of this application is to provide a convenient way to access payroll, time & attendance, benefits and other vital HR information for you and your team.

 

Accomplishments:

§  The entire application was developed migrated to Swift. Parts of the legacy code is still objective c.

§  Added customizations for TableViews, CollectionViews, UIImageView, and Buttons.

§  Implemented StoryBoards, Autolayout, constraints and Size Classes to ensure that the UI worked well on all screen sizes

§  Created a side bar menu for with easy to access menu options.

§  Custom UI Views were created to present the user with a calendar view and add timesheets for specific days.

§  Worked on designing a POC to see if migrating to Swift was feasible.

§  Network communication was achieved using CocoaPods and AFNetworking.

§  Used CoreData and NSUserDefauls to create offline experience and ensure that basic information like past paychecks were available even when there was no connection.

§  Helped with authentication and encryption of sensitive data to ensure security in the application.

 

 

RentPath, Inc-- Norcross, GA

Sr. iOS Developer, January 2015 to December 2015

App: Apartments for Rent

https://itunes.apple.com/us/app/apartments-for-rent-by-apartment/id292234839?mt=8

 

The objective of this application is to let the users browse between thousands of apartments in a simple and practical way. The user can view photos and floor plans of the rentals that they are interested in, and filter results by price and amenities to help the user find the ideal place to live. One of the strongest points of this app is that it has an advanced Search and Search Filters that allow the user specify the number of bedrooms, bathrooms, price range, and desired amenities.

 

Accomplishments:

§  The entire application was redesigned and built in Swift from the ground up.

§  Used MapKit, CoreLocation and GeoFencing to location apartments for rent in the desired city or neighborhood.

§  Used Table views with custom cells and Maps with annotations to give user the ability to view the available apartments in a list view and in a map view.

§  Intense background processing and concurrency techniques added to view various floor plans and images for selected apartments.

§  Ability to call or email designated person for the property added using MFMailComposeViewController and VOIP technology.

§  Offline experience, hand off experience, rating and reviewing properties added using CoreData and Web service syncing.

§  Worked with Social SDKs and Action Sheets to share apartment information using Facebook, Twitter and email.

§  Ability to mark apartments as favorites and save them in the local storage.

§  User Authentication and encryption added along with the ability to save user credentials in the keychain for faster authentication.

§  Used scroll view with custom views to give a card-like layout and follow modern design techniques.

§  Live Streaming of videos was added using HLS and AVFoundation to display high quality videos of the floorplan, panoramic views and a 360-degree virtual tour of the apartment.

 

 

The New york times company – New York City, NY

iOS Developer, November 2013 to December 2014

App: NYTimes

https://itunes.apple.com/us/app/nytimes-breaking-local-national/id284862083

 

The objective of this application is to deliver all the New York Times journalism to the user in a very convenient way on their mobile device. This app allows users to view all the content, images and videos for every digital article.

 

Accomplishments:

§  Developed project entirely in Objective-C and Xcode.

§  Used Autolayout, constraints and size classes to ensure that the app looked great on all screen sizes.

§  Implemented Handoff so that users could keep continue reading articles from one device to the next.

§  Worked on designing a lag free experience to ensure fluid experience in the app while the content was being downloaded in the background.

§  Designed and added unit tests using XCTest.

§  Videos and images were downloaded on different queues and were made available as soon as the user opened the article.

§  Worked with push notifications to ensure that the user was informed of the latest and the top stories as they were added to the digital content.

§  Worked on communication with the backend server, downloading information, parsing it and displaying it to the user using scroll views with custom views creating a card-like layout.

§  Worked on the ability to save and bookmark articles and sync them between devices.

§  Helped redesign the application to the clean and modern UI/ UX design principles.

§  Created multiple screens to customize the app experience.

 

 

Expensify, Inc — San Francisco, CA

iOS Developer, September 2012 to October 2013

App: Expensify

https://itunes.apple.com/us/app/expensify-expense-reports/id471713959?mt=8

https://play.google.com/store/apps/details?id=org.me.mobiexpensifyg&hl=en

 

The objective of this application is to give the user the ability to make receipts and expense reports in a fast and simple way, it also offers the opportunity to track the user’s mileage and time on business trips. One of the strongest points of this app is that can take pictures of the user’s receipts and create an electronic one.

 

Accomplishments:

§  Extensive work on the camera so that the application could recognize the different sections of the receipt.

§  Helped the Android team with fixing bugs and adding new functionality

§  RESTfull web services are used to communicate with the server to sync the user’s bank and credit card accounts.

§  Integration with applications such as Excel, Evernote, Dropbox, Oracle, SalesForce, FinancialForce, Xero, Quickbooks, SAP, NetSuite, ADP, Intacct, Microsoft Dynamics using their APIs and SDKs.

§  Expenses section of the application uses a customization of UITableViews and UITableViewCells to present all the expenses and receipts that the user has up to date.  This section offers the options of expense by time, receipt, manual input and distance using custom UIButtons and Layers. CoreData was used for primary data persistence but the app also uses the file directories to store the bitmaps of the scanned receipts.

§  The expenses report section is mostly the same that the expenses section with the difference that in this part you have the option of making a PDF report and share it via email.

§  Improved the overall architecture and the user experience.

§  The UI was made relative by setting their positions programmatically in code.

 

 

The hospital for Sick Children – Sault Ste. Marie, ON

Mobile Developer, May 2011 to September 2012

App: Arthritis Invaders

https://itunes.apple.com/us/app/arthritis-invaders/id1098211976?mt=8

 

The objective of this game is to conduct a research on Juvenile Idiopathic Arthritis in kids and to teach them how to deal with the symptoms of the disease, while gathering information about how often and how strong were their flares. This game was for a specific number of selected kinds and each of them had a unique access code for this application.

 

Accomplishments:

§  In charge of designing, animating, scripting and testing 2D material for characters and game props.

§  Worked on authentication of the app to ensure only those kids that were part of the study had access to the app.

§  Used a combination of Spine and Unity to display objects and their animations.

§  Used Unity and C# to design the UI and the characters of the game.

§  Rewards and badges were added to ensure motivation and to track achievements throughout the study.

§  Few of the perks were added as unlockable items to make the game a little more challenging.

 

 

The City of Sault Ste. Marie – Sault Ste. Marie, ON

Web Developer, September 2010 to May 2011

App: Great Lakes Power Transmission

http://www.ssmic.com/index.cfm?fuseaction=content&menuid=15&pageid=1114

 

The project involves the implementation of an enterprise GIS system for Great Lakes Power Transmission Inc. The city of Sault Ste. Marie wanted to make their highway lights more efficient, turning them off when not used, in areas with little human presence and turning them on when needed.

 

Accomplishments:

§  In charge of designing a database and a web page for a streetlights efficiency project.

§  Used problem solving skills to help figure out the various ways in which technology could be used to make energy efficient decisions.

§  Used HTML5, CSS and JavaScript for the web page optimization. \

 

 

 

 

The City of Sault Ste. Marie – Sault Ste. Marie, ON

Web Developer, November 2009 to September 2010

App: Soo Maps

http://www.soomaps.com

 

This application was used to create maps for the city of Sault Ste.

 

Accomplishments:

§  Maintaining and optimizing a webpage with the map of Sault Ste. Marie.

§  Used GIS web services for map implementation in web pages.

§  Used C# to optimize code already written for the implementation of GIS maps and the GeoBase framework.

§  Used HTML5, CSS and JavaScript for the web page optimization.

 

 

 

Education & Credentials

 

colima University – Colima city, Colima

Software Engineering