SlideShare a Scribd company logo
Greenfield Effect
Patterns for effective disaster delivery
1978 - 1985: hole in the ozone layer over Antarctica remained undetected for ~7 years
Root cause: data analysis software used to map the ozone layer had treated correct
records of extreme values as measurement errors and ignored them.
I’ma be progrmr!
I’ma be progrmr! I’m dumb!
got a job on
brownfield
I’ma be progrmr! I’m dumb!
got a job on
brownfield
starts understanding
the code
mother of god!
I’ma be progrmr! I’m dumb!
got a job on
brownfield
starts understanding
the code
mother of god!
F. this job!!
goes to Conference and hears
about all the cool new tech
I’ma be progrmr! I’m dumb!
got a job on
brownfield
starts understanding
the code
mother of god!
F. this job!!
goes to Conference and hears
about all the cool new tech
hired as first engineer at greenfield
writes crappy code others will have to maintain
YAY!
Why is it even bad?
Why is it even bad?
Why is it even bad?
Greenfield
Effect
Why is it even bad?
Greenfield
Effect
Greenfield
Effect
Greenfield
Effect
Again, why is it bad?
● Lost money
● Technology advancement slowdown
● Work becomes miserable, depression
● Bad opinion about our profession
● Software-induced disaster where people die
● ^^ already happened, but the bodycount will grow
Therac-25
Because of a side effect of the buggy
software powering the device, number
of patients received up to 100 times
the intended dose, and at least three
of them died as a direct result of the
radiation overdose.
source: royal.pingdom.com
Ariane 5
The rocket delivering satellite payload self-
destructed 37 seconds after launch. The
problem was the result of code reuse from
the launch system’s predecessor, Ariane 4,
which had very different flight conditions
from Ariane 5. More than $370 million
were lost due to this error.
Casting float to integer!!!
source: royal.pingdom.com
There is more
1980: NORAD reported that the US was under missile attack. The problem was caused
by a faulty circuit, a possibility the reporting software hadn’t taken into account.
2003: The glitch in St. Mary’s Mercy Medical’s patient management system notified
Social Security, insurance companies, and the families, of demises of 8500 living
patients.
2012: Knight Capital Group’s trading algorithms activated legacy system and decided
to buy high and sell low on 150 different stocks. $440 million lost in 30 minutes.
[page 1 of 100]
There is more
1991: Patriot battery at Dhahran failed to track and intercept a Scud missile due to a
software problem in the system's weapons control compute. 28 killed.
2003: blackout across eight US states and Canada affected 50 million people. Race
condition in the code caused 256 power plants to go offline.
2011: Due to a mistake in its computer programming, California gave “non-revocable”
preference to approximately 450 violent offenders, who were released and did not
have to report to a parole officer.
“If you want to deliver faster,
just hire more engineers”
“If you want to deliver faster,
just hire more engineers”
-- some idiot PM
“If you want to deliver faster,
just hire more engineers”
-- some idiot PM
-- and 1000 others
hack_it -> release_it -> die
-- 99% of startups
hack_it -> release_it -> sell_it -> make money
-- Remaining 1%
Business at scale 101
hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money-> ...
Business at scale 101
hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it-
>release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it-
>release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money-> ...
Business at scale 101
hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it-
>release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it-
>release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it-
>release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money-
>hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it-
>make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it-
>sell_it->make_money->
2 years later
2 years later
Worst diseases are the ones that
can stay unnoticed for a long time.
Also, everybody lies.
Technical Debt
The Wrong Metaphor
“This sprint we are planning to incur 10% of technical debt.”
nobody, ever
ONE DOES NOT SIMPLY
DECIDE TO PRODUCE TECH
DEBT
Tech debt is JUST a metaphor
BAD metaphor
Monetary debt is fully quantifiable
Tech debt is NOT quantifiable.
We need to start addressing tech debt
Why?
Cuz the code is in terrible condition
How’s that? You wrote it
We had no time to write it clean
How much time do you need?
dunno
solutions
Greenfield version:
write clean code and don’t talk about tech-debt
Brownfield version:
measure the $#!t out of codebase before you open your mouth
… and then use the numbers to get the buy in
… but don’t take it too seriously
I need tools
lots of tools
Docker Redis Mongo Couch Azure Lightbend Ribbon Chef VertX TSDB Slack AWS
Spring Gradle Serf Selenium Asgard ZeroMQ AppDynamics Elk Hystrix OpenStack
Ignite Ansible Splunk Google Cloud Cassandra Mesos Neo4j Gerrit Sonarqube Iron.io
Pagerduty Bugsnag Papertrail Sumologic Mixpanel Slack Logstash Mongo Rackspace
TeamCity Jenkins Zookeper Spark Hadoop Zuul Kafka Nginx Vault Eclipse Artifactory
Riak Packer Terraform Jrebel BigTable Hazelcast Ganglia Puppet RabbitMQ Consul
Vagrant Terracotta Crucible Heroku Cloud Foundry Atlas NewRelic Gatling Graphana
Flare Keyspace RAMCloud SchemaFree KAI KDI OpenNeptune Qbase AllegroGraph
ArangoDB InfiniteGraph Giraph MarkLogic Neo4J OrientDB Virtuoso Actord
FoundationDB InfinityDB Lightcloud LMDB Luxio MemcacheDB NMDB Scalaris
TokyoTyrant ZeroMQ Kestrel Kubernetes DCOS CloudFoundry GraphQL ReactNative
Programmer
An organism that turns caffeine into software
Makes you feel absolutely awesome even if the true state of your
body is catastrophic.
Side effects of cocaine intake
Permanent damage to blood vessels of heart and
brain
High blood pressure, leading to heart attacks, strokes
Liver, kidney and lung damage
Destruction of tissues in nose
Respiratory failure if smoked
Infectious diseases and abscesses if injected
Malnutrition, weight loss
Severe tooth decay
Auditory and tactile hallucinations
Sexual problems, reproductive damage and infertility
Disorientation, apathy, confused exhaustion
Irritability and mood disturbances
Increased frequency of risky behavior
Delirium or psychosis
Severe depression
Cocaine Tools
● if your deployment is too complicated to be scripted in bash…
● if your logs are too tangled to be analyzed with grep…
● if your code is too complex to navigate with vim…
● if your infrastructure is too sophisticated to be managed as VMs…
● if your data is too intricate to define its schema…
● if your business logic is too fluid to be constrained with types…
No tool
Bad tool
Good tool
Solutions
● Prefer not use frameworks
● Rely on core language features
● Be boring with your tools and extra boring with platforms
● Always do buy vs build analysis
● IDE is for coding
10x
developer
software’s own superparasite
Never completes the task
others have to complete it
Introduces tech debt
others need to pay it off
Introduces bugs
others have to fix them
Never follows up when code is live
others have to follow up
The Real 10x Developer
There are no 10x devs.
There are only 0.1x devs.
0.1 dev /nɔ:t pɔɪnt wʌn dəv/
A developer who works on a team with a “10x developer”
Solutions
● Standards + knowledge
● Call out bad practices
● Definition of done
● High truck factor
● Mandated mentoring and learning
● Pair programming
● Measure productivity of TEAMS not INDIVIDUALS
How to become a 9x developer
● Pareto rule: 90% of the work takes 10% of the time
● Identify what constitutes the 90% of work
● Work only on that ^^
● Let others work on the remaining 10%
● You will be 9 times more productive than others
● I don’t know how to become 10x :(
Todo: global problem
Like global warming
Its everyones problem
To fix it everyone has to work together
Nobody has incentive to work on it individually
The Good
Reader
Or the Evil of Trying to Help
Source: www.reddit.com/r/shittyprogramming/comments/3fjzx2/epic_nesting/
Source: www.reddit.com/r/shittyprogramming/comments/3fjzx2/epic_nesting/
A Good Reader
● doesn’t care what is read
● doesn’t care about the intent of the code
● cares only about the effect of the code
● covers up for Bad Writer
● prevents tech debt from emerging
● makes everyone think ths s#!t is simple
Good Listener Analogy
● You are at the meeting
● Someone uses heavy jargon you don’t understand
● But you do not stop him to explain the terms
● Because nobody else does, so they must know it all
● So you feel a little bit dumb
● But you keep your mouth shut
● You don’t know this but…
● everyone else in the room feels the same way
solutions
Learn to say this in public:
“I don’t understand”
solutions
You have the right to refuse reading crap
You have the right to rewrite that
Be a whistleblower
It pays off
Oh really?
Dunning Kruger Halo
those who don’t know they don’t know
Unskilled persons suffer illusory superiority, mistakenly
assessing their ability to be much higher than it really is.
Which developer would you hire
Physical attractiveness gives people a HALO effect whereby
others are more likely to trust them and think of them as smarter
and more talented.
Fancy title, eloquent speaking, years of experience
Attractive/hipster look, thick glasses, grey hair, male (WTF!?)
Fame, wrote books, spoke at conferences
Halo Effect
Dunning Kruger Effect + Halo Effect
=
People Who Don’t Know What They’re Doing
And Everyone Listens to Them
Waz wrong wit
dat?
“I’ve coded this system with my bare hands.
I’ve been in the business longer than you live.
How can you tell me how to do programming!?”
“I’ve coded this system with my bare hands.
I’ve been in the business longer than you live.
How can you tell me how to do programming!?”
--VP of Engineering
--Chief Technology Officer
--Principal Architect
--That person whose beard is longer than yours
Why is it bad?
● Bad decisions picked over good ones
● Everyone has best intentions, this still happens
● No halo - no career #inequality
solutions
there is no concept of mercy in technical discussions
Success
The Managerial Cocaine
● It acquires random companies
● It hires legions of people
● It engages in projects with no ROI
● It creates departments
● It searches for ways to spend
● It doesn’t care about costs
When the company is successful
● It cuts unneeded positions
● It optimizes processes
● It focuses on projects that bring value
● It dumps unneeded products
● It cares deeply about costs
When the company is fighting for survival
What if tomorrow…
we had to cut our engineering by
half?
There is no symmetry
scaling up scaling
down
solutions
Act like you would if you were broke.
Be the Ebendezer Scrooge of software engineering.
WORD
Stockholm Syndrome
How I learned to love the mess
“We went through hell to build it.
Why would we want to abandon it”
--A person held hostage by his project
Sunk Cost Fallacy
Why use third party bug tracking system? We’ve written our own and have a
whole team maintaining it.
Could use that OS tool for cluster management. Could also use one our
company built internally. But we’ll use the one that smart colleague on our
team has written two years ago, cuz he’s done so much work on it.
We got 10M LOC in C++. We can’t just throw it away and start writing in
Java!
solutions
Code is not an asset, it is a liability
The more code we maintain,
the less we can deliver
Julian’s Hate Cycle
Like Gartner’s, but better
“All evidence points to OOP being bullshit”
“Why OO Sucks”
“Ten Things I Hate About Object-Oriented Programming”
“Object-Relational Mapping is the Vietnam of Computer Science”
“ORM - the Killer of Scalability”
“Java Sucks”
“Why is Java a bad language?”
don’t put this stuff in your resume
so
much
such
very
wow
rebrand repackage reinvent
Are we doomed?
perhaps...
#scepticism
#learning
#cleanCode
#understandbusiness
#scientificmethod
about me
fintech is my battleground
LendUp is the best startup
spits sarcasm at @hundredmondays
We are privileged with choice.
Let’s choose work that matters.

More Related Content

Similar to Greenfield Effect: Patterns for Effective Disaster Delivery

Notes on Simulation and GHDL
Notes on Simulation and GHDLNotes on Simulation and GHDL
Notes on Simulation and GHDLDIlawar Singh
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
Career options in Artificial Intelligence : 2020
Career options in Artificial Intelligence : 2020Career options in Artificial Intelligence : 2020
Career options in Artificial Intelligence : 2020
Venkatarangan Thirumalai
 
Spark meetup london share and analyse genomic data at scale with spark, adam...
Spark meetup london  share and analyse genomic data at scale with spark, adam...Spark meetup london  share and analyse genomic data at scale with spark, adam...
Spark meetup london share and analyse genomic data at scale with spark, adam...
Andy Petrella
 
Lufthansa Technik TECH TALK
Lufthansa Technik TECH TALKLufthansa Technik TECH TALK
Lufthansa Technik TECH TALK
Paul Saunders
 
Machine Learning for dummies!
Machine Learning for dummies!Machine Learning for dummies!
Machine Learning for dummies!
ZOLLHOF - Tech Incubator
 
Identify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea FlowIdentify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea Flow
TechWell
 
Meaghan technology report
Meaghan technology reportMeaghan technology report
Meaghan technology report
Marq2014
 
Opsec for security researchers
Opsec for security researchersOpsec for security researchers
Opsec for security researchers
vicenteDiaz_KL
 
Dec2018 istanbul-2
Dec2018 istanbul-2Dec2018 istanbul-2
Dec2018 istanbul-2
Chris Roberts
 
Rental Cars and Industrialized Learning to Rank with Sean Downes
Rental Cars and Industrialized Learning to Rank with Sean DownesRental Cars and Industrialized Learning to Rank with Sean Downes
Rental Cars and Industrialized Learning to Rank with Sean Downes
Databricks
 
Big data veracity challenges
Big data veracity challengesBig data veracity challenges
Big data veracity challenges
Prayukth K V
 
Win#23 it
Win#23 itWin#23 it
Win#23 it
Olivier Marechal
 
The IoT For Real
The IoT For Real The IoT For Real
The IoT For Real
University of Hertfordshire
 
Art Hathaway - Artificial Intelligence - Real Threat Prevention
Art Hathaway - Artificial Intelligence - Real Threat PreventionArt Hathaway - Artificial Intelligence - Real Threat Prevention
Art Hathaway - Artificial Intelligence - Real Threat Prevention
centralohioissa
 
Recent developments in data analytics and big data
Recent developments in data analytics and big dataRecent developments in data analytics and big data
Recent developments in data analytics and big data
Dez Blanchfield
 
Moving beyond Vulnerability Testing
Moving beyond Vulnerability TestingMoving beyond Vulnerability Testing
Moving beyond Vulnerability Testing
Capgemini
 
The Ever So Slighty Geeky Quiz With Maybe
The Ever So Slighty Geeky Quiz With MaybeThe Ever So Slighty Geeky Quiz With Maybe
The Ever So Slighty Geeky Quiz With Maybe
Amanda Jackson
 
Tablets - is aviation ready for the post-pc era?
Tablets - is aviation ready for the post-pc era?Tablets - is aviation ready for the post-pc era?
Tablets - is aviation ready for the post-pc era?
Paul Saunders
 
It Exercises
It ExercisesIt Exercises
It Exercises
guest29c0535
 

Similar to Greenfield Effect: Patterns for Effective Disaster Delivery (20)

Notes on Simulation and GHDL
Notes on Simulation and GHDLNotes on Simulation and GHDL
Notes on Simulation and GHDL
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Career options in Artificial Intelligence : 2020
Career options in Artificial Intelligence : 2020Career options in Artificial Intelligence : 2020
Career options in Artificial Intelligence : 2020
 
Spark meetup london share and analyse genomic data at scale with spark, adam...
Spark meetup london  share and analyse genomic data at scale with spark, adam...Spark meetup london  share and analyse genomic data at scale with spark, adam...
Spark meetup london share and analyse genomic data at scale with spark, adam...
 
Lufthansa Technik TECH TALK
Lufthansa Technik TECH TALKLufthansa Technik TECH TALK
Lufthansa Technik TECH TALK
 
Machine Learning for dummies!
Machine Learning for dummies!Machine Learning for dummies!
Machine Learning for dummies!
 
Identify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea FlowIdentify Development Pains and Resolve Them with Idea Flow
Identify Development Pains and Resolve Them with Idea Flow
 
Meaghan technology report
Meaghan technology reportMeaghan technology report
Meaghan technology report
 
Opsec for security researchers
Opsec for security researchersOpsec for security researchers
Opsec for security researchers
 
Dec2018 istanbul-2
Dec2018 istanbul-2Dec2018 istanbul-2
Dec2018 istanbul-2
 
Rental Cars and Industrialized Learning to Rank with Sean Downes
Rental Cars and Industrialized Learning to Rank with Sean DownesRental Cars and Industrialized Learning to Rank with Sean Downes
Rental Cars and Industrialized Learning to Rank with Sean Downes
 
Big data veracity challenges
Big data veracity challengesBig data veracity challenges
Big data veracity challenges
 
Win#23 it
Win#23 itWin#23 it
Win#23 it
 
The IoT For Real
The IoT For Real The IoT For Real
The IoT For Real
 
Art Hathaway - Artificial Intelligence - Real Threat Prevention
Art Hathaway - Artificial Intelligence - Real Threat PreventionArt Hathaway - Artificial Intelligence - Real Threat Prevention
Art Hathaway - Artificial Intelligence - Real Threat Prevention
 
Recent developments in data analytics and big data
Recent developments in data analytics and big dataRecent developments in data analytics and big data
Recent developments in data analytics and big data
 
Moving beyond Vulnerability Testing
Moving beyond Vulnerability TestingMoving beyond Vulnerability Testing
Moving beyond Vulnerability Testing
 
The Ever So Slighty Geeky Quiz With Maybe
The Ever So Slighty Geeky Quiz With MaybeThe Ever So Slighty Geeky Quiz With Maybe
The Ever So Slighty Geeky Quiz With Maybe
 
Tablets - is aviation ready for the post-pc era?
Tablets - is aviation ready for the post-pc era?Tablets - is aviation ready for the post-pc era?
Tablets - is aviation ready for the post-pc era?
 
It Exercises
It ExercisesIt Exercises
It Exercises
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 

Greenfield Effect: Patterns for Effective Disaster Delivery

  • 1. Greenfield Effect Patterns for effective disaster delivery
  • 2.
  • 3. 1978 - 1985: hole in the ozone layer over Antarctica remained undetected for ~7 years Root cause: data analysis software used to map the ozone layer had treated correct records of extreme values as measurement errors and ignored them.
  • 5. I’ma be progrmr! I’m dumb! got a job on brownfield
  • 6. I’ma be progrmr! I’m dumb! got a job on brownfield starts understanding the code mother of god!
  • 7. I’ma be progrmr! I’m dumb! got a job on brownfield starts understanding the code mother of god! F. this job!! goes to Conference and hears about all the cool new tech
  • 8. I’ma be progrmr! I’m dumb! got a job on brownfield starts understanding the code mother of god! F. this job!! goes to Conference and hears about all the cool new tech hired as first engineer at greenfield writes crappy code others will have to maintain YAY!
  • 9. Why is it even bad?
  • 10. Why is it even bad?
  • 11. Why is it even bad? Greenfield Effect
  • 12. Why is it even bad? Greenfield Effect Greenfield Effect Greenfield Effect
  • 13. Again, why is it bad? ● Lost money ● Technology advancement slowdown ● Work becomes miserable, depression ● Bad opinion about our profession ● Software-induced disaster where people die ● ^^ already happened, but the bodycount will grow
  • 14. Therac-25 Because of a side effect of the buggy software powering the device, number of patients received up to 100 times the intended dose, and at least three of them died as a direct result of the radiation overdose. source: royal.pingdom.com
  • 15. Ariane 5 The rocket delivering satellite payload self- destructed 37 seconds after launch. The problem was the result of code reuse from the launch system’s predecessor, Ariane 4, which had very different flight conditions from Ariane 5. More than $370 million were lost due to this error. Casting float to integer!!! source: royal.pingdom.com
  • 16. There is more 1980: NORAD reported that the US was under missile attack. The problem was caused by a faulty circuit, a possibility the reporting software hadn’t taken into account. 2003: The glitch in St. Mary’s Mercy Medical’s patient management system notified Social Security, insurance companies, and the families, of demises of 8500 living patients. 2012: Knight Capital Group’s trading algorithms activated legacy system and decided to buy high and sell low on 150 different stocks. $440 million lost in 30 minutes. [page 1 of 100]
  • 17. There is more 1991: Patriot battery at Dhahran failed to track and intercept a Scud missile due to a software problem in the system's weapons control compute. 28 killed. 2003: blackout across eight US states and Canada affected 50 million people. Race condition in the code caused 256 power plants to go offline. 2011: Due to a mistake in its computer programming, California gave “non-revocable” preference to approximately 450 violent offenders, who were released and did not have to report to a parole officer.
  • 18. “If you want to deliver faster, just hire more engineers”
  • 19. “If you want to deliver faster, just hire more engineers” -- some idiot PM
  • 20. “If you want to deliver faster, just hire more engineers” -- some idiot PM -- and 1000 others
  • 21. hack_it -> release_it -> die -- 99% of startups
  • 22. hack_it -> release_it -> sell_it -> make money -- Remaining 1%
  • 23. Business at scale 101 hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money-> ...
  • 24. Business at scale 101 hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it- >release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it- >release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money-> ...
  • 25. Business at scale 101 hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it- >release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it- >release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it- >release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money- >hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it- >make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it->sell_it->make_money->hack_it->release_it- >sell_it->make_money->
  • 28. Worst diseases are the ones that can stay unnoticed for a long time. Also, everybody lies.
  • 30.
  • 31. “This sprint we are planning to incur 10% of technical debt.” nobody, ever
  • 32. ONE DOES NOT SIMPLY DECIDE TO PRODUCE TECH DEBT
  • 33. Tech debt is JUST a metaphor BAD metaphor Monetary debt is fully quantifiable Tech debt is NOT quantifiable.
  • 34. We need to start addressing tech debt Why? Cuz the code is in terrible condition How’s that? You wrote it We had no time to write it clean How much time do you need? dunno
  • 35. solutions Greenfield version: write clean code and don’t talk about tech-debt Brownfield version: measure the $#!t out of codebase before you open your mouth … and then use the numbers to get the buy in … but don’t take it too seriously
  • 36. I need tools lots of tools
  • 37. Docker Redis Mongo Couch Azure Lightbend Ribbon Chef VertX TSDB Slack AWS Spring Gradle Serf Selenium Asgard ZeroMQ AppDynamics Elk Hystrix OpenStack Ignite Ansible Splunk Google Cloud Cassandra Mesos Neo4j Gerrit Sonarqube Iron.io Pagerduty Bugsnag Papertrail Sumologic Mixpanel Slack Logstash Mongo Rackspace TeamCity Jenkins Zookeper Spark Hadoop Zuul Kafka Nginx Vault Eclipse Artifactory Riak Packer Terraform Jrebel BigTable Hazelcast Ganglia Puppet RabbitMQ Consul Vagrant Terracotta Crucible Heroku Cloud Foundry Atlas NewRelic Gatling Graphana Flare Keyspace RAMCloud SchemaFree KAI KDI OpenNeptune Qbase AllegroGraph ArangoDB InfiniteGraph Giraph MarkLogic Neo4J OrientDB Virtuoso Actord FoundationDB InfinityDB Lightcloud LMDB Luxio MemcacheDB NMDB Scalaris TokyoTyrant ZeroMQ Kestrel Kubernetes DCOS CloudFoundry GraphQL ReactNative
  • 38.
  • 39. Programmer An organism that turns caffeine into software
  • 40.
  • 41. Makes you feel absolutely awesome even if the true state of your body is catastrophic.
  • 42. Side effects of cocaine intake Permanent damage to blood vessels of heart and brain High blood pressure, leading to heart attacks, strokes Liver, kidney and lung damage Destruction of tissues in nose Respiratory failure if smoked Infectious diseases and abscesses if injected Malnutrition, weight loss Severe tooth decay Auditory and tactile hallucinations Sexual problems, reproductive damage and infertility Disorientation, apathy, confused exhaustion Irritability and mood disturbances Increased frequency of risky behavior Delirium or psychosis Severe depression
  • 43. Cocaine Tools ● if your deployment is too complicated to be scripted in bash… ● if your logs are too tangled to be analyzed with grep… ● if your code is too complex to navigate with vim… ● if your infrastructure is too sophisticated to be managed as VMs… ● if your data is too intricate to define its schema… ● if your business logic is too fluid to be constrained with types…
  • 47. Solutions ● Prefer not use frameworks ● Rely on core language features ● Be boring with your tools and extra boring with platforms ● Always do buy vs build analysis ● IDE is for coding
  • 49. Never completes the task others have to complete it Introduces tech debt others need to pay it off Introduces bugs others have to fix them Never follows up when code is live others have to follow up The Real 10x Developer
  • 50. There are no 10x devs. There are only 0.1x devs.
  • 51. 0.1 dev /nɔ:t pɔɪnt wʌn dəv/ A developer who works on a team with a “10x developer”
  • 52. Solutions ● Standards + knowledge ● Call out bad practices ● Definition of done ● High truck factor ● Mandated mentoring and learning ● Pair programming ● Measure productivity of TEAMS not INDIVIDUALS
  • 53. How to become a 9x developer ● Pareto rule: 90% of the work takes 10% of the time ● Identify what constitutes the 90% of work ● Work only on that ^^ ● Let others work on the remaining 10% ● You will be 9 times more productive than others ● I don’t know how to become 10x :(
  • 54. Todo: global problem Like global warming Its everyones problem To fix it everyone has to work together Nobody has incentive to work on it individually
  • 55. The Good Reader Or the Evil of Trying to Help
  • 58. A Good Reader ● doesn’t care what is read ● doesn’t care about the intent of the code ● cares only about the effect of the code ● covers up for Bad Writer ● prevents tech debt from emerging ● makes everyone think ths s#!t is simple
  • 59. Good Listener Analogy ● You are at the meeting ● Someone uses heavy jargon you don’t understand ● But you do not stop him to explain the terms ● Because nobody else does, so they must know it all ● So you feel a little bit dumb ● But you keep your mouth shut ● You don’t know this but… ● everyone else in the room feels the same way
  • 60. solutions Learn to say this in public: “I don’t understand”
  • 61. solutions You have the right to refuse reading crap You have the right to rewrite that Be a whistleblower It pays off
  • 63. Dunning Kruger Halo those who don’t know they don’t know
  • 64. Unskilled persons suffer illusory superiority, mistakenly assessing their ability to be much higher than it really is.
  • 65.
  • 67. Physical attractiveness gives people a HALO effect whereby others are more likely to trust them and think of them as smarter and more talented. Fancy title, eloquent speaking, years of experience Attractive/hipster look, thick glasses, grey hair, male (WTF!?) Fame, wrote books, spoke at conferences Halo Effect
  • 68. Dunning Kruger Effect + Halo Effect = People Who Don’t Know What They’re Doing And Everyone Listens to Them
  • 70. “I’ve coded this system with my bare hands. I’ve been in the business longer than you live. How can you tell me how to do programming!?”
  • 71. “I’ve coded this system with my bare hands. I’ve been in the business longer than you live. How can you tell me how to do programming!?” --VP of Engineering --Chief Technology Officer --Principal Architect --That person whose beard is longer than yours
  • 72. Why is it bad? ● Bad decisions picked over good ones ● Everyone has best intentions, this still happens ● No halo - no career #inequality
  • 73. solutions there is no concept of mercy in technical discussions
  • 75. ● It acquires random companies ● It hires legions of people ● It engages in projects with no ROI ● It creates departments ● It searches for ways to spend ● It doesn’t care about costs When the company is successful
  • 76. ● It cuts unneeded positions ● It optimizes processes ● It focuses on projects that bring value ● It dumps unneeded products ● It cares deeply about costs When the company is fighting for survival
  • 77. What if tomorrow… we had to cut our engineering by half?
  • 78. There is no symmetry scaling up scaling down
  • 79. solutions Act like you would if you were broke. Be the Ebendezer Scrooge of software engineering.
  • 80. WORD
  • 81. Stockholm Syndrome How I learned to love the mess
  • 82. “We went through hell to build it. Why would we want to abandon it” --A person held hostage by his project
  • 83. Sunk Cost Fallacy Why use third party bug tracking system? We’ve written our own and have a whole team maintaining it. Could use that OS tool for cluster management. Could also use one our company built internally. But we’ll use the one that smart colleague on our team has written two years ago, cuz he’s done so much work on it. We got 10M LOC in C++. We can’t just throw it away and start writing in Java!
  • 84. solutions Code is not an asset, it is a liability The more code we maintain, the less we can deliver
  • 85. Julian’s Hate Cycle Like Gartner’s, but better
  • 86.
  • 87.
  • 88. “All evidence points to OOP being bullshit” “Why OO Sucks” “Ten Things I Hate About Object-Oriented Programming” “Object-Relational Mapping is the Vietnam of Computer Science” “ORM - the Killer of Scalability” “Java Sucks” “Why is Java a bad language?”
  • 89. don’t put this stuff in your resume
  • 92.
  • 93.
  • 94.
  • 95.
  • 102.
  • 103. about me fintech is my battleground LendUp is the best startup spits sarcasm at @hundredmondays We are privileged with choice. Let’s choose work that matters.