Marcel Oliveira Alves, Developer in São Paulo - State of São Paulo, Brazil
Marcel is available for hire
Hire Marcel

Marcel Oliveira Alves

Verified Expert  in Engineering

Software Developer

São Paulo - State of São Paulo, Brazil

Toptal member since December 7, 2020

Bio

Marcel is a senior iOS engineer with 7+ years of experience building scalable, user-centric solutions using Swift and Objective-C. He interned at Google on YouTube's iOS app and worked as a back-end engineer at Amazon. At Angi, he led the migration to OIDC, boosting security and scalability. He also built an internal A/B testing library powering four apps and streamlined the iOS build process, cutting build time by around 45% and pipeline costs by around 70%.

Portfolio

Angi
Swift, SwiftUI, UIKit, Objective-C, Bitrise, Mixpanel, Firebase, New Relic, SQL...
Angi
iOS, Swift, Objective-C, UIKit, Combine, Cocoa Touch, iOS SDK, Nimble...
Amazon.com
Java, Agile, Python, Amazon Web Services (AWS), SQL, Redshift, AWS Lambda...

Experience

  • iOS - 5 years
  • REST - 5 years
  • Xcode - 5 years
  • Swift - 5 years
  • Grand Central Dispatch - 5 years
  • UIKit - 5 years
  • Git - 4 years
  • Unit Testing - 3 years

Availability

Full-time

Preferred Environment

iOS, Jira, Confluence, Swift, XCTest, iTerm2, MacOS, Git, Xcode, Slack

The most amazing...

...project I delivered was the migration from a legacy authentication system to OIDC. I led development and created the dashboards for observability.

Work Experience

Senior iOS Software Engineer

2022 - PRESENT
Angi
  • Led the migration of a mobile legacy authentication system to the industry-standard OIDC protocol, addressing technical debt and enhancing security and scalability. This migration improved the sign-in completion rate by 11% (from 63% to 70%).
  • Developed a concurrency-safe A/B testing library in Swift 6, now powering four of Angi’s mobile apps and streamlining product experimentation through reliable A/B tests and improving developer productivity.
  • Refactored the Photos Upload feature, resulting in a 79% improvement in the photo upload completion rate (from 38% to 68%).
  • Enhanced app stability and maintainability by modernizing legacy code — migrating UIKit to SwiftUI, rewriting Objective-C in Swift, and adopting MVVM to replace VIPER — resulting in reduced complexity, improved development speed, and fewer bugs.
  • Created monitoring dashboards that identified critical issues, such as race condition bugs during app initialization that caused users to be incorrectly signed out.
Technologies: Swift, SwiftUI, UIKit, Objective-C, Bitrise, Mixpanel, Firebase, New Relic, SQL, Mobile, Large-scale Projects, Online Payments, Consumer-facing Products

iOS Software Engineer

2021 - 2022
Angi
  • Improved the team's main Bitrise pipeline, reducing the build time by more than 45% and the overall pipeline costs by more than 70%.
  • Co-designed the new network layer on Angi Services for Pros using Swift, protocol-oriented programming, Generics, Codable, and Alamofire.
  • Designed, implemented, and launched the new onboarding experience on Angi Service for Pros iOS app.
  • Eliminated flakiness in unit tests by refactoring the code to use mockups instead of actual services.
  • Migrated part of the codebase from Objective-C to Swift and MVC to MVVM.
Technologies: iOS, Swift, Objective-C, UIKit, Combine, Cocoa Touch, iOS SDK, Nimble, Nimble-Snapshots, REST, Generics, Alamofire, Dependency Injection, XCTest, Consumer-facing Products

Software Development Engineer

2021 - 2021
Amazon.com
  • Coordinated the deployment of a new feature for ingesting and classifying more than 5,000,000 documents per month.
  • Implemented changes in different microservices to fix bugs in document ingestion workflow.
  • Cultivated new features, unit tests, and integration tests for existing services.
  • Designed documents and participated in design review meetings.
  • Developed SQL queries to generate accounting reports.
Technologies: Java, Agile, Python, Amazon Web Services (AWS), SQL, Redshift, AWS Lambda, AWS CloudFormation, Amazon S3 (AWS S3), Amazon CloudWatch, Amazon EC2, Amazon DynamoDB, Large-scale Projects

iOS Software Engineer

2020 - 2020
ArcTouch
  • Designed, implemented, and documented iOS and tvOS features for Fortune 100 companies' apps.
  • Provided internal talks about iOS app development and the Xcode build system.
  • Mentored engineers from different backgrounds to migrate to iOS engineering.
