- iOS developer with more than 5 years of experience on the field and over 7 years on the software developing industry as whole.
- Developed projects that made use of Objective C as well as most of the popular versions of Swift.
- Worked with concurrency solutions like GCD and NSOperation to alleviate the tasks on the main thread as well as implementing lazy loading mechanisms.
- Created custom networking classes to obtain information from API endpoints and worked on the implementation of URLSession, NSURLSession, NSURLConnection as well as some third - party libraries.
- Worked with design patterns like Creational, Observer, Publisher Subscriber, Façade and Decorator with Delegation and Protocols, NSNotifications, Categories and KVO.
- Extensive experience on Core Data, User Defaults and the file system to persist information.
- Created UI based on wireframes using Storyboards and XIB.
- Made use of Keychain and Touch ID to offer a higher level of authentication on client projects.
- Made proper use of memory to prevent leaks and dangling pointers.
- Comprehension of iOS memory management with MRR and ARC.
- Imported third party libraries with Carthage and Cocoa pods.
- Involved in development teams that used SCRUM to manage the success of the projects.
- Experience with Location Management with Core Location, Mapkit and Google Maps.
- Deployed applications to the app store and created proper certifications for Apple Push Notification Services.
- Used GIT as the main version control mechanism.
- Consumed livestreaming with HLS and used AVFoundation to play multimedia content.
- Worked with Core Bluetooth to gather the characteristics and services of nearby peripherals.
- Used architectural patterns like MVC, MVVM and VIPER and component based approaches.
- UI and UX
- Unit Testing
- Data Persistence
- Bluetooth Low Energy
- Objective C
Confidential, Houston, TX
Sr. iOS Developer
- Use of Storyboards, Auto Layout Constraints to support multiple screen sizes and orientations.
- In charge of the UI. Customization of UIViews with animation. Creation of Custom side menu.
- Created a custom model class to represent the data arriving from the API and created custom parsing methods to instantiate proper definition of those instances.
- JSON parsing using JSONSerialization to extract information into dictionaries and construct model classes.
- Implementation of the Core Location and Google Maps with custom markers.
- Implementation of NS Operation for loading markers of stations on the map.
- Video playback using AVPlayer.
- Use of User Defaults to save settings of the app. Use of Core Data to save favorite gas stations.
- Implementation of Login process and reward program.
- The project followed the Agile methodology with 2 week sprints and daily standups.
- Version control was implemented using GIT.
Technologies: Swift, Xcode, URLSession, Xcode Instruments, Agile, UI, UIImagePickerController, AES 256, Keychain, Core Data, RESTful, JSON, Reachability, XCTest, AVPlayer, URLRequest, MapKit, UserDefaults.
Sr. iOS Developer
- This is an internal app that was used to create a skeleton for all the other apps. All the new apps from Confidential will be constructed based on this app. All the common logic and common UI is part of the skeleton app.
- The entire application was designed in Swift.
- Sign in was done using OAuth Authentication.
- Keychain sharing was set up to share credentials between multiple apps (Single Sign On).
- All organizational information was retrieved from the server.
- Different menus were created for different modes and applications.
- The app was localized and multiple custom views were created for different locales.
- Ability to switch the application to different modes - Production, App Store, Development, Cert and QA.
- Implementation of video streaming to provide training to the users.
- Connectivity to smart tractors using Bluetooth technology.
- Used Crashlytics and Google Analytics for analyzing app usage and crashes.
- Implementation of VoIP for customer service.
- The application used 2 singleton classes to maintain the state of the application and the environment.
- Builds were automated using Jenkins.
- Creating build scripts to deliver the builds to Fabric.
- Analyzing reports for debugging and improvement purposes.
- Worked on Authentication and Single Sign On features.
- Design and create multiple views for different screen sizes and different execution modes.
- Worked on critical bug fixes
- Worked on Notifications and Protocols to improve app communication.
Technologies: Swift, Xcode, Core Bluetooth, Alamofire, Instruments, Agile, UI, Keychain, RESTful, JSON, Reachability, XCTest, TDD, CocoaPods, HLS, Google Analytics, URLRequest, Crashlytics, OAuth, UserDefaults, NSOperation, Jenkins, Size classes, Bluetooth, VoIP, Autolayout.
Confidential, Los Angeles, CA
- Worked on the Apple Push Notification support feature on the application to keep the user informed with the latest news on the pop culture.
- Implemented a UIScrollview with paging mode to showcase the basic application usage on the first launch of the application. The first usage of the application required storing a key on the NSUserDefaults.
- Made use of the AVFoundation AVPlayer for playing news videos throughout the application.
- Implemented custom UITableView and UITableViewCells for handling different type of news, the ones that are based on video and the ones with images and text.
- Incorporated the usage of a UIWebView to show additional resources from the website.
- Used an UIActivityViewController to allow the user share the link of a specific news either via email, social media and more.
- Worked on the implementation of feature allowing the user to swipe back and forth between news to have an efficient continuous navigation between news, it required working a UIScrollView and pagination.
- Worked on the implementation of a hamburger menu using two overlapping UIViews on the root UIView in which one of them was a UITableView and gestures to allow the user filter the news by type, for example entertainment, red carpet and events.
- Added Ad support to the application using Google’s Mobile Ads SDK.
- Added Analytics to the application using Google Analytics.
- The application was developed in a team of 2 IOS developers one local, one offshore.
- The project was developed in a lightweight variation of SCRUM.
Technologies: Objective C, UIScrollview, NSUserDefaults, SCRUM, AGILE, GIT, AVFoundation, UITableView, NSUserDefaults, UITextView, UIActivityViewController, UITableViewCells, API, OOP.
Confidential, Atlanta, GA
- Worked on the networking layer of the application. By the means of encrypted communications, retrieved data for the RESTFul web service such as the available user files given a folder reference and an endpoint which would be given a reference folder and a specific classification for the media type such as images, text, archives, videos.
- Stored on the filesystem the most recent used files by the means of replacing old files with the last recently used one for it to work like a temporal cache.
- Made use of the NSUserDefaults to store the user settings.
- Wrote Unit Tests for the developed features and for some other features that had been pending for being Unit Tested.
- Implemented a custom view to allow the user select in an interactive manner how much should their files be compressed before being uploaded on the settings screen.
- Detected and fixed memory leaks using the Instruments tool on Xcode.
- Designed and implemented the about screen which contains a UITableView, an UIImage and several UITextView.
- The team was comprised of 2 iOS developers, 2 QA and 2 backend developers working collaboratively on the project.
- The working environment was Agile based on a custom approach to SCRUM.
Technologies: Objective C, SCRUM, AGILE, GIT, UITableView, NSUserDefaults, UITextView, API, OOP.
- Worked on frontend development.
- Created features based on client requirements.
- Made use CSS and HTML to offer responsiveness and a clean design.
- Made use of a private GitHub repository to manage version control.
- In charge of making UI tests for the project.
Technologies Involved: SASS, CSS, HTML and GitHub.