How We Made Our
Tech Organization
and
Architecture
Converge Towards
Scalability
Dan Persa
@danpersa
commerce.codetalks
April 2016
Berlin, Germany
2
Senior Software Engineer
@danpersa
dan.persa@zalando.de
DAN PERSA
3
Tech Organization Scalability
Productivity
Architecture Scalability
TABLE OF
CONTENTS
EUROPE’S LEADING ONLINE FASHION PLATFORM
15 countries
3 fulfillment centers
18+ million active customers
~3 billion € revenue 2015
130+ million visits per month
10.000+ employees
Visit us: tech.zalando.com
5
ZALANDO FASHION STORE
6
ZALANDO
TECHNOLOGY
7
500+
Apps
1100+
Tech employees
2016
12
Conway’s Law
“organizations which design systems
...are constrained to produce
designs which are copies of the
communication structures of these
organizations”
13
WHY CHANGE?
TECH ORGANIZATION SCALABILITY
ATTRACT NEW,
TALENTED PEOPLE
KEEP THE TEAMS HAPPY
CREATE DIVERSITY ENCOURAGE INNOVATION
15
ATTRACTING
NEW TALENT
HIRING AS A PRIORITY
FAST FEEDBACK
900-1100
INTERVIEWS/MONTH
INSPIRING TALK
x
DO GOOD
THINGS
AND TALK
ABOUT IT
18
CONFERENCES
MEETUPS
TECH BLOG
19
KEEP TEAMS
HAPPY
x
900 participants
100 projects
100 nationalities
12 awards
21
Tech Academy
22
CODER DOJOS
23
x
How to
measure team
happiness?
25
CREATE
DIVERSITY
26
Zalando technologists come from more than 72
countries around the world. With so many languages,
backgrounds, beliefs and ideas, how do we make it
work? By celebrating our diversity and learning from
each other. We are all different, but we are all
Zalandos.
MANY BACKGROUNDS, ONE TEAM
27
ENCOURAGE
INNOVATION
x
OPEN
SOURCE
29
http://zalando.github.io/
30
Do “Open Source First”
If your Zalando project can also be useful to non-Zalandos, release it as open
source from the start.
Share Your Code
All code shared between teams must be open source.
Be Safe
To ensure the broadest possible use of your project, use the MIT License only.
Deliver Quality
Provide a great out-of-the-box experience.
OPEN SOURCE PRINCIPLES
31
Slingshot
32
ONBOARDING
33
PRODUCTIVITY
34
The Tech Constitution
35
36
OKRS
COMPANY OKRS
FASHION STORE OKRS
OTHER DEPARTMENT
OKRS
PATHFINDER TEAM
OKRS
OTHER FASHION
STORE TEAM OKRS
LOGISTICS OKRS ...
...
ARCHITECTURE SCALABILITY
MANY TEAMS WORKING AT
DIFFERENT FEATURES IN PARALLEL
TEAM AUTONOMY
ADD FEATURES FAST
PROGRAMMING LANGUAGE
DIVERSITY
EASY A/B TESTING AND REMOVING
FEATURES
38
THE SHOP
MONOLITH
39
Meet
“Jimmy”
http://blog.codinghorror.com/new-programming-jargon/
Thousands of Java classes, undocumented features
Business logic on all layers (including the database),
while “channels”, copy-pasta JSPs and global JS objects
in the frontend
x
State-of-the-art
architecture that
enables
autonomy and
fosters
innovation
42
Put the Jimmy to REST!
Enable team autonomy
Consistent user experience
Rapid feature development
Continuous deployment
Establish best practices
Tech stack update
PROJECT MISSION
INTERNET
SKIPPER
router
JIMMY
INNKEEPER
route management API
TAILOR
layout service
QUILT
template management API
FRAGMENTS REST APIs
HEADER
CART
TAILOR
layout service CART FRAGMENT
Team COAST
HEADER FRAGMENT
Team Navigation
QUILT
template management API
CART TEMPLATE
TRACKING TRACKING FRAGMENT
Team TRCKNG
https://cart.coast.zalan.do
https://eb-fragment.trckng.zalan.do
https://header-fragment-release.navigation.zalan.do
From Skipper
https://zalando.de/cart
Translation Service
Team Pathfinder
IAM API
Team GreendaleFRAGMENT
Your Team API
Your Team
From Tailor
HTML Render
AJAX APIs
Internal API Client
From Skipper
Cart Service
Team COAST
46
API FIRST REST
47
MANY TEAMS
WORKING AT
DIFFERENT FEATURES
IN PARALLEL
48
STUPS.IO
x
NEW HIRES
Feb 2015 - 13
March 2015 - 25
Feb 2016 - 54
March 2016 - 61
x THANK YOU!
QUESTIONS?
@danpersa

How We Made our Tech Organization and Architecture Converge Towards Scalability