About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday...
-
Upload
nearform -
Category
Technology
-
view
1.457 -
download
2
Transcript of About face: reflections on growing an open source mentality. Jean Charles Sisk presentation nodeday...
About-FaceREFLECTIONS ON GROWING ANOPEN-SOURCE MENTALITY
About-FaceHOW I SNUCK A CULTURE TALK INTO
NODEDAY AMSTERDAM
Self-DestructHOW TO WRITE A
SELF-DEFEATING TALK
PLEASE ALLOW MYSELFTO PROPERLY
INTRODUCE MYSELF
Jean-Charles Sisktwitter/@jcse • github/jasisk • jeancharles@paypal
▸ BOSTON, MA, USA▸ ENGINEER▸ PAYPAL
"I have hats older than your country."— Europeans
Jean-Charles Sisktwitter/@jcse • github/jasisk • jeancharles@paypal
▸ BOSTON, MA, USA▸ ENGINEER▸ PAYPAL
i saidYES
THE JOBI HAVE
I work, primarily, onOPEN SOURCE SOFTWARE
JOB IWISH I HADMATCHING FAMILY
SWEATSHIRT MODEL
NODEJS
you're in luck,I AM NOT GOING TO TALK ABOUT NODEJS
SINCE ADOPTING NODEJS IN 2012
▸ massive growth in app-engineer developed componentry▸ greatly improved developer happiness▸ significantly faster time to live
OUR APPLICATIONSAPPEAR TO HAVE BEENBUILT IN THE 21ST CENTURY
REMEMBER WHEN PAYPAL LOOKED LIKE THIS?
Technology adoption checklist:▸ TECHNOLOGY▸ PROCESS▸ CULTURE
don't worry,I'M STILL NOT GOING TO
TALK ABOUT NODEJS
Technology adoption checklist:▸ TECHNOLOGY▸ PROCESS▸ CULTURE
NODEJS WAS ATROJAN HORSE
"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,
analytics, app heath-checks, infra-specific uncaughtexception handling, CDN awareness …
… you generally wouldn't know that unless you read the README.
RELY ON EXISTINGCOMMUNITY CONVENTIONS
when you're not wasting time learning and fighting your internal systems, you have time to accomplish the job you signed up for
Homework:SEE WHAT KATHY SIERRA HAS TO SAY
ABOUT DEPLETING COGNITIVE RESOURCES1
1 youtu.be/FKTxC9pl-WM
"Fine, but that's a lot of work for one line. Isn't that too magical?"
— you
AbsolutelyBUT THERE'S A CATCH
EVERYTHING IS IN THE OPENWITH AN EMPHASIS ONDOCUMENTATION AND
DISCOVERABILITY
"What about our process?We can't make [custom-x]
an open process."— you
K. DON'T.BUT FIND A WAY TO MAKE IT WORK
HOOK INTO COMMON PROCESSES▸ Source Control
▸ Continuous Integration▸ Distribution Service▸ Deployment
consider optimismASSUME SUCCESS AND
GOOD INTENTIONS FOR NON-CRITICAL SYSTEMS AND APPLICATIONS
ADOPTING COMMON CONVENTIONAND BUILDING IN THE OPEN
BUILDS TRUST
PROMOTING TRUST:COMMUNITY
BUILDING COMMUNITY:
CULTURE
… big finish …
IT SHOULD COME AS NO SURPRISE THAT THESE ARE PRECISELY THE WAYS LARGE-
SCALE OPEN-SOURCE PROJECTS WORK
… wall of text alert …
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.
Thanks.@JCSE