Search Input






Class Details



  • -
  • -
  • -
  • -
  • -



[TIMEATTACK]SenioriOSEngineer,SoojinRo_노수진 Details

Intro

Building a Scalable Architecture to maintain
a stable user & developer experience
with a growing mobile team and app.

 Coloso Soojin Ro Building a Highly Scalable Architecture for a Super-App
Coloso Soojin Ro Building a Highly Scalable Architecture for a Super-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.

Coloso Class Breakdown Details 1
Content

Length: 23 videos
(Duration 11h 6m)
Difficulty: Intermediate

 Coloso Class Breakdown Details 2
Video Details

Audio: Korean
Subtitles: English

Coloso Class Breakdown Details 3
Software Required

- Xcode 13
- Swift
- Swift Package
- Combine
- RIBs
- XCTest

※All exercises in this class are based on iOS apps and are done through Mac. Windows users may experience difficulties.

Coloso Class Breakdown Details 4
Perks

PDF files
Github link

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
scalable architecture!

 Coloso Soojin Ro Building a Highly Scalable Architecture for a Super-App
 Coloso Soojin Ro Building a Highly Scalable Architecture for a Super-App

Are there any issues your team is struggling with?
It's time to deploy a scalable architecture right away!

As the app or team grows in size, productivity is reduced because of increased build time or frequent code collisions.

Bugs occur more frequently, and the time spent in debugging has increased.

You want to start automation tests (unit tests, UI tests) but don't know how.

The time for a user to run the app for the first time has increased, and the stability of the app has decreased.

Highlights

What do we need to create a highly scalable architecture?
Learn about the 3 essential concepts & infrastructure
that can create synergy together!

 Coloso Soojin Ro
Level Architecture

- Method Where Objects are Assembled for Usage
- Designing a Good Architecture Beyond the Type of Framework and Language

  Coloso Soojin Ro
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

  Coloso Soojin Ro
Automation Testing

- Ways to Reduce Bugs to Increase Developer Experience
-Types of Tests and Their Strategic Application

  Coloso Soojin Ro
Scalable Infrastructure

- 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!

Soojin Ro Class exercises

An iOS app based on Swift has various services within the app (taxi, grocery, etc.) and has its payment platform (Pay).
Each service is separated into modules, so developers from each part do not affect each other, and because there's no source code dependency, parallel development is possible.
The frequently used features in other modules, such as payment and user profiles, are provided to other modules through the interface. No matter how big or complex the features get, it does not affect other modules or developers.

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.

Soojin Ro Class exercises
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.

Soojin Ro Class exercises
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 Class exercises

Recommendations
Soojin Ro's Class
Recommended by Experts in the Field

Instructor

Soojin Ro
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.

Background images
Coloso Soojin Ro
Soojin Ro

[Current]
Momenti / Senior iOS Engineer
DevChat.tv iPhreaks / Panelist
Interactive Multimedia Platform Development


[Former]
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

2015
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
NDC 2013

Curriculum

Curriculum
In-depth Look

*Please note that the release date of the course video, the image and content of the curriculum, etc. are subject to change without notice.

Interview with
Senior iOS Engineer, Soojin Ro

Background images
Question. 01
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.

Question. 02
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.

Question. 03
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.

Question. 04
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.).

Required Programs

This course will use
- Xcode 13
- Swift
- 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.

Xcode13 Swift Swift Package Combine RIBs XCTest

※All exercises in this class are based on iOS apps and are done through Mac. Windows users may experience difficulties with the class.

[Required]
- Some knowledge about Swift + understanding of the protocol concept and application experience
[Recommended]
- If you have a development experience using one or more iOS architecture(MVC, MVVM, ReSwift, VIPER, RIBs, etc.), you'll gain even more insight.
- This class does not cover basic knowledge on Swift.

※These programs and/or materials will not be provided with the course.

Recommended

Recommended Classes
Like this class?
Then check these out!

[IMPORTANT NOTICE]

*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.