About Me

I'm Fabricio Rodríguez, an iOS developer based in Costa Rica. When I'm not programming, I enjoy spending time with my family and friends, drinking coffee, talking about music, reading, and learning new programming techniques.

Outside of work

Reading

The Manager's path

Camille Fournier

Listening

In the land of Grey and Pink

Caravan

Watching

Chimp Empire

Netflix

Learning

visionOS

Apple

Recent Projects

When I started programming, I never imagined that it would lead me to work on such interesting projects in so many different areas, the knowledge and experience I've gained working with very intelligent people is invaluable, they have impacted my life in a very positive way and it is something I’ll always be grateful for.
This is a small list of projects in which I have loved to participate, because if you love what you do, you'll never have to work again.

Gaia

iOS/tvOS Engineer

I initially contributed to this project by defining the guidelines for developers and documenting the conventions for writing code and creating unit tests. We knew that a lot of the code would be reused in the tvOS application, with this in mind we defined an MVVM architecture that allowed us to reuse the ViewModel classes by both iOS and tvOS, this allowed us to avoid code duplication and accelerate the project.

This project has a special place in my heart, initially there was no Scrum structure, we created the initial working agreements and the process to follow. Over the course of several years, we continuously improved our working method to the point where it became a well-oiled machine that worked very effectively and with little friction, this was one of the project's greatest achievements.

Responsibilities

  • Develop features and corresponding unit tests.
  • Jenkins jobs maintenance and configuration.
  • Work with third-party library vendors.
  • Certificates and provisioning profiles maintenance
    and configuration.
  • Crash detection, analysis and fix.

Tech

  • iOS, tvOS, watchOS
  • HLS
  • Jenkins
  • Apple TV integration
  • A/B Testing
  • In-app purchases
  • MVVM

Inspirato

SDET(Software Development Engineer in Test)

I am not afraid of change, and this was one of those cases where I got to do something different because my experience matched perfectly the job description and I wanted to have a different role than usual.

The goal of the project was to automate the manual regression test suite using XCTest. I was given the task of starting the automation suite from scratch. I faced a few challenges along the way, but I was able to overcome them and successfully automate the test suite. I am proud of the work I did on this project, and I am grateful for the opportunity to have taken on a new challenge.

Responsibilities

  • Test case definition and programming.
  • Create and maintain test plans in Xcode and Jira. 
  • Create and maintain workflows in Bitrise.
  • Test execution automation with Xray.
  • Manual testing.

Tech

  • XCTest
  • Bitrise
  • Gherkin
  • Xray

Greenlight

iOS Engineer

Greenlight is a company on a mission to help parents raise financially smart kids. They serve more than 6 million parents and kids with a banking app for families.

One of the most impressive aspects of this project was the large number of engineers working on the same application at the same time. Each team was responsible for a specific feature, and my team was responsible for adding credit card features. Thanks to the team's hard work, users can now apply for a credit card from the application and receive it in the comfort of their own homes.

Responsibilities

  • Ensure performance, code quality, testing, and
    stability of the application.
  • Collaborate with the engineering team to build new
    features at scale.
  • Provide guidance on Apple’s design principles,
    technology trends, and user interface guidelines
    through collaboration with the design team.
  • Design and develop mobile SDK frameworks or
    common libraries.
  • On-Call support.

Tech

  • A/B Testing
  • Bitrise
  • PromiseKit
  • Quick
  • Nimble
  • Deep Linking
  • SSL Pinning
  • MVVM-C
  • Swift Package Manager/Cocoapods

Davita

iOS Engineer

One of the things that I enjoy the most about my work is to create applications that have a direct impact on the lives of others. Davita is a clear example of this. Working on healthcare applications in the United States is always a challenge due to the amount of regulations. In this case, we developed user interface components for an application that was used by nurses to treat patients.

The project was complex, but rewarding. We had to work closely with nurses to understand their needs and ensure that the application was easy to use and safe. We also had to meet a number of regulatory requirements.

In the end, the project was a success. The application was well-received by nurses and helped to improve patient care. I am proud of the work we did and I am glad that we were able to make a difference in the lives of others.

Responsibilities

  • Feature development and unit test development
  • Work closely with UI/UX design, product ownership,
    back-end, and other teams.
  • Assist in the resolution of complex and escalated
    production issues.
  • On call support
  • Build reusable code and libraries for future use.
  • Participate in code review and perform extensive
    testing to ensure high quality software.

Tech

  • VIPER architecture
  • Realm/Realm Object Server
  • RxSwift/RxRealm
  • Carthage
  • Groovy

The Sonar Company

iOS Engineer

The Sonar Company is a startup founded in Costa Rica in early 2016. The company proposes a data transmission model using sound waves, it was selected to participate in the Comcast NBCUniversal’s SportsTech Accelerator program.

The idea behind the development was to create an application that could detect ultrasonic sounds (inaudible to humans) and transmit data through them. This data could then be converted to different formats, making it potentially useful for television. Users could receive links through the audio emitted by the television, regardless of the content that was being shown.

After experiencing setbacks, I was hired to complete the development of the app because the company hired to develop the app was unable to deliver the desired results. My contribution led to successful tests on television, which resulted in the sale of the company and the transfer of operations to the United States. I was unable to continue with the project, but it was a complex and enriching experience that I am grateful for.

Responsibilities

  • Lead the development and maintenance of the iOS
    application, ensuring they meet high standards of
    quality, performance, and usability.
  • Participate in the entire software development
    lifecycle, including design, coding, testing,
    and deployment.
  • Continuously discover, evaluate, and implement new
    technologies to maximize development efficiency.
  • Create mock-ups and prototypes to express ideas
    and gather feedback.

Tech

  • AVAudioEngine
  • Push Notifications
  • Firebase
  • Facebook Login
  • Google Sign-In
  • Google Mobile Ads
  • MVVM-C
  • Cocoapods