Guerrilla programming - doing it wrong and getting it right, as presented at code.talks 2014
• So#ware Engineer who loves/codes Stack Overﬂow
• Some9mes speak at conferences about things
• @sklivvz on TwiAer
• This talk is about a pa$ern.
• It is not about design paAerns.
• It’s about how our industry (“so#ware engineering”) moves
• Problems go through three stages:
• For example, speaking of the Hollywood image of hackers...
• The following material is probably not right for your case.
• It’s right for some people, in some speciﬁc situa9ons and at some
• Find the objects
• Organize the objects
• Describe how the objects interact
• Deﬁne the behavior of the objects
• Rela9onal data analysis
• Find the en99tes
• Normaliza9on & schema
mastered this yet, possibly because we have diﬃculty dis9nguishing
real and accidental complexity.
I believe that to make further progress we must focus on change and
how OOP can facilitate change. A#er all these years, we are s9ll in the
early days of OOP and understanding what it has to oﬀer us.
[Banquet speech given at ECOOP 2010. Maribor, June 24, 2010]
• “Create APIs”
• Library based architectures
• Stack Overﬂow
“Amazon is on record as making changes to production every
11.6 seconds on average in May of 2011.
Facebook releases to production twice a day.
Many Google services see releases multiple times a week,
and almost everything in Google is developed on mainline.”
Jez Humble - The Case for Continuous Delivery
no magical pixie dust that we, or anyone, can sprinkle on
them to suddenly make them scale.”
Adam Wiggins -‐ SQL Databases Don't Scale
• Individuals and interac9ons over processes and tools
• Working so#ware over comprehensive documenta9on
• Customer collabora9on over contract nego9a9on
• Responding to change over following a plan
What is guerrilla programming?
1. Be skep9cal
2. Be insighnul
3. Be bold
Thanks for listening!