Technologies: Amazon Web Services (AWS), iOS, HTTP, Firebase iOS SDK, User Experience (UX), Accessibility, Voice Over, tvOS, Socket Programming, Storyboarding, CocoaPods, Clean Architecture, Firebase, UIKit, SwiftLint, Unit Testing, Clean Code, JSON, REST, Writing & Editing, Networks, Generic Programming, Functional Programming, Object-oriented Programming (OOP), Software Engineering, Agile, Jira, Confluence, iTerm2, MacOS, Git, Slack, Xcode, Memory Management, Grand Central Dispatch, Auto Layout, XCTest, SwiftUI, Combine, Swift, Cocoa Touch, iOS SDK, Social Networks, RxSwift, Consumer-facing Products

iOS Developer Course Mentor

2019 - 2020
Udacity
  • Supported over 30 students from different time zones via Slack, Google Hangouts, Zoom, and Udacity Student Hub.
  • Presented webinars to discuss the course topics, such as value semantics, MVC, UIKit, Auto Layout, storyboards, GCD, networking, REST, and Core Data.
  • Created demo apps to explain the concepts of unit testing and clean architecture through examples.
Technologies: iOS, HTTP, User Experience (UX), Clean Architecture, AVFoundation, Memory Management, Grand Central Dispatch, Object-oriented Programming (OOP), Software Engineering, Swift, MacOS, Git, Xcode, Slack, Webinars, Presentations, JSON, REST, UIKit, Auto Layout, Networks, Core Data, Unit Testing, Clean Code, Cocoa Touch, iOS SDK

iOS Developer

2017 - 2019
Freelance
  • Designed, developed, maintained, and documented native iOS apps written in Swift using different architectures, such as MVC, MVVM, VIPER, and Clean Swift.
  • Implemented local Core Data, Realm and cloud Firebase, AWS persistence, and communication using REST and JSON.
  • Created unit tests, integration tests, and UI tests using XCTest.
  • Conducted app performance analysis using Instruments and Xcode.
Technologies: Amazon Web Services (AWS), iOS, HTTP, Firebase iOS SDK, User Experience (UX), Storyboarding, CocoaPods, Accelerate, iOS SceneKit, Metal, Clean Architecture, UIKit, SwiftLint, Auto Layout, Unit Testing, Memory Management, Clean Code, Grand Central Dispatch, JSON, Writing & Editing, Networks, Object-oriented Programming (OOP), Software Engineering, MacOS, Git, Xcode, Slack, XCTest, REST, Firebase, Core Data, Swift, Cocoa Touch, Consumer-facing Products

Software Engineering Intern

2017 - 2017
Google
  • Implemented a prototype feature for the YouTube iOS app that reduced the mean upload time by 30% in 1 Mbps networks.
  • Conducted end-to-end tests to assess the video upload time improvement provided by the new feature.
  • Wrote a design document to discuss the implemented feature's pros and cons with other Google engineers.
  • Created unit and integration tests for the developed features.
Technologies: iOS, Clean Architecture, Linux, Core Data, Unit Testing, Memory Management, Clean Code, Grand Central Dispatch, Writing & Editing, Networks, Object-oriented Programming (OOP), Software Engineering, Agile, XCTest, MacOS, Xcode, AVFoundation, Core Video, Python, Protocol Buffers, Objective-C, Cocoa Touch, iOS SDK

System Administrator

2012 - 2017
Brazilian Government Labor Prosecution Service
  • Developed Python scripts to automate case distribution sector tasks, reducing their completion time from days to hours.
  • Provided technical support, wrote documentation, and managed the bug tracking system.
  • Introduced and implemented Agile methodologies using Jira and Confluence at my workplace.
  • Supervised and mentored interns on system administration and user support.
Technologies: Python, Object-oriented Programming (OOP), Distributed Systems, Agile, Network Security, Microsoft Deployment Toolkit (MDT), Linux

Experience

ARNeuro | AR iOS App

https://www.dropbox.com/s/bmaivrj7bqu9d2l/dissertation.pdf
An augmented reality iOS app developed during my master's program to help neurosurgeons during preoperative planning. I wrote the app in Swift and used frameworks such as ARKit, SceneKit, Metal, UIKit, Accelerate, Vision, and XCTest.

With ARNeuro, the user can inform the 3D coordinates of three to five points obtained from a computed tomography volume of the patient's head and a target point or region. The app uses ARKit capabilities to find the correspondent points on a real patient. It then performs some linear algebra operations to match the virtual points and the real points, a process known as registration. Finally, the app renders the target point or region overlaid onto the patient's head on the device screen. This enables the surgeon to perform minimally invasive surgery.

