- Over 6 years developing native iOS applications using Objective C and Swift.
- Experience developing mobile applications for the Android platform.
- Proficiency at implementing UI design using technologies such as XIB for modular objects and Storyboards, Auto layout and Size Classes to implement the general flow and interaction of the application for both iPhone and iPad.
- Enrich the applications design through the implementation of dynamic views with programmatic statements.
- Experience with the most popular and accepted design patterns: MVC, Delegation, Singleton, Notification, Blocks and KVO.
- Proficient at managing the applications memory using pre - ARC (MRR) and ARC.
- Experience working in the persistence of the information using NSUserDefaults, Plist, Settings Bundle, File System, SQLite and Core Data.
- Networking experience using NSURLConnection and NSURLSession with HTTPS requests and both XML and JSON parsing.
- Expert in software development life cycle, project start-up, problem analysis, design algorithm and provide scalable, high-performance solution.
- Implemented concurrent applications using GCD and NSOperationQueue.
- Good at memory management, debugging crashes and have good understanding of instruments.
- Good understanding of the CoreLocation objects and the MapKit tools to geocode locations and present them with annotations.
- Strong skills at backtracking and resolving performance issues using Breakpoints, NSLogs, LLDB statements and Instruments.
- Working experience with TDD and Unit Testing using XCTest.
Mobile Databases: SQLite, CoreData.
Web Services: REST, SOAP. iOS Technologies: Xcode, Cocoa Touch, Storyboard, XIB, Size Classes, MRR, ARC, GCD, NSOperationsQueue, XMLParsing, JSONParsing, MapKit, Core Location, File System, NSUserDefaults, NSURLConnection, NSURLSession, CocoaPods, Bluetooth, Core Graphics, AVFoundation, UIKit.
- The project was implemented using scrum with 2 weeks sprints with daily stand ups.
- Migration from an existing objective-c project to swift.
- Bug fixes of the previous version.
- Whole new UI, application now uses size classes, autolayout, UIControl’s customization.
- New features like reorder a customized order, show previous orders and show previous transactions.
- Implementation of bit bucket and Jira to manage the project.
- Application uses NSURLSession to communicate with the Restful server.
- Show locations on map, show details about each location, filter locations, save favorite locations.
- Login authentication to save your profile and receive benefits.
- Realize payments form the app for your order.
- Implementation of Touch ID for secure login.
- Implementation of QR code reader for your gift card.
- Worked on new features of re-order and show previous orders.
- Display the transaction history.
- Tackled bugs from previous version.
- Implemented several views for the UI.
- Customizations of some UIControls.
- Migrated code from Objective-c to swift.
- Worked with the MKMapkit and annotations.
- Involved in the process of the release to the app store.
Confidential senior ios developer
- The project was implemented using scrum with 2 weeks sprints
- Application developed using Objective C.
- Implementation of MVC, Delegation, Push Notifications and Singleton.
- Solo iOS developer, worked on team with a Designer, QA and the Manager.
- Application currently using size Classes and Autolayout to handle iPhone and iPad versions.
- Implementation of customized charts using core graphics to represent the steps, kcal and miles from each month.
- App’s connection with the Confidential ’s smart watch was done through Bluetooth.
- New updates on the UI for a friendlier user experience.
- Implementation of Cocoapods to include Firebase on the project
- Integration of HockeyApp to handle the builds and crashes.
- Worked on updates of the UI, doing some customization for UIButtons, UICollectionViews, UITableviews, UIVIews.
- Implemented size Classes and Autolayout to the views.
- Implemented the chart design and logic for the statics of your workout.
- Worked on the data persistence between the Smart watch and the App, which was accomplished using the file system.
- Created classes for parsing the data received from the smart watch.
Confidential iOS Developer
- The project was implemented using scrum with 2 weeks sprints.
- Application developed using Objective C with the traditional combination of MVC, Delegation, Publisher Subscriber and Singleton.
- UI implemented using Storyboards with programmatic statements.
- Customization of all the UI elements using programmatic statements.
- This included Buttons, Labels, TableViews, Annotations and Pins.
- Navigation between views was implemented using both Segues and accessing directly the NavigationController to push views.
- CoreData Implementation to store the different meetings of the user.
- Use of the MapKit to present the location of the different meetings of the user.
- To get the information of the user and all his appointment locations, the application uses CoreLocation.
- Communication with the server was delivered through NSURLSession with HTTPS requests and JSON parsing.
- Designed the overall flow of the application.
- Collaborate with multiple teams and stakeholders.
- Backtrack and fix efficiency issues using Instruments: Time Profiler, Allocations and Leaks. In combination with Breakpoints, NSLogs and LLDB statements.
- Communication with the server and parsing of the information.
- Customization of almost all the UI controls.
- Refactor the classes to use and update the Core Data database.
Confidential iphone Developer
- Push Notifications for distributing News and useful information.
- Login integration using Google+ SDK.
- Implemented app’s user session using NSUserDefaults
- Worked with You Tube libraries for playback of video introduction.
- Communication with the server was delivered through the NSURLConnection class with HTTP requests and JSON parsing.
- Application delivered trough a combination of Storyboard, constraints and XIBs to partially design the views.
- The second part of the design was implemented using sub-classing and programmatic statements to access each element properties and customize them
- CoreData implementation to save information related to the users donations and some personal information.
- In charge of the CoreData implementation to be able to work with multiple threads.
- Implemented the design of multiple controls and views.
- Created Unit Test for the server connections and responses.
- Measured the performance of the application using the Time Profiler.
Confidential mobile Developer
- Location and Maps using CoreLocation and the MapKit.
- Applications design works using XIBs for modular objects.
- Use of NavigationController to move between the different views of the App.
- UiTableViews to visualize the tasks assigned to the user or to other person in the group.
- Use of TabBars to divide the different options of the App.
- Use of UISegmentedControl to check all the people in a conversation, this also gives the user the opportunity to chat privately with any of them.
- Connection to the server was implemented with NSURLConnection and its delegate methods.
- Consumption of REST services with JSON parsing.
- In charge of the consumption of the REST services to send requests and received the servers response to posteriorly parse it into model classes or just a message.
- Work in the Mapkit implementation and customization of the annotations with another developer.
- Participated in reviews of the App’s Architecture to see if proper changes should be done to improve its performance.
- Improved the application performance trough the use of Instruments: Time Profiler, Allocations, Leaks and Zombie objects.