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 software engineer with 7+ years of iOS development and a history of working for startups and big companies. During his MSc program, Marcel interned at Google and worked on a feature for YouTube's iOS app. He also worked as a back-end engineer for Amazon and iOS contractor for other Fortune 100 companies. During his most recent contract at Angi, he reduced the iOS pipeline costs by around 70% and co-designed the new network layer on iOS Angi Services for Pros.

Portfolio

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...
ArcTouch
Amazon Web Services (AWS), iOS, HTTP, Firebase iOS SDK, User Experience (UX)...

Experience

Availability

Part-time

Preferred Environment

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

The most amazing...

...software I've developed is an augmented reality iOS app to assist professionals during the preoperative planning of neurosurgeries.

Work Experience

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

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

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 Development, Xcode, Memory Management, Grand Central Dispatch, Auto Layout, XCTest, SwiftUI, Combine, Swift, Cocoa Touch, iOS SDK

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 Development, 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 Development, XCTest, REST, Firebase, Core Data, Swift, Cocoa Touch

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

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

A project of one of the most prominent players in the entertainment industry. The project 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 audios, 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 to publish 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 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.
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

MARCH 2016 - PRESENT

iOS Developer Certificate

Udacity, Inc.

Libraries/APIs

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

Tools

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

Languages

Swift, Objective-C, Python, Java, SQL

Frameworks

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

Paradigms

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

Platforms

iOS, MacOS, 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, Writing & Editing, Research, Memory Management, Storyboarding, HTTP, User Experience (UX), 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, Nimble, Generics

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