Ignacio Rodrigo, Developer in Montevideo, Montevideo Department, Uruguay
Ignacio is available for hire
Hire Ignacio

Ignacio Rodrigo

Verified Expert  in Engineering

Software Developer

Location
Montevideo, Montevideo Department, Uruguay
Toptal Member Since
December 16, 2014

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

Globant
Swift
Globant
Swift, Objective-C
CodigoDelSur
Git, JavaScript, HTML5, Java, Django, Python, Ruby on Rails (RoR), Objective-C...

Experience

Availability

Part-time

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

2017 - PRESENT
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.
Technologies: Swift

Senior iOS Developer

2014 - PRESENT
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.
Technologies: Swift, Objective-C

Senior iOS Developer and Technical Leader

2011 - 2014
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.
Technologies: Git, JavaScript, HTML5, Java, Django, Python, Ruby on Rails (RoR), Objective-C, iOS

Microblog RESTful API

https://github.com/irodrigo17/microblog-django
This is a RESTful API for a personal Microblog app built for showcasing purposes only. It uses Python + Django + Tastypie and is deployed to Heroku.

Microblog App + Rails API

https://github.com/irodrigo17/microblogging-app
This is a sample microblogging iOS app, and the corresponding RESTful API uses Ruby on Rails and is deployed to Heroku.

Fobal

I wrote a straightforward Django application to organize weekly soccer matches with co-workers. While there are still numerous ideas in the pipeline, the application has been up and running for several months. It includes a comprehensive range of features such as unit and functional tests, continuous automated integration, and static code analysis.

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

2009 - 2014

System's Analyst Degree in Software Engineering

Universidad de la República - Montevideo

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring