SlideShare a Scribd company logo
1 of 34
And

“The Voice of Reason”
PRESENT


    Modern Software
Development Anti-Patterns
                 Reconciliation by Scot A Harvest
1. Conference-Driven
      Delivery
Hecklers that suggest this talk
 resembles this anti-pattern...
Real pros hack code
  and write their slides
minutes before their talks


                           7
The Voice of Reason


       PPPPPP
2. Mortgage-Driven
  Development
In these tough
economic times..



                   10
The Voice of Reason


  Don't succumb to fear
3. Distracted By Shiny
3.a. CV++
Always use the latest tech,
    it'll put you ahead



                          14
The Voice of Reason


  Prototype and evaluate
4. Design Driven Design
UML Code Generators
   are awesome



                      17
The Voice of Reason

    Design for what
     you need now
5. Pokemon Patterns
Use *all* of the
GoF design patterns



                      20
The Voice of Reason

  The appropriate design
   pattern is your friend
7. Tuning by Folklore
I performance tune by
lighting black candles



                         23
The Voice of Reason


  Measure, don't guess.
8. The Deity
All the code in one file..
    easier to search



                             26
The Voice of Reason

Discrete components are vital
 in today's distributed world
9. Lean Startup Ninja
Compiles? == Ship it!




                        29
The Voice of Reason

 Continuous Delivery is a
    business enabler
10. <crowd sourced>
I'll make it up as I go along




                           32
The Voice of Reason


 I'll prove Martijn wrong :-)
Thanks! Martijn - @karianna & Ben - @kittylyst

More Related Content

Viewers also liked

The 23 gof design patterns in java ,the summary
The 23 gof design patterns in java ,the summaryThe 23 gof design patterns in java ,the summary
The 23 gof design patterns in java ,the summary
achraf_ing
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programming
Jean Pаoli
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
Aman Jain
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
Paulo Gandra de Sousa
 

Viewers also liked (15)

Design patterns illustrated-2015-03
Design patterns illustrated-2015-03Design patterns illustrated-2015-03
Design patterns illustrated-2015-03
 
Design Patterns - GOF
Design Patterns - GOFDesign Patterns - GOF
Design Patterns - GOF
 
The 23 gof design patterns in java ,the summary
The 23 gof design patterns in java ,the summaryThe 23 gof design patterns in java ,the summary
The 23 gof design patterns in java ,the summary
 
eXtreme programming
eXtreme programmingeXtreme programming
eXtreme programming
 
Design Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web ExperienceDesign Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web Experience
 
Domain logic patterns of Software Architecture
Domain logic patterns of Software ArchitectureDomain logic patterns of Software Architecture
Domain logic patterns of Software Architecture
 
Anti Patterns
Anti PatternsAnti Patterns
Anti Patterns
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
OO design principles and patterns
OO design principles and patternsOO design principles and patterns
OO design principles and patterns
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 
9 anti-patterns for node.js teams
9 anti-patterns for node.js teams9 anti-patterns for node.js teams
9 anti-patterns for node.js teams
 
Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
 

Similar to Modern software development anti patterns (OSCON 2012)

Stanford CS547 April2009
Stanford CS547 April2009Stanford CS547 April2009
Stanford CS547 April2009
John Lilly
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
Snake Hill Web Agency
 
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
SANTIAGO PABLO ALBERTO
 

Similar to Modern software development anti patterns (OSCON 2012) (20)

Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101
 
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
 
Game development program
Game development programGame development program
Game development program
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad Developers
 
How NOT to start a mobile app development?
How NOT to start a mobile app development?How NOT to start a mobile app development?
How NOT to start a mobile app development?
 
Creating a good architecture
Creating a good architectureCreating a good architecture
Creating a good architecture
 
Jory Prum's Lollipop Audio - Investment Pitch Deck
Jory Prum's Lollipop Audio - Investment Pitch DeckJory Prum's Lollipop Audio - Investment Pitch Deck
Jory Prum's Lollipop Audio - Investment Pitch Deck
 
Lollipop Audio - Investment Pitch Deck
Lollipop Audio - Investment Pitch DeckLollipop Audio - Investment Pitch Deck
Lollipop Audio - Investment Pitch Deck
 
