SlideShare a Scribd company logo
PHP + Business = Money!
Martin Hlavac @m_hlavac
Sr. Software Engineer at Wayfair
2
• Founded in 2002
• Racks and Stands
• 200+ stores by 2011
- cookware.com
- strollers.com
- …
• wayfair.com in 2012
• Scale!
Wayfair
Racks and Stands
3
• 9 500 000+ active customers
• $1 100 000 000+ last quarter revenue
• $3 400 000 000+ annual revenue
• 1 000+ engineers
• Runs mostly on PHP
Wayfair
Some numbers
4
A story from my life
The story
The typical software engineering project
5
• A great idea
The story
The typical software engineering project
6
The story
The typical software engineering project
• A great idea
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable
7
The story
The typical software engineering project
• A great idea
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
8
The story
The typical software engineering project
• A great idea
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable in the future
9
The story
The typical software engineering project
• A great idea
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable in the future
10
The story
The typical software engineering project
• A great idea
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable in the future
11
The story
The typical software engineering project
• A great idea
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable in the future
12
The story
The typical software engineering project
• A great idea
• Developed in 90 days
- Scalable, extensible, test covered, shiny and modern
• Expectation of huge business impact
- A lot of money, satisfied customers, extendable in the future
13
The story
The typical software engineering project
Why did it fail?
14
The story
The typical software engineering project
• A great idea
- Wrong assumptions
- No validation
• Expectation of huge business impact
- Gut feeling that took 90 days to check
- Negative impact -> no business -> no money
• Developed in 90 days
- Took too long
- Extensible, scalable, modern and shiny
15
The story
The typical software engineering project
We were slow
16
The story
The typical software engineering project
17
The story
The typical software engineering project
How do we get faster?
18
Let’s look at it again
What could have we done differently
• Can we validate the idea without engineering?
• Implement in one day with hardcoded ugly hack?
• Small change to bring the value back?
• Quickly switch on/off?
• Iterate and validate before it’s fully finished?
19
Iterate
Not increment
20
Feedback is one of the most important things
You simply can’t know things work until you try them out
• Release Early, Then Iterate Like Hell
• Faster feedback you have, better decisions you can do
• Any idea might be wrong, or not working anymore
- Airbnb (airbedandbreakfast)
- Facebook (TheFacebook)
- Wayfair (Rack and Stands)...
- are all adapting all the time
21
The first ingredient
You need to be fast, people care about problems you solve, not how you solve them
Speed to market
22
The second ingredient
Staying pragmatic
• Google, Netflix, Facebook, Slack, etc… have different needs
• We are Wayfair
- Business focused
- Iterate fast, validate assumptions and clean later
- Code that supports billions of dollars business
- Humans, break stuff every day
◦ dozens deployments
◦ hundreds of changes
23
Staying pragmatic is hard
It’s easy to fall for dogmas
• You are YOU
• Stay focused on your business
• Validate pros and cons
• Validate rewards and risks
• Iterate
24
Pros and Cons
How to do it?
• Write down pros and cons of your suggestions
- known areas as pros
- unknown areas as cons
◦ “should” and “might” are very dangerous words
- how many people are experienced with it
- how stable the technology is
25
• Mature - not sexy for engineers anymore :(
- No hype anymore
• Slower than JiT/AoT Languages
• Requires more memory
• Weak typing
• Confusing function parameters
• Configuration has huge effect on runtime
We love PHP
It isn’t sexy anymore, for engineers
• Mature - sexy for business
- A lot of engineers, huge community, tooling
- Known bugs
• Allows fast changes
- Change file, refresh
- Deploy just one file (fixes critical bug
immediately)
- Super fast when you start new project
- Easy for people to start with PHP (Wordpress
hacks)
• Crazy scalable
- It dies!
- Run thousands of applications on single server
• Focused on web development
- Dealing with inputs, sessions, cookies
• Dynamic typing
- Array manipulation
- Consuming APIs
26
We love monolith
It has pros and cons
• Simple reviews
- Review all applications in single diff
• Synchronized deploy to multiple applications
- Do changes to multiple application and deploy at
the same time.
• No versioning hell
- It’s all master
• Easy to do changes
- IDE helps you find all usages, across applications
• Everyone can do changes across applications
- No waiting for other teams
• Harder to understand what is where
- Shared code contains code for all applications
- No border that would distinquish what is where
• Deployment interference
- One application deployment slows down other
application deployment
- Failing commit, fails for all apps
• Hard to distinguish applications
- Sometime you might use code from different
application
• Everyone can do changes across applications
- Messes up unknown part of the code
27
• A lot of coupling
- Hard to change existing structure
• Doesn’t fit all the use cases perfectly
- key-value storage
- unknown data
• Some queries might be really hard
- dozens joins, applies, subqueries
• Code reusability
- People keep their queries for themselves
- A lot of queries doing almost the same thing
• Business is attached to db structure
- Limits engineering flexibility
- Denormalized data is needed
• No code reviews for potentially critical queries
We love SQL
Reports, no way!
• Business folks are using it
- To generate reports
- Get metrics
- Monitor KPIs
- Help track down issues
• Data accessible in single place
- Joining in SQL is 1 line
- Connecting the data is easy
• Prooved solution
- SQL Server is battle tested solution
- Tables with hundreds of millions rows
- Size of DBs in TeraBytes
- Replication
- Backup
28
Conclusion
How to do it?
Focus on your Business Problems
and not only your technical problems
29
Work with us
wayfair.de/careers
engineering.wayfair.com
Work with us
It’s a lot of fun and delivering a lot of business value everyday
30
Reach the
Ludicrous speed
31
Questions?
Martin Hlavac
Sr. Software Engineer at Wayfair
@m_hlavac
https://joind.in/talk/fc0cf
PHP + Business = Money!

More Related Content

What's hot

OWASP Developer Guide Reboot
OWASP Developer Guide RebootOWASP Developer Guide Reboot
OWASP Developer Guide Reboot
Andrew van der Stock
 
Dev ops in real life
Dev ops in real lifeDev ops in real life
Dev ops in real life
Dmitry Lavrinenko
 
Gwt create2013 Frankfurt: How we built a million dollar business with GWT
Gwt create2013 Frankfurt: How we built a million dollar business with GWTGwt create2013 Frankfurt: How we built a million dollar business with GWT
Gwt create2013 Frankfurt: How we built a million dollar business with GWT
infoqafe
 
Continuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your ProductContinuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your Product
Adam Zolyak
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journey
Navvia
 
Kele Overview
Kele OverviewKele Overview
Kele Overview
Kele, Inc.
 
The agile elephant in the room
The agile elephant in the roomThe agile elephant in the room
The agile elephant in the room
AgileDenver
 
ProductCamp RTP 2010 - What the H*ell! - Adam Covati
ProductCamp RTP 2010 - What the H*ell! - Adam CovatiProductCamp RTP 2010 - What the H*ell! - Adam Covati
ProductCamp RTP 2010 - What the H*ell! - Adam CovatiArik Abel
 
Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?
CA Technologies
 
AgileHead - Product Development Services for Startups
AgileHead - Product Development Services for StartupsAgileHead - Product Development Services for Startups
AgileHead - Product Development Services for Startupsjeswinpk
 
Fiverr - delivering fast w/ no QA - Agile Israel 2016 Gil Wasserman
Fiverr - delivering fast w/ no QA - Agile Israel 2016   Gil WassermanFiverr - delivering fast w/ no QA - Agile Israel 2016   Gil Wasserman
Fiverr - delivering fast w/ no QA - Agile Israel 2016 Gil Wasserman
AgileSparks
 
Continuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar SlidesContinuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar Slides
Adam Asnes
 
Best Practices in Offshore Outsourcing for Digital Agencies
Best Practices in Offshore Outsourcing for Digital AgenciesBest Practices in Offshore Outsourcing for Digital Agencies
Best Practices in Offshore Outsourcing for Digital Agenciesguest134a35
 
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
NORCAT
 
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
XebiaLabs
 
Project Management Software on Salesforce Platform II
Project Management Software on Salesforce Platform IIProject Management Software on Salesforce Platform II
Project Management Software on Salesforce Platform II
Avandel Inc
 
Beckers Fabrication, Industrial Printing
Beckers Fabrication, Industrial Printing Beckers Fabrication, Industrial Printing
Beckers Fabrication, Industrial Printing
Cassie Allen
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
Synerzip
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Synerzip
 

What's hot (19)

OWASP Developer Guide Reboot
OWASP Developer Guide RebootOWASP Developer Guide Reboot
OWASP Developer Guide Reboot
 
Dev ops in real life
Dev ops in real lifeDev ops in real life
Dev ops in real life
 
Gwt create2013 Frankfurt: How we built a million dollar business with GWT
Gwt create2013 Frankfurt: How we built a million dollar business with GWTGwt create2013 Frankfurt: How we built a million dollar business with GWT
Gwt create2013 Frankfurt: How we built a million dollar business with GWT
 
Continuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your ProductContinuous Delivery Will Make or Break Your Product
Continuous Delivery Will Make or Break Your Product
 
Navvia's DevOps journey
Navvia's DevOps journeyNavvia's DevOps journey
Navvia's DevOps journey
 
Kele Overview
Kele OverviewKele Overview
Kele Overview
 
The agile elephant in the room
The agile elephant in the roomThe agile elephant in the room
The agile elephant in the room
 
ProductCamp RTP 2010 - What the H*ell! - Adam Covati
ProductCamp RTP 2010 - What the H*ell! - Adam CovatiProductCamp RTP 2010 - What the H*ell! - Adam Covati
ProductCamp RTP 2010 - What the H*ell! - Adam Covati
 
Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?Moving forward in your DevOps journey—What's your next step after CA World?
Moving forward in your DevOps journey—What's your next step after CA World?
 
AgileHead - Product Development Services for Startups
AgileHead - Product Development Services for StartupsAgileHead - Product Development Services for Startups
AgileHead - Product Development Services for Startups
 
Fiverr - delivering fast w/ no QA - Agile Israel 2016 Gil Wasserman
Fiverr - delivering fast w/ no QA - Agile Israel 2016   Gil WassermanFiverr - delivering fast w/ no QA - Agile Israel 2016   Gil Wasserman
Fiverr - delivering fast w/ no QA - Agile Israel 2016 Gil Wasserman
 
Continuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar SlidesContinuous Globalization Workflow Webinar Slides
Continuous Globalization Workflow Webinar Slides
 
Best Practices in Offshore Outsourcing for Digital Agencies
Best Practices in Offshore Outsourcing for Digital AgenciesBest Practices in Offshore Outsourcing for Digital Agencies
Best Practices in Offshore Outsourcing for Digital Agencies
 
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
NORCAT Entrepreneurship 101 - "Product Development" featuring Dave Peres & Ro...
 
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
Thought Leader Webinar Series: Talking Real World Continuous Delivery with th...
 
Project Management Software on Salesforce Platform II
Project Management Software on Salesforce Platform IIProject Management Software on Salesforce Platform II
Project Management Software on Salesforce Platform II
 
Beckers Fabrication, Industrial Printing
Beckers Fabrication, Industrial Printing Beckers Fabrication, Industrial Printing
Beckers Fabrication, Industrial Printing
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 

Similar to PHP + Business = Money!

Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Eric Wu
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
Mike Long
 
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
DevOpsDays Tel Aviv
 
Data Science and Enterprise Engineering with Michael Finger and Chris Robison
Data Science and Enterprise Engineering with Michael Finger and Chris RobisonData Science and Enterprise Engineering with Michael Finger and Chris Robison
Data Science and Enterprise Engineering with Michael Finger and Chris Robison
Databricks
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
Gary Pedretti
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
English digital business 2.1.pptx
English digital business 2.1.pptxEnglish digital business 2.1.pptx
English digital business 2.1.pptx
Juanjo MARTINEZ PAGAN
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
Gene Kim
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginning
Vadym Fedorov
 
Respina shaper presentation
Respina shaper presentationRespina shaper presentation
Respina shaper presentation
Amir Razmjou
 
Continuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIXContinuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIX
AgileSparks
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Datavail
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiences
Morgan Simonsen
 
DevOps Vancouver Meetup - WSBC Progress
DevOps Vancouver Meetup - WSBC ProgressDevOps Vancouver Meetup - WSBC Progress
DevOps Vancouver Meetup - WSBC Progress
Andre Kaminski
 
You've Got No UI?! (Agile Data Teams)
You've Got No UI?! (Agile Data Teams)You've Got No UI?! (Agile Data Teams)
You've Got No UI?! (Agile Data Teams)
Mark Barber
 
Requirements to Include in a Digital Transformation RFP
Requirements to Include in a Digital Transformation RFPRequirements to Include in a Digital Transformation RFP
Requirements to Include in a Digital Transformation RFP
Nuxeo
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform Trade
William Grosso
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
Zivtech, LLC
 
Jd edwards upgrade roundtable at innovate15 empire merchants case study
Jd edwards upgrade roundtable at innovate15 empire merchants case studyJd edwards upgrade roundtable at innovate15 empire merchants case study
Jd edwards upgrade roundtable at innovate15 empire merchants case study
NERUG
 

Similar to PHP + Business = Money! (20)

Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
Introduction to Agile Software Development - Eric Wu - MBAX6360 New Product D...
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
 
Data Science and Enterprise Engineering with Michael Finger and Chris Robison
Data Science and Enterprise Engineering with Michael Finger and Chris RobisonData Science and Enterprise Engineering with Michael Finger and Chris Robison
Data Science and Enterprise Engineering with Michael Finger and Chris Robison
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
English digital business 2.1.pptx
English digital business 2.1.pptxEnglish digital business 2.1.pptx
English digital business 2.1.pptx
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
Prepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginningPrepare the sled in summer and project release at its beginning
Prepare the sled in summer and project release at its beginning
 
Respina shaper presentation
Respina shaper presentationRespina shaper presentation
Respina shaper presentation
 
Continuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIXContinuous Deployment - Case Study at WIX
Continuous Deployment - Case Study at WIX
 
Patching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP CloudPatching is Your Friend in the New World Order of EPM and ERP Cloud
Patching is Your Friend in the New World Order of EPM and ERP Cloud
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiences
 
DevOps Vancouver Meetup - WSBC Progress
DevOps Vancouver Meetup - WSBC ProgressDevOps Vancouver Meetup - WSBC Progress
DevOps Vancouver Meetup - WSBC Progress
 
You've Got No UI?! (Agile Data Teams)
You've Got No UI?! (Agile Data Teams)You've Got No UI?! (Agile Data Teams)
You've Got No UI?! (Agile Data Teams)
 
Requirements to Include in a Digital Transformation RFP
Requirements to Include in a Digital Transformation RFPRequirements to Include in a Digital Transformation RFP
Requirements to Include in a Digital Transformation RFP
 
Tales from the Platform Trade
Tales from the Platform TradeTales from the Platform Trade
Tales from the Platform Trade
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Jd edwards upgrade roundtable at innovate15 empire merchants case study
Jd edwards upgrade roundtable at innovate15 empire merchants case studyJd edwards upgrade roundtable at innovate15 empire merchants case study
Jd edwards upgrade roundtable at innovate15 empire merchants case study
 

Recently uploaded

Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
AmarGB2
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 

Recently uploaded (20)

Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Investor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptxInvestor-Presentation-Q1FY2024 investor presentation document.pptx
Investor-Presentation-Q1FY2024 investor presentation document.pptx
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 

PHP + Business = Money!

  • 1. PHP + Business = Money! Martin Hlavac @m_hlavac Sr. Software Engineer at Wayfair
  • 2. 2 • Founded in 2002 • Racks and Stands • 200+ stores by 2011 - cookware.com - strollers.com - … • wayfair.com in 2012 • Scale! Wayfair Racks and Stands
  • 3. 3 • 9 500 000+ active customers • $1 100 000 000+ last quarter revenue • $3 400 000 000+ annual revenue • 1 000+ engineers • Runs mostly on PHP Wayfair Some numbers
  • 4. 4 A story from my life The story The typical software engineering project
  • 5. 5 • A great idea The story The typical software engineering project
  • 6. 6 The story The typical software engineering project • A great idea • Expectation of huge business impact - A lot of money, satisfied customers, extendable
  • 7. 7 The story The typical software engineering project • A great idea • Expectation of huge business impact - A lot of money, satisfied customers, extendable • Developed in 90 days - Scalable, extensible, test covered, shiny and modern
  • 8. 8 The story The typical software engineering project • A great idea • Developed in 90 days - Scalable, extensible, test covered, shiny and modern • Expectation of huge business impact - A lot of money, satisfied customers, extendable in the future
  • 9. 9 The story The typical software engineering project • A great idea • Developed in 90 days - Scalable, extensible, test covered, shiny and modern • Expectation of huge business impact - A lot of money, satisfied customers, extendable in the future
  • 10. 10 The story The typical software engineering project • A great idea • Developed in 90 days - Scalable, extensible, test covered, shiny and modern • Expectation of huge business impact - A lot of money, satisfied customers, extendable in the future
  • 11. 11 The story The typical software engineering project • A great idea • Developed in 90 days - Scalable, extensible, test covered, shiny and modern • Expectation of huge business impact - A lot of money, satisfied customers, extendable in the future
  • 12. 12 The story The typical software engineering project • A great idea • Developed in 90 days - Scalable, extensible, test covered, shiny and modern • Expectation of huge business impact - A lot of money, satisfied customers, extendable in the future
  • 13. 13 The story The typical software engineering project Why did it fail?
  • 14. 14 The story The typical software engineering project • A great idea - Wrong assumptions - No validation • Expectation of huge business impact - Gut feeling that took 90 days to check - Negative impact -> no business -> no money • Developed in 90 days - Took too long - Extensible, scalable, modern and shiny
  • 15. 15 The story The typical software engineering project We were slow
  • 16. 16 The story The typical software engineering project
  • 17. 17 The story The typical software engineering project How do we get faster?
  • 18. 18 Let’s look at it again What could have we done differently • Can we validate the idea without engineering? • Implement in one day with hardcoded ugly hack? • Small change to bring the value back? • Quickly switch on/off? • Iterate and validate before it’s fully finished?
  • 20. 20 Feedback is one of the most important things You simply can’t know things work until you try them out • Release Early, Then Iterate Like Hell • Faster feedback you have, better decisions you can do • Any idea might be wrong, or not working anymore - Airbnb (airbedandbreakfast) - Facebook (TheFacebook) - Wayfair (Rack and Stands)... - are all adapting all the time
  • 21. 21 The first ingredient You need to be fast, people care about problems you solve, not how you solve them Speed to market
  • 22. 22 The second ingredient Staying pragmatic • Google, Netflix, Facebook, Slack, etc… have different needs • We are Wayfair - Business focused - Iterate fast, validate assumptions and clean later - Code that supports billions of dollars business - Humans, break stuff every day ◦ dozens deployments ◦ hundreds of changes
  • 23. 23 Staying pragmatic is hard It’s easy to fall for dogmas • You are YOU • Stay focused on your business • Validate pros and cons • Validate rewards and risks • Iterate
  • 24. 24 Pros and Cons How to do it? • Write down pros and cons of your suggestions - known areas as pros - unknown areas as cons ◦ “should” and “might” are very dangerous words - how many people are experienced with it - how stable the technology is
  • 25. 25 • Mature - not sexy for engineers anymore :( - No hype anymore • Slower than JiT/AoT Languages • Requires more memory • Weak typing • Confusing function parameters • Configuration has huge effect on runtime We love PHP It isn’t sexy anymore, for engineers • Mature - sexy for business - A lot of engineers, huge community, tooling - Known bugs • Allows fast changes - Change file, refresh - Deploy just one file (fixes critical bug immediately) - Super fast when you start new project - Easy for people to start with PHP (Wordpress hacks) • Crazy scalable - It dies! - Run thousands of applications on single server • Focused on web development - Dealing with inputs, sessions, cookies • Dynamic typing - Array manipulation - Consuming APIs
  • 26. 26 We love monolith It has pros and cons • Simple reviews - Review all applications in single diff • Synchronized deploy to multiple applications - Do changes to multiple application and deploy at the same time. • No versioning hell - It’s all master • Easy to do changes - IDE helps you find all usages, across applications • Everyone can do changes across applications - No waiting for other teams • Harder to understand what is where - Shared code contains code for all applications - No border that would distinquish what is where • Deployment interference - One application deployment slows down other application deployment - Failing commit, fails for all apps • Hard to distinguish applications - Sometime you might use code from different application • Everyone can do changes across applications - Messes up unknown part of the code
  • 27. 27 • A lot of coupling - Hard to change existing structure • Doesn’t fit all the use cases perfectly - key-value storage - unknown data • Some queries might be really hard - dozens joins, applies, subqueries • Code reusability - People keep their queries for themselves - A lot of queries doing almost the same thing • Business is attached to db structure - Limits engineering flexibility - Denormalized data is needed • No code reviews for potentially critical queries We love SQL Reports, no way! • Business folks are using it - To generate reports - Get metrics - Monitor KPIs - Help track down issues • Data accessible in single place - Joining in SQL is 1 line - Connecting the data is easy • Prooved solution - SQL Server is battle tested solution - Tables with hundreds of millions rows - Size of DBs in TeraBytes - Replication - Backup
  • 28. 28 Conclusion How to do it? Focus on your Business Problems and not only your technical problems
  • 29. 29 Work with us wayfair.de/careers engineering.wayfair.com Work with us It’s a lot of fun and delivering a lot of business value everyday
  • 31. 31 Questions? Martin Hlavac Sr. Software Engineer at Wayfair @m_hlavac https://joind.in/talk/fc0cf