Verified Expert in Engineering
As a skilled software developer, Roberto has over five years of experience creating iOS apps and frameworks using leading-edge technologies. He understands the importance of writing clean, readable, and easily-maintainable code. Programming is his passion, and he loves seeing the software he writes helping people every day.
Swift, Objective-C, Mercurial, Git, Xcode, MacOS
The most amazing...
...code I've written is an iBeacon library that minimizes noise, jitter and redundant signals, with background processing capabilities.
- Worked on a large and complex codebase with many processes alongside multiple developers.
Safer Kid, Inc. (via Toptal)
- Worked on a pair of apps (the Child app and the Parent app) that are used for controlling and monitoring your children's phone.
- Created the Child app which provides monitoring details to the child on his/her device.
- Improved the performance and added new features to the Parent app.
Senior iOS Developer — Seat Selection
Travelator, Inc. (via Toptal)
- Implemented a complex airplane seat map view using UICollectionView.
- Provided detailed code review feedback at the line level and at the architectural level.
- Implemented a new object-oriented endpoint layer to interact with their web API at a high level.
- Promoted the use of unit tests, standard naming, and cleaner code.
Senior iOS Developer
IDT Corporation (via Toptal)
- Refactored large portions of unfamiliar code to improve performance and code clarity.
- Improved the scrolling performance of various screens, and the loading performance of web images.
- Worked in a self-directed manner with almost no supervision.
Senior iOS Engineer
Docler USA (via Toptal)
- Created CoreImage filters to be applied to videos, and to add image overlays to them.
- Developed a functionality like the text overlay in the Snapchat iOS app (color selection, re-positioning, scaling, and rotation).
- Reviewed the code base and performed app-wide changes to reduce potential code smells.
- Supported a movie player that used both GPUImage filters and Apple's CoreImage filters.
- Created a simple video exporter that would concatenate, apply a filter and apply an image overlay to a collection of videos.
Senior iOS Software Engineer (Remote)
- Provided recommendations, support, and code review for junior developers.
- Cleaned up and refactored a substantial portion of the code base in a large iOS project written exclusively in Swift.
- Assisted designers with iOS human interface guidelines, and clients with iTunes Connect.
- Started introducing unit testing that integrates into the existing automated build process.
- Worked remotely with a distributed team in Canada, Spain, and India.
Co-creator | iOS Software Engineer
- Developed Crashional, a real-time crash reporter library for iOS (crashional.com).
- Introduced sprints, better source control tools, and methodologies (Git and GitFlow).
- Implemented a server-side iOS debug symbols file parser using Node.js.
- Worked remotely with the another operating partner, who worked from a different country and time zone, on projects and planning.
- Acquired a much better understanding of iOS crashes and crash reports.
Senior iOS Developer | Team Lead
GB Internet Solutions
- Implemented, as a part of a team, a UI that can be completely customized remotely without an app update to manage the more than 75 mobile apps that share the Open Store codebase. (More information can be found at iTunes.apple.com/us/artist/id329882313).
- Developed a custom build server and Xcode project parser and writer to automate builds. Created a tool to automatically submit apps to the Apple App Store and created an internal “App Store”.
- Improved the release cycles by introducing better methodologies and tools.
- Promoted the use of instruments to measure performance, catch leaks, and prevent crashes.
- Introduced unit tests and Xcode bots to find bugs early and allow for automated testing.
- Supervised and mentored junior developers and coordinated tasks with them.
- Developed the private library used for detection, smoothing and filtering of iBeacons. It is used by more than 75 iOS apps including GasBuddy, with millions of users worldwide.
- Built a custom side bar UI, JSON serializer/deserializer using a reflection, image downloader and cache, and internal developer tools.
- Researched and implemented SSL certificate pinning and HTTP request signing to improve security.
Sliding View Controller
• Tab bar controller: Only a maximum of five options are on the screen, and it persists the navigation stack of each tab.
• Navigation controller: The navigation is linear, and users can't go from one section of an app to the next without first going to the root menu, i.e., hitting "back" multiple times.
• Sidebar or drawer controller: A custom controller that opens a menu from the left side. To make the menu available from anywhere in the app—by swiping from the left edge of the screen—it interferes with the back gesture of a navigation controller.
OpenStore iOS Applications
The applications have a very flexible UI and can be customized remotely without an app update. Many different features, such as games, a route planner, digital coupons, location finders, feedback forms and iBeacons, can be turned on or off and adjusted remotely.
I worked on the iOS apps from October 2010 to September 2015.
Custom iOS Build Server and App Submitter
I also developed a tool to automatically submit apps to the App Store with the click of a button.
iBeacon Detection and Noise Reduction Library for iOS
It includes filtering to reduce the number of iBeacon alerts and smoothing to minimize the noise which is always present when working with radio signals.
It is used by more than 75 OpenStore iOS apps and by the GasBuddy app which has millions of users worldwide.
UIKit, Cocoa Touch, Core Data
Xcode, Crashlytics, Git, Mercurial, Xcode Playgrounds
iOS, MacOS, OS X, Parse, Mobile
JSON, Realm, MongoDB
iBeacon, Multithreading, Code Review, Build Automation, App Submission, HTTP, HMAC, Advanced Encryption Standard (AES), Encryption, Mobile UX, Mobile UI
CocoaPods, Core Image, Node.js
Automation, Agile Software Development
Bachelor's Degree in Electronic Systems Engineering
University of Regina - Regina, Saskatchewan, Canada