SoundCloud
www.juliozynger.com
● 200+ million tracks → world’s largest open audio platform
● Over 25 million creators
● Available in 190 countries
● 90%+ of usage comes from mobile devices
Slide 3
Slide 3 text
SoundCloud
www.juliozynger.com
● Started as Rails application
● Microservice extraction
● Dozens of engineers, hundreds of services
● Polyglot development and tooling
SoundCloud
www.juliozynger.com
Bare SQL
Propeller
Lean API
Type Safety
Observability, etc.
Slide 7
Slide 7 text
SoundCloud
www.juliozynger.com
SQLDelight
Code generation
SQL / Java,Kt separation
Multiplatform
Bare SQL
Propeller
Lean API
Type Safety
Observability, etc.
Slide 8
Slide 8 text
SoundCloud
www.juliozynger.com
Room
Google’s solution
Onboardable
Well-documented
SQLDelight
Code generation
SQL / Java,Kt separation
Multiplatform
Bare SQL
Propeller
Lean API
Type Safety
Observability, etc.
Slide 9
Slide 9 text
www.juliozynger.com
Slide 10
Slide 10 text
www.juliozynger.com
Documentation
Slide 11
Slide 11 text
www.juliozynger.com
Slide 12
Slide 12 text
www.juliozynger.com
Slide 13
Slide 13 text
www.juliozynger.com
Slide 14
Slide 14 text
www.juliozynger.com
Slide 15
Slide 15 text
A document shouldn’t try
to do what the code
already does well.
www.juliozynger.com
“
― Eric Evans,
Domain-Driven Design: Tackling Complexity in the Heart of Software
DBML (dbml.org)
www.juliozynger.com
● Open-source DSL language
● Define and document DB schemas
● Designed to be simple, consistent and highly-readable
Slide 25
Slide 25 text
DBML (dbml.org)
www.juliozynger.com
Table users {
id integer [pk]
username varchar
role varchar
}
Table posts {
id integer [pk]
title varchar
body text [note: 'Content of the post']
user_id integer
}
Ref: posts.user_id > users.id
www.juliozynger.com
Wrap-up
● Source code is source for docs
Slide 40
Slide 40 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
Slide 41
Slide 41 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
● Value generation in each step of the pipeline
Slide 42
Slide 42 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
● Value generation in each step of the pipeline
● Workflow augmentation
Slide 43
Slide 43 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
● Value generation in each step of the pipeline
● Workflow augmentation
● Enable potential extension
Slide 44
Slide 44 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
● Value generation in each step of the pipeline
● Workflow augmentation
● Enable potential extension
● Accessibility through environment agnostic tooling
Slide 45
Slide 45 text
www.juliozynger.com
Wrap-up
● Source code is source for docs
● No disruption through full automation
● Value generation in each step of the pipeline
● Workflow augmentation
● Enable potential extension
● Accessibility through environment agnostic tooling
● Inter business department involvement