[IGC 2017] 셀렉트버튼 나카하타 코야 - 소규모 팀이 타사 IP로 게임 개발할 때의 과제와 해결법
[IGC 2017] 셀렉트버튼 나카하타 코야 - 소규모 팀이 타사 IP로 게임 개발할 때의 과제와 해결법[IGC 2017] 셀렉트버튼 나카하타 코야 - 소규모 팀이 타사 IP로 게임 개발할 때의 과제와 해결법
[IGC 2017] 셀렉트버튼 나카하타 코야 - 소규모 팀이 타사 IP로 게임 개발할 때의 과제와 해결법
 
The Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardThe Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service Storyboard
 
IsobarCreate32 SF Opening / Kickoff
IsobarCreate32 SF Opening / KickoffIsobarCreate32 SF Opening / Kickoff
IsobarCreate32 SF Opening / Kickoff
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018
Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018
Who’s Afraid of Open Design? - Emanuela Damiani - Codemotion Rome 2018
 
Controlling Project Size for Student/Hobby Videogame Development
Controlling Project Size for Student/Hobby Videogame DevelopmentControlling Project Size for Student/Hobby Videogame Development
Controlling Project Size for Student/Hobby Videogame Development
 
Stanford CS547 April2009
Stanford CS547 April2009Stanford CS547 April2009
Stanford CS547 April2009
 
Vmg li dg_dec2009
Vmg li dg_dec2009Vmg li dg_dec2009
Vmg li dg_dec2009
 
Tech Quotient 2014 - Put Funda
Tech Quotient 2014 - Put FundaTech Quotient 2014 - Put Funda
Tech Quotient 2014 - Put Funda
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
 
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
Raspberry pi: Proyectos prácticos de raspberry pi por publicación de imágenes
 
AI: Your Personal Intern
AI: Your Personal InternAI: Your Personal Intern
AI: Your Personal Intern
 

More from Martijn Verburg

More from Martijn Verburg (14)

NoHR Hiring
NoHR HiringNoHR Hiring
NoHR Hiring
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
 
Garbage Collection - The Useful Parts
Garbage Collection - The Useful PartsGarbage Collection - The Useful Parts
Garbage Collection - The Useful Parts
 
Free community with deep roots
Free community with deep rootsFree community with deep roots
Free community with deep roots
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
Paperwork, Politics and Pain - Our year in the JCP (FOSDEM 2012)
 
Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)Modern Java Concurrency (Devoxx Nov/2011)
Modern Java Concurrency (Devoxx Nov/2011)
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)
 
Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)Introduction to Java 7 (Devoxx Nov/2011)
Introduction to Java 7 (Devoxx Nov/2011)
 
Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)Back to the future with Java 7 (Geekout June/2011)
Back to the future with Java 7 (Geekout June/2011)
 
How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)
 
Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Modern software development anti patterns (OSCON 2012)

Editor's Notes

  1. \n
  2. We have all of these tools and techniques, but are we any better?\n
  3. Note the lack of fluffy animals in this talk - that&apos;s right people this shit just got serious\n
  4. \n\n
  5. Nothing to do with this talk whatsoever!\n\n
  6. \n
  7. \n
  8. Proper preparation prevents piss poor performance\n
  9. \n
  10. source code on a USB key, no documentation, don&apos;t communicate etc\n
  11. Don&apos;t be a Cave Troll\nDocumentation\nCoding is a social activity\n
  12. Always use the latest bleeding edge technologies!\nNo IDE support? Well you an just use vi like a real developer right?\nYou&apos;ll be on hacker news!\n
  13. \n\n
  14. No IDE support? Well you an just use vi like a real developer right?\nYou&apos;ll be on hacker news!\n
  15. Carfey.com search for why developers keep make technology choices\nboredom, CV++, Peer Pressure, Lack of understanding, solving non-existing problems\n
  16. UML is king\nGenerate your code from UML\n
  17. \n
  18. \n
  19. Gotta catch them all!\nMust use at least 5 of the GoF\n
  20. Gotta catch them all!\nDefaultAbstractFactoryFactoryBean\n
  21. Lifecycle: Design Pattern --&gt; Framework --&gt; Language Feature\n
  22. \n
  23. \n
  24. Empirical evidence trumps intuition\n
  25. \n
  26. \n
  27. Empirical evidence trumps intuition\n
  28. \n
  29. \n
  30. Empirical evidence trumps intuition\n
  31. \n
  32. \n
  33. Empirical evidence trumps intuition\n
  34. \n