Building a Scalable Architecture to maintain
a stable user & developer experience
with a growing mobile team and app.
Developers' skills are shown in
how well they can handle
bottlenecks in a development process.
For servers, bottlenecks occur
when many users are crowded in a server,
but for mobile, bottlenecks occur
when several developers' codes are crowded
in one program.
Thanks to the scalable architecture,
Grab mobile development team,
which is made of more than
100 iOS developers,
divided into less than 10 big Tech Families
such as Mobility, Food, Payment, CX, etc.
Each team makes use of the features
created by other teams, as well as
provide stable service to consumers,
and were able to increase
the developers' productivity.
Length: 23 videos
(Duration 11h 6m)
- Xcode 13
- Swift Package
※All exercises in this class are based on iOS apps and are done through Mac. Windows users may experience difficulties.
Expert Senior iOS Engineer
Soojin Ro's Profile & Portfolio
How do the 100+ iOS developers at Grab, the biggest Southeast Asian super-app with 180 million users in 8 countries deploy dozens of new features in a month without experiencing bottlenecks every week?
The answer is
Are there any issues your team is struggling with?
It's time to deploy a scalable architecture right away!
What do we need to create a highly scalable architecture?
Learn about the 3 essential concepts & infrastructure
that can create synergy together!
- Method Where Objects are Assembled for Usage
- Designing a Good Architecture Beyond the Type of Framework and Language
Module Level Architecture
- Essential Tasks for the Scalability of an App Architecture
- Increased Speed of Development, Easier Maintenance and Testing
- Concepts and Patterns of Dependency Injection for Loose Coupling
- Ways to Reduce Bugs to Increase Developer Experience
-Types of Tests and Their Strategic Application
- Feature Flags
- Monitoring Quality
- Cases of a Good Development Culture
Project | Create a Mini Super-App
Composition, modularity, and testing to build scalable architectures
Create a real super app thumbnail project and practice step by step!
STEP 1. Creating a Complex View and Flow
- Try to break down a view with a complex interaction into composition architecture and assemble it.
- Take advantage of a RIBs architecture that business logic can drive apps and develop complex flows to make them reusable.
STEP 2. Refactoring & Fixing a Module with a Faulty Design
- The codes written in Part 1 are strongly joined in between objects.
- To increase scalability, a new code is added and separated as a module and goes through refactoring to assemble them.
- Learn about things to consider when you provide a module, and fix modules with a faulty design as you deal with the usability of a code and OCP.
STEP 3. Testing in 4 Methods
- Apply 4 tests(Unit Test, Snapshot Test, UI Test, Integration Test) on the codes modularized in Part 2.
- Compare the features of each test and what test should be applied in which situation.
Soojin Ro's Class
Recommended by Experts in the Field
Senior iOS Engineer
Hello, I'm Soojin Ro.
I've created this class
based on my super-app
development experiences with
LINE, Grab, Naver Webtoon, etc.
In this class, we will work on a mini project
as we carry out all the processes in detail,
from implementing super-app features
to refactoring and automated testing.
Let me show you and share how to build
an environment where 100 developers can develop
and go through quick maintenance at the same time.
Momenti / Senior iOS Engineer
DevChat.tv iPhreaks / Panelist
Interactive Multimedia Platform Development
Lectures and other activities
2020 ~ 2021
Grab / Senior iOS Engineer, Engineering Owner
iOS Part Lead in GrabPay Wallet Add Cash Framework 2.0 Development Project
Project Lead and Introduced Flutter for the first time in the Mystery Prize-winning Feature Development Project
P2P Transfer Feature Modularization
2018 ~ 2020
Naver Webtoon / iOS Developer
New Content Paid Model(Free Just For You) Development Lead, Webtoon Recommendation Feature for New Users,App Transition to Universal, Banner Ads Integration and Improvement
Naver Labs / iOS Developer
AWAY In-car Infotainment App, AKI Parent/Guardian App Development
Swift NYC / Speaker
NAVER Tech Concert: Mobile / Speaker
SwiftFest Boston / Speaker
Notable Me App/ Individual project
LINE / Android Developer
LINE Lite Android App Development
Security Card Widget App / Individual project
2015-2017 App Store Selected as Popular App of the Year
*Please note that the release date of the course video, the image and content of the curriculum, etc. are subject to change without notice.
Senior iOS Engineer, Soojin Ro
Please share your thoughts as an iOS app developer who has experienced both single-person app development & super-app development, with over 100 iOS app developers.
When I started app development, I developed a security card widget app as an individual project, and it was selected as the App of the Year from 2015 to 2017 by ranking first place in Finance and second overall in the App Store. After that, I participated in large-scale app service development such as LINE and Naver Webtoon. I joined Grab with curious thoughts on how a more complex and large-scale app services abroad handle problems that occur as the size of service grows larger. As I worked as a developer from small to large teams, I felt that the architecture of the app would have to be different as the teams and services grow larger.
Please share with us when you introduced Flutter in the Southeast Asian super-app Grab and led development for a new Mystery Prize-winning feature.
I led several projects as I worked as an iOS developer in Grab, which is the Southeast Asian Uber. When I introduced Flutter for the first time in the team and led the development project for a Mystery Prize-winning feature, I had a deep understanding of composition, which is the most fundamental element of architecture, so I was able to quickly understand the new language and architecture, and apply them to the project.
Please share your experience as a Part Lead of GrabPay Wallet Add Cash Framework 2.0 Development Project iOS.
I was the lead for the iOS part of a framework development project. The goal of this project was to completely reorganize the UI/UX for the users to easily and quickly add cash to their wallet and to extensively support several Southeast Asian countries/banks/ways to add cash. In terms of business, it was extremely important, and the level of technical difficulty was high, but I was running out of time because I joined in the middle of the project.
I redesigned the architecture to unify the development methods with the team members. As a result it accelerated the development speed and we successfully completed the project in time. The average amount of cash added by users has increased after deployment, and the conversion rate increased and set a record (over 95%), successfully reducing the company commission expenses.
Who would you recommend this class to?
I would recommend this class to senior developers with more than 2 years of practical experience in iOS development and someone with experience using one or more architectures in developing an app. Exercises will on iOS apps, but if you have knowledge of Swift syntax, the content on theories learned in class can be applied to mobile apps on other platforms(Android, Flutter, etc.).
This course will use
- Xcode 13
- Swift Package (First party dependency management tool)
- Combine (First party asynchronous+event-based framework)
- RIBs(Architecture framework from Uber)
- XCTest (Test framework)
Please purchase and install these program(s) for an optimized lecture experience.
Like this class?
Then check these out!
*Please note that the information on this page is subject to change without prior notice.
*Would you like to learn more about our refund policy? Please check here.
*Please check our FAQ for Copyright and Proprietary Rights, User-Generated Content, Security, and Violation information.