"If one sticks to the idea that once set, a plan should not be changed, a business
cannot exist for long."— Taiichi Ohno
But first:A BRIEF HISTORY
OOPS
PAYPAL IN THEMID-AUGHTS WAS
DRIVEN EXCLUSIVELYBY RISK MITIGATION
SLOW BY DESIGN
Developers:CREATURES OF HABIT
TRUSTNO ONE
nih(NOT INVENTED HERE)
GREAT FOR FARMS—NOT GREAT FOR YOUUNLESS YOU FARM, IN WHICH CASE I'M IMPRESSED
"everything is a secret andI trust no one."
— Developers
PAYPAL IN THEMID-AUGHTS WAS
DRIVEN EXCLUSIVELYBY RISK MITIGATION
!
THE CULTURE WAS THE REAL REASON FOR THE DECISION TO CHANGE
THE TECHNOLOGY WAS HOW WE SOLD IT
HOW?
start small
TEAR ITDOWN
BUILD ITBACK UP
TRANSPARENTLY?
CONSIDER EVERYTHING BUTDON'T BE AFRAID TO SAY NO
TRANSPARENCY:
I lied.
ENJOY THE FOLLOWING NODEJS CODE
HOW TO WRITE AN EXPRESS APPimport Express from 'express';
const app = Express();
app.listen(8000);
HOW TO WRITE A KRAKEN APPimport Express from 'express';import Kraken from 'kraken-js';
const app = Express();
app.use(Kraken());app.listen(8000);
HOW TO WRITE A PAYPAL APPimport Express from 'express';import Kraken from 'kraken-js';import PayPal from 'paypalize';
const app = Express();const opts = PayPal();
app.use(Kraken(opts));app.listen(8000);
So …WHAT DOES
THAT GIVE US?
dynamic service mapping, local secrets decryption,service configuration, PayPal standard configuration(csrf, x-frame, etc), central logging, central cookiehandling, central device-detection, central sessionhandling, central exception tracking, monitoring,