Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
It is but not an "architecture" talk
Search
Ragunath Jawahar
December 01, 2018
Programming
4
250
It is but not an "architecture" talk
#105 December Meetup - BlrDroid + BlrKotlin
https://www.meetup.com/blrdroid/events/256468726/
Ragunath Jawahar
December 01, 2018
Tweet
Share
More Decks by Ragunath Jawahar
See All by Ragunath Jawahar
Single-responsibility principle meets the real world! (Dubai Edition)
ragunathjawahar
0
24
Single-responsibility principle meets the real world!
ragunathjawahar
0
130
Making sense of large Java and Kotlin classes
ragunathjawahar
1
220
Building Robust Software, Episode 3
ragunathjawahar
1
140
Building Robust Software, Episode 2
ragunathjawahar
1
91
Building Robust Software (Episode 1)
ragunathjawahar
1
310
Speed as a workplace habit
ragunathjawahar
1
280
Building Robust Apps (Swift Edition)
ragunathjawahar
0
200
Re-architecture
ragunathjawahar
0
430
Other Decks in Programming
See All in Programming
Beyond ORM
77web
11
1.6k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
700
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
1
440
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
Amazon Nova Reelの可能性
hideg
0
200
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
DMMオンラインサロンアプリのSwift化
hayatan
0
190
Featured
See All Featured
Designing for Performance
lara
604
68k
Adopting Sorbet at Scale
ufuk
74
9.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
How STYLIGHT went responsive
nonsquared
96
5.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Bash Introduction
62gerente
610
210k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
Transcript
IT IS BUT NOT AN “ARCHITECTURE” TALK @RagunathJawahar | Uncommon
TEAM SIZE • Lone wolf / she-wolf • 2 /
3 member team • 4 / 5 member team • 5 - 10 member team • Greater than 10
EMOTIONS • Joy • Indifference • Annoyance • Frustration CODE
BASE &
TWO INFAMOUS STATEMENTS (EXCUSES) 1. We don’t need an architecture.
*Not drawn to scale Objects in front of you are
closer than they appear Time Features Prototyping A/B Tests No architecture With architecture
TWO INFAMOUS STATEMENTS (EXCUSES) 1. We don’t need an architecture.
2. They don’t give us enough time for architecture.
WHAT’S REQUIRED Important Unimportant Urgent Not Urgent Structure Behavior Structure
Behavior
WHAT ENDS UP HAPPENING… Important Unimportant Urgent Not Urgent
WHAT ENDS UP HAPPENING… Important Unimportant Urgent Not Urgent Structure
Behavior Behavior
Structure Behavior
Structure Behavior
Structure Behavior
Structure Behavior
“ The goal of software architecture is to minimise the
human resources required to build and maintain the required system. -Robert C. Martin
NO TIME FOR ARCHITECTURE? @rensvandenbergh
SETTLING ON AN ARCHITECTURE
None
FACTORS • Platform • Paradigm • Language • Tools &
dev practices INFLUENTIAL
FACTORS INFLUENTIAL • Platform • Paradigm • Language • Tools
& dev practices
IMPERATIVE FUNCTIONAL • MVC • MVP • MVVM • VIPER
• MVI (One Way) • Redux *Not an exhaustive list
IMPERATIVE FUNCTIONAL • Easy to learn • Mutability • Performance
• Learning curve • Immutability • Predictability • Asynchrony *Not an exhaustive list
DESIGN THINKING Explore Understand Evaluate Make
MAKING & EVALUATING (ANDROID) ARCHITECTURES • Hello stranger • Counter
• Login • BMI Calculator • Image chooser • Quiz with timer • Magnetometer
QUALITY ATTRIBUTES
UBER
SOME COMMON QUALITY ATTRIBUTES • Testability • Adoptability • Adaptability
• Availability • Reliability • Performance • Scalability *Not an exhaustive list • Security • Manageability • Buildability • Reusability • Maintainability • Simplicity • Efficiency
WORKFLOW
VISUALIZE
VISUALIZE
ESCAPE • Boilerplate • Slow down (feels like) VELOCITY
QUESTIONS? @ragunathjawahar / GitHub / Twitter / Medium