choose-boring-technology
choose-boring-technology
choose-boring-technology
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Choose Boring Technology@mcfunleymcfunley.com
Introductions
File Photo
1998200320072015
Mature Engineering Spoils You
How do you <strong>choose</strong><strong>technology</strong>?
$ choices=(mysql postgres mongodb redis)$ brew install ${choices[$RANDOM % 4]}
How do you makedevelopers happy?
The answer for many:chase shiny objects.
I’ve been there.
Shakespeareansonnets.Eating,pooping, etc.
“Does this productmake sense?”“How aboutMongoDB?”
Source: “Time Travel in Primer”Wikipedia
Attention is precious.
INNOVATION TOKENS
220
Epistemology
(I’m not a fan of this guy.)
There are known unknowns,and there areunknown unknowns.
“We don’t know what happens whenthe primary is isolated due to anetwork partition.
“We didn’t realizethat writing statscould cause GCpauses.http://www.evanjones.ca/jvm-mmap-pause-finding.html
Known unknownUnknown unknown
Boring tech.New, shiny tech.
The failure modes of <strong>boring</strong><strong>technology</strong> are well-understood.
Optimize globally.
Polyglot programming(artist’s conception)
What’s happeninghere?
The short-term benefits of using a“costsnew database exceed the long-termof operating it.~You, implicitly, and notat your most lucid.
We can formalize this.
We can formalize this.(Sorta.)
ProblemsTechnology
ProblemsTechnology
Choices incur costs, andconfer benefits.ProblemsTechnology
Problems+benefitTechnology+cost
Problems+benefitTechnology+benefit+cost
Problems+benefitTechnology+cost+benefit+cost
total cost = Σ(tech cost) - Σ(velocity benefit)
Which term dominates?total cost = Σ(tech cost) - Σ(velocity benefit)
ProblemsTechnology
If the cost per tech is cheap,you can use many different techs.ProblemsTechnology
ProblemsTechnology
If each tech is expensive,you should pick a few.ProblemsTechnology
OBSERVATIONtech choices are expensive.
IN THE REALITY WE INHABIT,THIS TERM DOMINATES!!!total cost = Σ(tech cost) - Σ(velocity benefit)
ProblemsTechnology
Production is hard.
logginghealth checkalertingswitching costpackagemanagersOMGdeploymentunit testinginit scriptsbackupsoperationaltrainingsecuritymetricsrestoresscalingupgrades
“A l'exemple de Saturne, la révolutiondévore ses enfants”
SynergyNot just for jerks.
Then, we worked onother things for years.
Meanwhile, usage increased 2,000%usage****s given
The stack was scaled by others,for unrelated reasons.
Our team would have beenon the hook for scaling Redis.
SomeoneOur team would have beenon the hook for scaling Redis.
This is not absolutism.
Choose exciting<strong>technology</strong>?
Technology has global importance.Talk to each other!Adding tech
ecount
Ask how you would solve theproblem with the existing stack.
Hey I just heard about this new“shouldgraph database. I think that wetry it out.~Someone who is about tohave a bad time.
Enumerate unnaturalacts.
Find low-risk ways toget started.
Commit to removing theold, redundant system.
In closing
Use proven<strong>technology</strong>.
220
Choose a fewglobally optimaltechnologies.
Master your tools.
KinksTime
Kinks“Let’s switch”Time
Kinks“Let’s switch”MasteryTime
Beware green grass.
good stuff
good stuffpain points
paingood stuffpoints
????
Have a process.
“Which product?”“Whichdatabase?
Happiness comes fromshipping meaningful work.
mcfunley@gmail.commcfunley.com@mcfunley