About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday...

75
About-Face REFLECTIONS ON GROWING AN OPEN-SOURCE MENTALITY

Transcript of About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday...

Page 1: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

About-FaceREFLECTIONS ON GROWING ANOPEN-SOURCE MENTALITY

Page 2: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

About-FaceHOW I SNUCK A CULTURE TALK INTO

NODEDAY AMSTERDAM

Page 3: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Self-DestructHOW TO WRITE A

SELF-DEFEATING TALK

Page 4: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

PLEASE ALLOW MYSELFTO PROPERLY

INTRODUCE MYSELF

Page 5: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Jean-Charles Sisktwitter/@jcse • github/jasisk • jeancharles@paypal

▸ BOSTON, MA, USA▸ ENGINEER▸ PAYPAL

Page 6: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

"I have hats older than your country."— Europeans

Page 7: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 8: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 9: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 10: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 11: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 12: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 13: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 14: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 15: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Jean-Charles Sisktwitter/@jcse • github/jasisk • jeancharles@paypal

▸ BOSTON, MA, USA▸ ENGINEER▸ PAYPAL

Page 16: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

i saidYES

Page 17: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 18: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

THE JOBI HAVE

Page 19: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

I work, primarily, onOPEN SOURCE SOFTWARE

Page 20: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

JOB IWISH I HADMATCHING FAMILY

SWEATSHIRT MODEL

Page 21: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

NODEJS

Page 22: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 23: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

you're in luck,I AM NOT GOING TO TALK ABOUT NODEJS

Page 24: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

SINCE ADOPTING NODEJS IN 2012

▸ massive growth in app-engineer developed componentry▸ greatly improved developer happiness▸ significantly faster time to live

Page 25: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

OUR APPLICATIONSAPPEAR TO HAVE BEENBUILT IN THE 21ST CENTURY

Page 26: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 27: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

REMEMBER WHEN PAYPAL LOOKED LIKE THIS?

Page 28: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Technology adoption checklist:▸ TECHNOLOGY▸ PROCESS▸ CULTURE

Page 29: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

don't worry,I'M STILL NOT GOING TO

TALK ABOUT NODEJS

Page 30: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Technology adoption checklist:▸ TECHNOLOGY▸ PROCESS▸ CULTURE

Page 31: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

NODEJS WAS ATROJAN HORSE

Page 32: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

"If one sticks to the idea that once set, a plan should not be changed, a business

cannot exist for long."— Taiichi Ohno

Page 33: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

But first:A BRIEF HISTORY

Page 34: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

OOPS

Page 35: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

PAYPAL IN THEMID-AUGHTS WAS

DRIVEN EXCLUSIVELYBY RISK MITIGATION

Page 36: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

SLOW BY DESIGN

Page 37: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Developers:CREATURES OF HABIT

Page 38: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

TRUSTNO ONE

Page 39: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

nih(NOT INVENTED HERE)

Page 40: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

GREAT FOR FARMS—NOT GREAT FOR YOUUNLESS YOU FARM, IN WHICH CASE I'M IMPRESSED

Page 41: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

"everything is a secret andI trust no one."

— Developers

Page 42: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

PAYPAL IN THEMID-AUGHTS WAS

DRIVEN EXCLUSIVELYBY RISK MITIGATION

Page 43: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

!

Page 44: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

THE CULTURE WAS THE REAL REASON FOR THE DECISION TO CHANGE

THE TECHNOLOGY WAS HOW WE SOLD IT

Page 45: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

HOW?

Page 46: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

start small

Page 47: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

TEAR ITDOWN

Page 48: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

BUILD ITBACK UP

Page 49: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

TRANSPARENTLY?

Page 50: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

CONSIDER EVERYTHING BUTDON'T BE AFRAID TO SAY NO

Page 51: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

TRANSPARENCY:

I lied.

ENJOY THE FOLLOWING NODEJS CODE

Page 52: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

HOW TO WRITE AN EXPRESS APPimport Express from 'express';

const app = Express();

app.listen(8000);

Page 53: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

HOW TO WRITE A KRAKEN APPimport Express from 'express';import Kraken from 'kraken-js';

const app = Express();

app.use(Kraken());app.listen(8000);

Page 54: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

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);

Page 55: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

So …WHAT DOES

THAT GIVE US?

Page 56: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

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,

analytics, app heath-checks, infra-specific uncaughtexception handling, CDN awareness …

… you generally wouldn't know that unless you read the README.

Page 57: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

RELY ON EXISTINGCOMMUNITY CONVENTIONS

Page 58: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

when you're not wasting time learning and fighting your internal systems, you have time to accomplish the job you signed up for

Page 59: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Homework:SEE WHAT KATHY SIERRA HAS TO SAY

ABOUT DEPLETING COGNITIVE RESOURCES1

1 youtu.be/FKTxC9pl-WM

Page 60: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

"Fine, but that's a lot of work for one line. Isn't that too magical?"

— you

Page 61: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

AbsolutelyBUT THERE'S A CATCH

Page 62: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

EVERYTHING IS IN THE OPENWITH AN EMPHASIS ONDOCUMENTATION AND

DISCOVERABILITY

Page 63: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016
Page 64: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

"What about our process?We can't make [custom-x]

an open process."— you

Page 65: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

K. DON'T.BUT FIND A WAY TO MAKE IT WORK

Page 66: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

HOOK INTO COMMON PROCESSES▸ Source Control

▸ Continuous Integration▸ Distribution Service▸ Deployment

Page 67: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

consider optimismASSUME SUCCESS AND

GOOD INTENTIONS FOR NON-CRITICAL SYSTEMS AND APPLICATIONS

Page 68: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

ADOPTING COMMON CONVENTIONAND BUILDING IN THE OPEN

BUILDS TRUST

Page 69: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

PROMOTING TRUST:COMMUNITY

Page 70: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

BUILDING COMMUNITY:

CULTURE

Page 71: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

… big finish …

Page 72: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

IT SHOULD COME AS NO SURPRISE THAT THESE ARE PRECISELY THE WAYS LARGE-

SCALE OPEN-SOURCE PROJECTS WORK

Page 73: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

… wall of text alert …

Page 74: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Building our projects as if they're open-source even with no intention of ever opening them up has lead to better documentation, discoverability,

ownership, responsibility, code-quality, efficacy, etc.

By emulating practices we've seen and used in the open-source community, we've seen tremendous growth from both seasoned

developers and new hires alike.

By simply adopting open principles,PayPal is a measurably better place to work.

Page 75: About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday Amsterdam Feb 2016

Thanks.@JCSE