My tests indicated a low error rate, around three millimeters from the target. I've also conducted performance tests using Instruments and Xcode. I'm currently improving user experience and app accuracy by testing different renderers, such as SceneKit and Metal.

Streaming Apps for a Fortune 100 Company

This was a project of one of the most prominent players in the entertainment industry. It contained multiple streaming apps for tvOS, iOS, and iPadOS. Considering all apps, the average rating was 4.6 out of 5.0 from a total of more than 135,000 user evaluations. I was responsible for implementing accessibility features, fixing bugs, and creating new screens and UI components for the project's apps.

The highlight of the project was fixing and documenting a tricky bug that harmed the user experience. The bug happened while the app was running on the Apple TV device but not on the simulator, making it harder to debug. I also opened a bug report with Apple because a bug caused the issue in their AVFoundation framework.

Device Controller App for iOS

An iOS app for one of the biggest tech companies. The native app, written in Swift, worked as a front end that communicated with the server through a REST API to control a router device and configure user profiles, permissions, login, and more. I was in charge of implementing new features using the MVVM architecture, creating animations, doing code reviews, suggesting changes, and fixing bugs.

Project highlights:
• I fixed a tricky memory leak bug that was happening in some Coordinator classes.
• I suggested a refactor to change the architecture of a specific part of the app from MVVM to VIPER, significantly reducing the time to implement new features for that part of the app, the amount of repeated code, and the number of bugs caused by the view model that complicated state management.

Chat Feature for a Social Network App

Built the front end of a chat feature for a social network startup iOS app. I implemented one-to-one and group chats using REST APIs, socket programming, and AWS framework for five weeks. Also, I identified and reported bugs on the back end.

V Voice Changer App

A simple Swift app that enables users to record audio, apply effects to their recordings, and share with friends. I mainly developed the app to learn about the Lottie library, AVFoundation framework, and the current policies for publishing an app in the App Store. Besides the mentioned technologies, I also used UIKit, Auto Layout, storyboard, and CocoaPods.

FoW Codex for iOS

An app to help the players of the card game Force of Will (FoW) by allowing them to search for cards and using in-game tools, such as a life counter, dice, or timer. I developed the iOS version in Swift, and my colleagues developed the Android version in Java.

My responsibilities on this project included:
• Writing a Python script to extract the card information from the web to create our database.
• Creating the cloud database using Firebase.
• Designing our local and cloud database approach to synchronize and update.
• Taking product decisions to improve the user experience.
• Developing the iOS version of the app.

The app had to be discontinued from the App Store due to our lack of time for maintaining it.

Education

2016 - 2018

Master's Degree in Computer Science

Federal University of Sergipe - São Cristóvão, Sergipe, Brazil

2008 - 2013

Bachelor's Degree in Computer Science

Federal University of Sergipe - São Cristóvão, Sergipe, Brazil

Certifications

MARCH 2016 - PRESENT

iOS Developer Certificate

Udacity, Inc.

Skills

Libraries/APIs

Alamofire, CocoaPods, Nimble-Snapshots, Lottie-iOS, Firebase iOS SDK, RxSwift

Tools

Xcode, Grand Central Dispatch, Auto Layout, Slack, Git, SwiftLint, Confluence, Jira, Microsoft Deployment Toolkit (MDT), AWS CloudFormation, Amazon CloudWatch

Languages

Swift, Objective-C, Java, SQL, Python

Frameworks

XCTest, UIKit, SwiftUI, Cocoa Touch, iOS SDK, ARKit, Core Video, Core Data, Combine, Metal, iOS SceneKit, Accelerate

Paradigms

Object-oriented Programming (OOP), Unit Testing, Dependency Injection, Agile, REST, Clean Code, Functional Programming, Generic Programming, Clean Architecture, Socket Programming

Platforms

iOS, Bitrise, Mobile, MacOS, Mixpanel, New Relic, Firebase, Linux, tvOS, Amazon Web Services (AWS), AWS Lambda, Amazon EC2

Storage

JSON, Redshift, Amazon S3 (AWS S3), Amazon DynamoDB

Industry Expertise

Network Security

Other

Software Engineering, Generics, Large-scale Projects, Consumer-facing Products, Writing & Editing, Research, Memory Management, Storyboarding, HTTP, User Experience (UX), Nimble, iTerm2, Distributed Systems, Artificial Intelligence (AI), Algorithms, Data Structures, Compilers, Networks, Graphs, Linear Algebra, System Architecture, Computer Vision, Image Processing, Computer Graphics, Protocol Buffers, AVFoundation, Presentations, Webinars, Accessibility, Voice Over, Social Networks, Online Payments

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