Ignacio Rodrigo
Verified Expert in Engineering
Software Developer
Ignacio is an experienced full-stack software developer, focused mainly on iOS development and committed to software quality, who loves creating apps with a great user experience, backed up by a robust and maintainable code base, while applying the best development practices and using agile development methodologies in the process.
Portfolio
Experience
Availability
Preferred Environment
Python, Atom, Bash, Git, Xcode, MacOS
The most amazing...
...thing I've coded is a real-time physics-based online multiplayer game for iOS, with a custom made back-end system.
Work Experience
iOS Software Designer
Globant
- Worked on the Royal Caribbean iOS app, used by thousand of guests on different ships every day. The app is in the 1.x versions, so it's relatively new and uniform code, written completely in Swift. There's also another brand of the app for Celebrity cruises, which shares most of the code with the standard app.
- Led the development of a reusable framework that handles all the notifications in the app. The framework was fully documented from the ground up, with lots of code documentation which are also used to generate an HTML documentation that's used by other teams to integrate the framework. The framework handles all notifications like banners, popups, and also native local and push notifications. It also manages connectivity notifications. The framework has a very good unit test coverage, and tests were always actively maintained.
- Led one of the two core teams to develop and maintain the core features of the app.
- Helped other teams with code review to maintain high code quality.
- Planned the extraction of some of the core features into reusable components that can be shared with upcoming Kiosk and Crew apps, and added documentation and unit tests in the process.
Senior iOS Developer
Globant
- Worked on Disney park apps for almost three years, a set of very big iOS apps used by hundreds of thousands of guests. The codebase is really big and complex and has been under development for several years by lots of different people of varying seniority and coding styles. The latest features were built using Swift and MVVM architecture, but the core features are mostly written in Objective-C using an MVC architecture, although some parts are slowly being rewritten in Swift.
- Developed several new features and provided support for the existing ones.
- Did lots of code reviews, which helped improve the overall software quality.
- Helped with a big team effort to extract reusable components into frameworks that can be shared between the different park apps.
- Helped automate the build and distribution processes, which make the team more efficient. In a huge team like this, every little improvement in developer productivity save lots of money.
- Continuously documented and refactored the legacy code.
- Helped to fix, improve, and expand automated tests , which helps keep regressions down and improves code quality and maintainability.
Senior iOS Developer and Technical Leader
CodigoDelSur
- Created an iPhone application from scratch for women to track their periods. The main challenges were the local data storage for offline use and a custom built chart with lots of functions. The app now has 100,000+ users and is on the top charts.
- Developed a 2D turn-based game with intensive physics usage from the ground up. I was in charge of the iOS application and RESTful API development. I also trained a new iOS intern to work on the project. This was a really challenging project involving complex logic and complex architectural decisions. We used Cocos2d as the graphics engine (SpriteKit had not been released yet) and Chipmunk to handle the physics.
- Built a companion iOS app for an activity sharing platform with custom hardware and an an AI-powered back-end system. I was in charge of developing the iOS application, which is basically a client for a the system's RESTful API. The app had some custom charts built in and moderately complex logic to interact with the API in a user-friendly way. I worked as part of a big distributed team including product owners, project managers, back-end developers, web developers, hardware developers, QA, and beta testers. We applied Scrum to collaborate effectively and build a great and robust distributed system.
- Continued development of a legacy iPad app for agribusiness to streamline the communication and workflow between field scouts, agronomists, and producers. The app makes heavy use of maps and location services, syncs with several RESTful APIs, and has full offline functionality with local storage backed up by Core Data. I refactored it to improve each weak spot of the original application.
- Created an OCR iOS framework that is used by third-party apps to scan several types of cards including passports, driver licenses, and health insurance documentation, using OpenCV for image processing.
Experience
Microblog RESTful API
https://github.com/irodrigo17/microblog-djangoMicroblog App + Rails API
https://github.com/irodrigo17/microblogging-appFobal
Skills
Languages
Objective-C, Swift, C, C++, Java, Bash, HTML5, Python, JavaScript, SQL, Ruby
Frameworks
Cocoa Touch, MapKit, Core Location, UIKit, XCTest, Core Data, AFNetworking, Chipmunk, Cocos2d, Express.js, Django, Core Plot, Ruby on Rails (RoR)
Tools
Xcode, Git, Terminal, GitHub, Atom, Jira, Jenkins
Paradigms
Object-oriented Programming (OOP), Distributed Computing, Model View Controller (MVC), Asynchronous Programming, Scrum, Agile Software Development, Parallel Computing
Platforms
iOS, MacOS, Linux, NVIDIA CUDA, Amazon Web Services (AWS), Heroku, Android, Parse
Libraries/APIs
CocoaPods, Google Maps SDK, NumPy, Scikit-learn, Core Graphics, Core Animation, Parse SDK, Tastypie, Facebook Open Graph API, Facebook iOS SDK, Twitter API, Twitter SDK, OpenCV
Storage
PostgreSQL, MySQL, SQLite, MongoDB, NoSQL
Other
AVFoundation, Machine Learning
Education
System's Analyst Degree in Software Engineering
Universidad de la República - Montevideo
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring