SlideShare uma empresa Scribd logo
1 de 23
Unleash and Empower
Your Engineers
Jeff Harrell
@juxtajeff
– Me
“Talk less about code and more about craft”
Break down the monoliths
Glass houses where you’re
encouraged to throw stones
paypal.com/cgi-bin/webscr
Checkout Send Money
Invoicing
Mobile
Servicing History
Sign Up Wallet …
Monolith = Days of testing and 6 week pushes
ZERO freedom to engineer
Checkout
Sign Up Login HelpPay
Mini-monolith = Less regression and 2 week pushes
Some freedom
App Framework
kraken
grunt
lusca
enrouten
confit
dust
less
requirejs
meddleware
Modularized: Individual tests and swappable
Freedom to choose
require('open-source');
November 22, 2013
Two years later
The culture has taken off
PayPal now has 200+ public repos
App/test frameworks, servers, and tools
From JavaScript and Python to Java and Go
Doesn't this look like the beginning of Star Wars
Inner sourcing
github, npm, bower, viewable code, PRs, oh my!
1,000 modules in internal npm
Serving 2mm requests a day
Play to your strengths
Let teams evaluate and choose their tools
They're the ones using them after all
“Controlled chaos”
Don't prematurely optimize
Allow time to organically find the right solve
67 node apps in production
Sign up
• Originally in Dust
• 180+ countries
• Compliance changes
• JSON driven
• POC in Angular
• Rebuilt in React
– Mark Stuart
“We were coding ourselves into a corner with our
old tech. We evaluated React, Ember, Angular
and rolling our own framework. After a few
iterations the team agreed React was the clear
winner. Now there's so much energy behind
it!”
Checkout
• Originally in Dust
• Lots of $$ through this
• Parallel teams working
• Split into micro apps
• Rebuilt in Angular
People can be the
hardest part
– You Know Who You Are
“Choices complicate things. I want a single
solution!”
People can also be the easiest
part
– Sachin Hegde
“It’s awesome to have the freedom to
experiment with technologies – we were able
to rapidly build prototypes with two different
frameworks and managed to foresee potential
bottlenecks and problems right from the start.”
Questions?
@juxtajeff

Mais conteúdo relacionado

Mais procurados

Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
Zahid Mahir
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful API
Sang Cù
 

Mais procurados (20)

Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at NetflixConfiguration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
Mobile Library Development - stuck between a pod and a jar file - Zan Markan ...
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful API
 
Testing Storm components with Groovy and Spock
Testing Storm components with Groovy and SpockTesting Storm components with Groovy and Spock
Testing Storm components with Groovy and Spock
 
Hello world - intro to node js
Hello world - intro to node jsHello world - intro to node js
Hello world - intro to node js
 
Node.js in Production
Node.js in ProductionNode.js in Production
Node.js in Production
 
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentationLONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
 
Node.JS
Node.JSNode.JS
Node.JS
 
Realtime MVC with Sails.js
Realtime MVC with Sails.jsRealtime MVC with Sails.js
Realtime MVC with Sails.js
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web Development
 
Memaksimalkan Non-Blocking IO pada Node.js
Memaksimalkan Non-Blocking IO pada Node.jsMemaksimalkan Non-Blocking IO pada Node.js
Memaksimalkan Non-Blocking IO pada Node.js
 
Building Open-source React Components
Building Open-source React ComponentsBuilding Open-source React Components
Building Open-source React Components
 
Building Open-Source React Components
Building Open-Source React ComponentsBuilding Open-Source React Components
Building Open-Source React Components
 
Managing Jenkins with Python
Managing Jenkins with PythonManaging Jenkins with Python
Managing Jenkins with Python
 
WebSocket For Web Rubyists
WebSocket For Web RubyistsWebSocket For Web Rubyists
WebSocket For Web Rubyists
 
e2e testing with cypress
e2e testing with cypresse2e testing with cypress
e2e testing with cypress
 
TDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDBTDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDB
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at Netflix
 

Destaque

The Yammer Way - Our Product Development Approach
The Yammer Way - Our Product Development ApproachThe Yammer Way - Our Product Development Approach
The Yammer Way - Our Product Development Approach
yann ARMAND
 

Destaque (20)

People management
People managementPeople management
People management
 
DEC Case Study
DEC Case StudyDEC Case Study
DEC Case Study
 
The Yammer Way - Our Product Development Approach
The Yammer Way - Our Product Development ApproachThe Yammer Way - Our Product Development Approach
The Yammer Way - Our Product Development Approach
 
Adaptable Engineering: 3D Printing and Agile
Adaptable Engineering: 3D Printing and AgileAdaptable Engineering: 3D Printing and Agile
Adaptable Engineering: 3D Printing and Agile
 
Internet of Things: The World Speaks
Internet of Things: The World SpeaksInternet of Things: The World Speaks
Internet of Things: The World Speaks
 
Developing For Wearables - Lessons Learned & Best Practices
Developing For Wearables - Lessons Learned & Best PracticesDeveloping For Wearables - Lessons Learned & Best Practices
Developing For Wearables - Lessons Learned & Best Practices
 
How To Use Paypal
How To Use PaypalHow To Use Paypal
How To Use Paypal
 
How ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second EditionHow ANDROID TESTING changed how we think about Death - Second Edition
How ANDROID TESTING changed how we think about Death - Second Edition
 
Continuous Delivery e-book
Continuous Delivery e-bookContinuous Delivery e-book
Continuous Delivery e-book
 
What Developers Really Think of iOS 8
What Developers Really Think of iOS 8What Developers Really Think of iOS 8
What Developers Really Think of iOS 8
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
Be pragmatic, be SOLID
Be pragmatic, be SOLIDBe pragmatic, be SOLID
Be pragmatic, be SOLID
 
Create, Send, & Track Invoices Quickly & Easily with Invoicely
Create, Send, & Track Invoices Quickly & Easily with InvoicelyCreate, Send, & Track Invoices Quickly & Easily with Invoicely
Create, Send, & Track Invoices Quickly & Easily with Invoicely
 
How To Do BYOD Right
How To Do BYOD RightHow To Do BYOD Right
How To Do BYOD Right
 
10 Conditions for Cost Estimation of an iOS Application
10 Conditions for Cost Estimation of an iOS Application10 Conditions for Cost Estimation of an iOS Application
10 Conditions for Cost Estimation of an iOS Application
 
Google IO 2015
Google IO 2015Google IO 2015
Google IO 2015
 
FT Partners Research: PayPal Spin-off Overview
FT Partners Research: PayPal Spin-off OverviewFT Partners Research: PayPal Spin-off Overview
FT Partners Research: PayPal Spin-off Overview
 
Learning in a Multi-device World
Learning in a Multi-device World Learning in a Multi-device World
Learning in a Multi-device World
 
Top 5 payment mistakes made by startups
Top 5 payment mistakes made by startupsTop 5 payment mistakes made by startups
Top 5 payment mistakes made by startups
 
Rapid prototyping
Rapid prototypingRapid prototyping
Rapid prototyping
 

Semelhante a Unleash and Empower Your Engineers

Cerner at SplunkLive! Minneapolis
Cerner at SplunkLive! MinneapolisCerner at SplunkLive! Minneapolis
Cerner at SplunkLive! Minneapolis
Splunk
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Pierre Joye
 

Semelhante a Unleash and Empower Your Engineers (20)

Cerner at SplunkLive! Minneapolis
Cerner at SplunkLive! MinneapolisCerner at SplunkLive! Minneapolis
Cerner at SplunkLive! Minneapolis
 
Rails in the Large - Neal Ford
Rails in the Large - Neal FordRails in the Large - Neal Ford
Rails in the Large - Neal Ford
 
Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012Taming the Testing Beast - AgileDC 2012
Taming the Testing Beast - AgileDC 2012
 
История одного успешного ".NET" проекта, Александр Сугак
История одного успешного ".NET" проекта, Александр СугакИстория одного успешного ".NET" проекта, Александр Сугак
История одного успешного ".NET" проекта, Александр Сугак
 
Building and Scaling a Test Driven Culture
Building and Scaling a Test Driven CultureBuilding and Scaling a Test Driven Culture
Building and Scaling a Test Driven Culture
 
Customer Presentation - Cerner
Customer Presentation - CernerCustomer Presentation - Cerner
Customer Presentation - Cerner
 
Node.js and MongoDB from scratch, fully explained and tested
Node.js and MongoDB from scratch, fully explained and tested Node.js and MongoDB from scratch, fully explained and tested
Node.js and MongoDB from scratch, fully explained and tested
 
Serverless Spring - Nate Schutta 1/2
Serverless Spring - Nate Schutta 1/2Serverless Spring - Nate Schutta 1/2
Serverless Spring - Nate Schutta 1/2
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)
 
Rakuten openstack
Rakuten openstackRakuten openstack
Rakuten openstack
 
SRECon Coherent Performance
SRECon Coherent PerformanceSRECon Coherent Performance
SRECon Coherent Performance
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Hybrid concurrency patterns
Hybrid concurrency patternsHybrid concurrency patterns
Hybrid concurrency patterns
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
How to survive the JavaScript apocalypse
How to survive the JavaScript apocalypseHow to survive the JavaScript apocalypse
How to survive the JavaScript apocalypse
 
50 Ways To Love Your Project
50 Ways To Love Your Project50 Ways To Love Your Project
50 Ways To Love Your Project
 
Sails.js: Rags to...Open Source
Sails.js: Rags to...Open SourceSails.js: Rags to...Open Source
Sails.js: Rags to...Open Source
 
Five Cliches of Online Game Development
Five Cliches of Online Game DevelopmentFive Cliches of Online Game Development
Five Cliches of Online Game Development
 

Último

Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
alinstan901
 

Último (20)

Empowering Local Government Frontline Services - Mo Baines.pdf
Empowering Local Government Frontline Services - Mo Baines.pdfEmpowering Local Government Frontline Services - Mo Baines.pdf
Empowering Local Government Frontline Services - Mo Baines.pdf
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
 
Intro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptxIntro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptx
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic management
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
 
Disrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdfDisrupt or be Disrupted - Kirk Vallis.pdf
Disrupt or be Disrupted - Kirk Vallis.pdf
 
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
 
Discover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdfDiscover -CQ Master Class - Rikita Wadhwa.pdf
Discover -CQ Master Class - Rikita Wadhwa.pdf
 
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote SpeakerLeadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
Leadership in Crisis - Helio Vogas, Risk & Leadership Keynote Speaker
 
Peak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian DugmorePeak Performance & Resilience - Dr Dorian Dugmore
Peak Performance & Resilience - Dr Dorian Dugmore
 
Becoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette ThompsonBecoming an Inclusive Leader - Bernadette Thompson
Becoming an Inclusive Leader - Bernadette Thompson
 
situational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima Ssituational leadership theory by Misba Fathima S
situational leadership theory by Misba Fathima S
 
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg PartnershipUnlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
Unlocking the Future - Dr Max Blumberg, Founder of Blumberg Partnership
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC Bootcamp
 
Imagine - Creating Healthy Workplaces - Anthony Montgomery.pdf
Imagine - Creating Healthy Workplaces - Anthony Montgomery.pdfImagine - Creating Healthy Workplaces - Anthony Montgomery.pdf
Imagine - Creating Healthy Workplaces - Anthony Montgomery.pdf
 
Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024Construction Project Management | Coursera 2024
Construction Project Management | Coursera 2024
 
Continuous Improvement Infographics for Learning
Continuous Improvement Infographics for LearningContinuous Improvement Infographics for Learning
Continuous Improvement Infographics for Learning
 
LoveLocalGov - Chris Twigg, Inner Circle
LoveLocalGov - Chris Twigg, Inner CircleLoveLocalGov - Chris Twigg, Inner Circle
LoveLocalGov - Chris Twigg, Inner Circle
 

Unleash and Empower Your Engineers

Notas do Editor

  1. Spoken to a dozen companies about our transformation, but largely those discussions had less to do with node and more to do with how we practiced our craft A few things you can do to start empowering your teams
  2. Monoliths don't allow people to try new things. You play to the lowest common denominator.
  3. Modularity is key to getting developers to explore new things.
  4. These developers have started to build beyond what we originally intended Some examples…
  5. So tooling lays the foundation, but… Some tools chosen for you; others are developer preference Far left or far right of the equation
  6. So tooling lays the foundation, but… Some tools chosen for you; others are developer preference Far left or far right of the equation