SlideShare a Scribd company logo
Elements
Style
The
of
hey hi hello
derek graham @deejaygraham
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
Code?
Code
Review?
Pairing?
I invented that
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
The Elements of Style
Code
Review
The Elements of Style
Pairing
The Elements of Style
The Elements of Style
4 Hard Problems
•Cache Invalidation
•Naming things
•Off-by-one errors
Programming is…
Programming is…
Communicating
Hardest Problem
•Cache Invalidation
•Naming things
•Off-by-one errors
Communication
Why do we write code?
•To communicate with a machine
•To communicate with our customers
•To communicate with ourselves
•To communicate with our team
•To communicate with the future…
“Always wanted to travel back in time
to fight a younger version of yourself?
Software development is the career
for you!”
@Loh
Edsger Dijkstra
"If you want more effective
programmers, you will
discover that they should not
waste their time debugging,
they should not introduce
the bugs tostartwith."
Style ?
Collaborative Styles
• Individual
• Swarming
• Pairing
• Strong Pairing
• Mob Programming
The Elements of Style
The Elements of Style
The Elements of Style
10 Write Code
20 Ask for Review
30 If Review Goto 40
30 Goto 20
40 Receive Feedback
50 Goto 10
Pair<dev, dev>
The Elements of Style
Navigator Driver
Driver
Navigator
“I have an idea,
giveme
the keyboard”
Swarming
The Elements of Style
C#
JSON
Test Script
DB Admin
HTML Deploy Script
– Our Team
“Swarming … is the first
time we’ve felt like a
genuine team instead of
individuals all working for
the same manager.”
Mob
Programming
The Elements of Style
–Woody Zuill
“All the brilliant people,
working on the same thing,
at the same time,
in the same space,
and at the same computer.”
coding&
design&
testing&
deployment
!Mob
Strong Style
Pairing
<strong>
</strong>
*reconstruction
The Elements of Style
“I have an idea,
give me
the keyboard…”
“I have an idea,
pleasetake
the keyboard…”
The Elements of Style
If you have
the keyboard,
you can’t have
the ideas
Why ?
Pairing
Do you ever
have bugs?
The Elements of Style
Do you ever
have typographic
anomalies?
The Elements of Style
The Elements of Style
The Elements of Style
Collective
Code
Ownership
Try Mobbing
Navigator
Navigator
Navigator
Driver/Typist
Navigator Navigator
NavigatorDriver/Typist
The Elements of Style
<strong>
</strong>
If your code is valuable
enough for someone to
use, it's valuable enough
for them to be upset
when it stops working.
https://ti.to/ne-bytes/november-2019-ne-bytes
•@deejaygraham
•deejaygraham@icloud.com
•deejaygraham.github.io
The Elements of Style

More Related Content

PPTX
Software Craftsmanship and Agile Code Games
Mike Clement
 
PPTX
Play to Learn: Agile Games with Cards and Dice
Mike Clement
 
PDF
Mob Programming for Continuous Learning
Mike Clement
 
PPTX
Code Katas Spring 2012
Mike Clement
 
PPTX
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
lisacrispin
 
PDF
Conceptual understanding in development
Sebastian Helzle
 
PPTX
Taming scary production code that nobody wants to touch
Mike Clement
 
KEY
Community and Github: 7/27/2011
Andy Lester
 
Software Craftsmanship and Agile Code Games
Mike Clement
 
Play to Learn: Agile Games with Cards and Dice
Mike Clement
 
Mob Programming for Continuous Learning
Mike Clement
 
Code Katas Spring 2012
Mike Clement
 
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
lisacrispin
 
Conceptual understanding in development
Sebastian Helzle
 
Taming scary production code that nobody wants to touch
Mike Clement
 
Community and Github: 7/27/2011
Andy Lester
 

Similar to The Elements of Style (20)

PPTX
SubmitJS: Is react + redux + typescript a good combination? Dmytro Beseda
Binary Studio
 
PDF
The Art Of Pair Programming
Todd Merritt
 
PDF
Married to the Mob (programming)
Derek Graham
 
PPTX
WeActuallyBuildStuff - Extreme Programming Live
Johannes Brodwall
 
PPTX
Distributed teams - it takes two to tango
Mille Bessö
 
PPTX
Coding Introductory Lesson Upper Elementary
Brittany Pike
 
PDF
Code Quality Makes Your Job Easier
Tonya Mork
 
ZIP
Introduction to software craftsmanship
Alexandru Bolboaca
 
PDF
Getting started with dev tools (05 09-17, santa monica) upload
Thinkful
 
PPTX
2013 09-11 java zone - extreme programming live
Johannes Brodwall
 
PDF
15 Experts on the Art of JavaScript Programming
FusionCharts
 
PDF
Friday final test
bcoder
 
PDF
It is a sunny day
bcoder
 
PDF
Introducing Pair Programming
Steven Smith
 
KEY
Becoming a Web Design Champion
Meagan Fisher
 
PDF
Hasan: Whats preventing me to write nearly accurate code
SQABD
 
PPTX
Computer programming
Sujay Raj
 
PDF
Code quality as a built-in process
Elad Maimon
 
PDF
Girl develop It Orlando HTML Remix
Holly Akers
 
PDF
Understand front end developer
Hsuan Fu Lien
 
SubmitJS: Is react + redux + typescript a good combination? Dmytro Beseda
Binary Studio
 
The Art Of Pair Programming
Todd Merritt
 
Married to the Mob (programming)
Derek Graham
 
WeActuallyBuildStuff - Extreme Programming Live
Johannes Brodwall
 
Distributed teams - it takes two to tango
Mille Bessö
 
Coding Introductory Lesson Upper Elementary
Brittany Pike
 
Code Quality Makes Your Job Easier
Tonya Mork
 
Introduction to software craftsmanship
Alexandru Bolboaca
 
Getting started with dev tools (05 09-17, santa monica) upload
Thinkful
 
2013 09-11 java zone - extreme programming live
Johannes Brodwall
 
15 Experts on the Art of JavaScript Programming
FusionCharts
 
Friday final test
bcoder
 
It is a sunny day
bcoder
 
Introducing Pair Programming
Steven Smith
 
Becoming a Web Design Champion
Meagan Fisher
 
Hasan: Whats preventing me to write nearly accurate code
SQABD
 
Computer programming
Sujay Raj
 
Code quality as a built-in process
Elad Maimon
 
Girl develop It Orlando HTML Remix
Holly Akers
 
Understand front end developer
Hsuan Fu Lien
 
Ad

More from Derek Graham (12)

PDF
Presentation: Help! I've Fallen and I Can't Get Up
Derek Graham
 
PDF
Testing at Both Ends of the Triangle.
Derek Graham
 
PDF
Testing at Both Ends of the Triangle
Derek Graham
 
PDF
How to be Psychic
Derek Graham
 
PDF
no SOLID evidence
Derek Graham
 
PDF
The Elements of Style
Derek Graham
 
PDF
physical computing
Derek Graham
 
PDF
Married to the Mob (programming)
Derek Graham
 
PDF
How Do I Unix
Derek Graham
 
PDF
Adventures in Azure Machine Learning from NE Bytes
Derek Graham
 
PDF
Sketchnotes from DDD North 2015
Derek Graham
 
PDF
Sketchnoting for Developers at DDD North 2015
Derek Graham
 
Presentation: Help! I've Fallen and I Can't Get Up
Derek Graham
 
Testing at Both Ends of the Triangle.
Derek Graham
 
Testing at Both Ends of the Triangle
Derek Graham
 
How to be Psychic
Derek Graham
 
no SOLID evidence
Derek Graham
 
The Elements of Style
Derek Graham
 
physical computing
Derek Graham
 
Married to the Mob (programming)
Derek Graham
 
How Do I Unix
Derek Graham
 
Adventures in Azure Machine Learning from NE Bytes
Derek Graham
 
Sketchnotes from DDD North 2015
Derek Graham
 
Sketchnoting for Developers at DDD North 2015
Derek Graham
 
Ad

Recently uploaded (20)

PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Software Development Methodologies in 2025
KodekX
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
The Future of Artificial Intelligence (AI)
Mukul
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 

The Elements of Style